애자일로 제품 개발 복잡성 탐색
게시 됨: 2020-10-01최종 업데이트: 2021년 3월 12일
애자일의 필수 불가결성을 인식하는 것과 인식하지 못하는 것의 극명한 차이는 팬데믹의 발발입니다. COVID-19로 인한 새로운 변화의 급류는 기존 시스템을 돌이킬 수 없을 정도로 혼란에 빠뜨렸고 새로운 현실을 탐색하기 위한 기업의 민첩성(또는 민첩성 부족)이 주목을 받았습니다.
"그러나 이 복잡한 세상에서 불확실성은 현실과 불가분의 관계이며, 우연의 사건으로 만들기 위해 저조한 성과를 내는 희생양은 무익할 뿐만 아니라 무모합니다."
거대하긴 하지만, Covid-19 위기는 기업이 극복해야 하는 많은 불확실성 중 하나입니다.
유연한 원칙을 채택하고 필요에 따라 조정하면 기업이 다가오는 불확실성의 충격을 견디고 미연에 방지할 수 있는 내재된 유연성이 생성됩니다.
문화, 사람 및 소프트웨어 개발 프로세스 내의 민첩성은 관료주의적 매듭, 터널 비전 사일로, 진공 작업 및 영구적인 지연에 대한 해독제 역할을 합니다.
조직에 필요한 민첩한 제품 리더가 되십시오.
리더는 민첩한 작업 방식을 채택 하고 진화된 대중 행동을 통해 이를 전보 함으로써 변화를 인식하고 가장 먼저 신호를 보내는 사람이 되어야 합니다 .
"훌륭한 리더는 리드하고, 민첩한 리더는 봉사하려는 의도로 리드합니다."
신뢰, 투명성, 책임, 협업의 가치를 옹호하고 시행착오의 약속을 실현함으로써 소프트웨어 개발 팀의 역량을 강화하고 가치를 창출하는 장애물을 제거하는 데 중점을 둡니다. 서번트 리더십을 배양할 때 애자일 리더는 가장 작은 세부 사항을 세세하게 관리하는 것에서 벗어나 조직과 소통하기 위한 새로운 열린 의사 소통 방법을 개발하고 교차 기능 팀에 자율성을 부여합니다.
가장 효과적인 애자일 리더는 애자일 작업 방식을 반영하기 위해 새로운 행동을 모델로 삼는 사람입니다. 의사 결정, 일상 커뮤니케이션 및 개발 전략에서. 따라서 애자일 소프트웨어 개발 팀과 회사는 존경받는 고객에게 효과적인 서비스를 제공하기 위해 먼 길을 가고 있습니다.
협업적 애자일 개발로 운영의 공백을 대체
사일로에서 일하기; 책상을 치켜세우고 미리 결정된 작업을 따로따로 수행하는 것은 사람을 환상적으로 만듭니다. 정보 사일로에서 탈피한 애자일 제품 개발은 교차 기능 팀을 만들어 응집력 있는 협업에 중점을 둡니다.
이 팀은 도전에 직면하여 적응하고 지속적으로 개선하기 위해 정기적으로 피드백을 통합하고 즉각적인 문제 해결을 통해 추진력을 구축하는 소수의 개인으로 구성됩니다.
이 팀의 특성은 직원이 엄격하게 정의된 직무 역할과 파편화된 정보에 얽매이지 않고 자신의 작업에 대한 소유권과 공동 책임을 행사할 필요성에 내재되어 있습니다.
내부 복잡성은 투명성, 종단 간 책무성, 실행에 중점, 저항과 싸우는 것을 가능하게 하는 교차 협업 문화를 도입함으로써 축소됩니다. 애자일 소프트웨어 개발 은 대기열 지연, 재작업을 제거하고 최단 시간 프레임에 전달을 촉진합니다.
애자일의 역학을 복제하면 팀에서 민첩성이 근절됩니다. 기술에 생명과 의미를 부여하는 것은 애자일의 중요한 원칙입니다.
프로세스에서 자유로운 커뮤니케이션, 고객 만족, 협업을 제거하고 스프린트, 스크럼 및 타임박스를 추진하세요. 민첩성은 팀이 가치를 제공할 수 있도록 지원합니다.
DevOps로 양자 도약: 애자일 방식으로 한 발 앞서
애자일을 올바르게 하는 것은 회사 성장에 있어 천문학적인 발전을 약속합니다. 이러한 약속을 활용하는 것이 DevOps이며, 이 채택은 더 빠르고 안정적이며 안전하며 반복적인 릴리스 주기를 위해 애자일 소프트웨어 개발 프로세스를 강화하는 핵심 가속기입니다.
많은 기업이 자동화된 테스트, 지속적인 소프트웨어 개발 및 릴리스와 같은 장소에 몇 가지 요소를 배치하여 DevOps의 이점을 절반만 수확하고 있습니다. 그러나 수동적 접근 방식과 전체적인 변경을 꺼리는 것은 DevOps의 모든 것을 포괄하는 이점을 포착하는 데 걸림돌입니다.
제어 및 거버넌스, 사업부, 운영 모델의 헌법적 변경은 DevOps를 시작하고 진행하기 위한 전제 조건입니다.
DevOps 패러다임에서는 비즈니스 요구 사항의 변동성을 해결하기 위해 한때 회사의 목적을 달성했지만 이제는 쓸모없고 운영을 감속하는 관련 없는 소프트웨어 제어가 조정됩니다.
DevOps가 리듬을 찾으려면 소프트웨어 개발, 거버넌스 조정 및 다른 부서 간의 호환성 모드를 동시에 실행하는 교향곡이 있어야 합니다. 신뢰성이나 품질 문제를 수용하지 않고 소프트웨어 계획과 릴리스 사이의 거리를 줄이는 단순한 목적으로 향해야 합니다.
기업이 DevOps에서 최적의 이점을 얻으려면 자동화를 채택하고 도입하여 건전한 지속적 제공 파이프라인을 활성화하여 신속한 소프트웨어 릴리스와 반복적인 개선을 이끌어내야 합니다.
“2010년에 Agile DevOps로 전환한 Amazon의 성공은 가동 중단 횟수를 크게 줄여 수백만 달러를 절약했습니다. 개발자가 항상 모든 서버에 코드를 배포할 수 있도록 지원하는 Apollo라는 내부 시스템에서 관리하는 지속적인 배포 프로세스의 이점을 포착했습니다. 1년 이내에 Amazon은 평균 11.6초마다 프로덕션 서버에 새로운 소프트웨어를 배포했습니다.”
DevOps로 비약적인 도약을 달성하는 것은 기존 시스템에 단계적으로 적용하는 것으로 시작하는 조직적이고 점진적인 프로세스입니다. 파일럿 프로젝트를 통해 디지털 역량을 구축하고 이후에 DevOps 방식을 채택하면 도구 및 기술 메커니즘 제품군을 결정하고 채택하는 데 도움이 됩니다.
강력하게 분명한 이점은 다음과 같습니다.
- 테스트 범위 극대화
- 규모에 따라 안정적이고 더 빠른 소프트웨어 제공
- 향상된 협업
- 재작업 비용 절감으로 수익 증대
조만간 조직은 DevOps 방식을 사용하는 경쟁업체가 설정한 벤치마크에 적응해야 합니다.
애자일 제품 개발 관행의 표준 포함
민첩성은 끊임없이 추구하는 것입니다. 민첩성을 올바르게 하기 위한 가장 좋은 테스트는 가장 중요한 원칙을 지속적으로 준수하는 것입니다.
1. 반복:민첩하다는 것은 불확실성을 인식하고 수용하고 대비하는 것을 의미합니다. 모든 클리셰의 총합입니다. 일시적인 시장 생태계, 고객 기대 및 비즈니스 요구 사항을 고려하지 않고 처음부터 끝까지 일을 실행하는 것은 실패할 운명입니다. 오히려 외부 요인에 대한 의존성 요소를 고려하여 식별 가능한 더 작은 덩어리로 분류하고 위험을 줄이기 위해 반복적으로 다시 수행하는 작업은 유연성을 유지하는 데 도움이 됩니다. 반복은 애자일 개발 프로세스에 활기를 더합니다. 2. 가치 전달:중요한 요소와 기술적 우수성에 대한 지속적인 우선 순위를 지정하여 빠른 가치를 제공하기 위한 지속적인 관심이 민첩성의 핵심입니다. 반복 학습을 다음 반복에 통합하는 민첩한 장소는 프로세스의 각 작은 단계에서 가치를 제공하는 데 중점을 둡니다. 조직이 신속하게 움직이고, 프로젝트 결과에 대한 가시성을 확보하고, 그에 따라 과정을 수정하는 능력을 강화하는 것은 애자일 관행과 함께 제공되는 이점 중 일부에 불과합니다. 레고 장난감을 만드는 것과 매우 유사하게 각 블록은 목적에 부합하는 가치를 더합니다. 3. 증분:Agile은 프로젝트 요구 사항을 소화 가능한 조각으로 분해하고 가치 요소를 일정한 속도로 점진적으로 제공함으로써 지속 가능한 개발을 추진합니다. 기존의 선형 및 순차 모델에서 탈피한 민첩성은 강성과 반대입니다. 조직에 백로그를 지속적으로 평가하고, 프로젝트 요구 사항을 식별하고, 개별 청크로 나누고, 지속적으로 제공하는 데 필요한 유연성을 제공합니다. 4. 다기능 팀:민첩성을 위해서는 협업, 대면 대화, 신뢰, 공동 소유권 및 공유된 비전을 선호하는 에코시스템에서 활동하는 동기 부여된 개인으로 구성된 다기능 팀이 필요합니다. 하나는 다른 하나 없이 발생할 수 없습니다. 여러 분야의 회원은 환경이 참여를 지원하지 않으면 미션 크리티컬 활동을 위해 헌신적으로 일할 수 없습니다. 마찬가지로, 유익한 환경은 다학문 분야의 다양한 관점과 전문 지식이 없을 때만 할 수 있습니다. 5. 고객 우선:기업이 고객을 식별하고 고객을 최우선으로 생각하며 문제를 해결하고 디지털 인에이블러가 되는 것은 매우 중요합니다. 번역 사이에 너무 많은 통찰력이 손실됩니다. 고객의 충족되지 않은 요구에서 코딩을 수행하는 사람까지. Agile은 고객 대표가 되는 데 중점을 두고 있으며 의사 결정 프로세스의 모든 작은 단계에서 고객의 요구 사항, 관점, 동기 및 문제의 우선 순위를 지정합니다. |
조직은 이러한 필수 원칙을 지향하고 민첩한 소프트웨어 개발이라는 공통 언어를 사용하여 점진적이고 거대한 변화를 추진해야 합니다.
따르지 말아야 할 관행
민첩성은 조화롭게 수행되어야 하는 관행과 원칙의 시스템입니다. 애자일 여정으로 전환하는 여러 회사의 경우 다음 요인으로 인해 결과가 거의 또는 전혀 없습니다.
1. 체리 따기:
대부분의 회사는 애자일을 찾고 있지만 구현하기 편리한 요소를 선택하게 됩니다. 민첩성은 처음에는 전문가가 익숙해지는 계층 구조, 사일로, 무책임함에서 벗어나는 것을 의미하기 때문에 불편합니다.
애자일 제품 개발의 관행에는 고통과 즐거움이 따릅니다. 본질을 이해하고 흡수하고, 그로부터 계속 배우고, 민첩한 조직을 구축하는 것이 매우 중요합니다.
2. 애자일 복사 및 붙여넣기:
'체리 따기'의 영향과 유사하게 복사하여 붙여넣기가 민첩합니다. 많은 회사에서 'Agile'은 유행어에 불과하며 다른 사람들이 Agile을 따르고 혜택을 받는 것을 관찰한 후 무리를 따릅니다. Agile의 원칙은 동일하지만 'Spotify'에 효과가 있었던 것이 다른 사람에게도 효과가 있었는지는 분명하지 않습니다.
자율적인 측면이나 그 궤적을 이해하지 않고 분대, 부족, 챕터로 팀을 구성하는 것은 실패하는 노력입니다. 애자일을 구현하되 기업의 요구, 구조 및 규모에 따라 맞춤화합니다.
3. 종이:
스스로를 애자일이라고 낙인찍었지만 애자일 개발 원칙의 기본이 되는 근본적인 변화를 일으키지 않으려는 기업은 '서류상' 애자일을 채택하는 잘못된 관행에 빠졌습니다. 이러한 기업은 기본적인 요구와 문화에 대해 혐오감을 나타냅니다.
애자일로의 전환은 조직에 큰 충격을 주고 구조를 변경하는 운동입니다. 기업은 애자일 관행을 올바르게 수행하기 위해 사후에 계획하고, 준비하고, 실행해야 합니다.
준비되지 않은 운전과 축소, 불확실성과 그 변수는 표준입니다. 애자일 개발 프로세스에 참여 하거나 일상 업무에 깊이 뿌리박은 관행을 가진 사람들과 파트너 관계를 맺는 것이 이러한 변수의 즉각성과 여파를 헤쳐 나갈 수 있는 유일한 방법입니다.