차례:
소프트웨어 개발 조직이 제대로 수행되고 있습니까? 항상 개선의 여지가 있지만 일부 조직은 다른 조직보다 더 많은 도움이 필요합니다. 연속체의 어느 곳에 있든, 조직은 모든 사람이 같은 방향으로 운전할 수 있도록 명확한 비전이 필요하기 때문에 어디로 가야하고 어떻게 가야하는지 식별하는 것이 중요합니다. 우리는 우리의 프로세스, 기술, 제품 라인, 문서화, 문화, 그리고 우리 직원들 스스로를 평가해야합니다. 그러나 우리는 그것들을 무엇에 대해 평가합니까? 진행 상황을 어떻게 측정합니까? 팀이나 조직을 평가하는 데 세 가지 주요 측정 기준이 있다고 생각하며 이러한 사항에 초점을 맞추면 생산성이 급증 할 것입니다.
- 품질
- 능률
- 밸런스
각각을 자세히 살펴 보겠습니다.
품질
사업을 개선하는 방법
Pixabay
품질은 모든 조직에 중요합니다. 이 단어는 소프트웨어에 알려진 결함의 수뿐만 아니라 우리가하는 모든 일에 적용됩니다. 40 시간의 고품질 시간으로 무엇을 할 수 있는지 상상해보십시오. 밤과 주말에 빌릴 필요가 없을 수도 있습니다. 자동화 된 테스트를 작성하는 경우 가치를 더하는 좋은 테스트로 만드십시오. 그렇지 않으면 왜 귀찮습니까?
동료들은 우리가 보지 못하는 것을 보게 될 것이기 때문에 협력은 양질의 결과물을 생산하는 데 중요합니다. 어떤 일을 잘 수행해야하는 경우, 특히 고객을 대상으로하는 경우 추가 눈으로 확인하는 것이 좋습니다. 작가가 자신의 기사가 고품질인지 알고 싶어 할 때, 그들은 숫자에 강점이 있다는 것을 이해하기 때문에 비평을 요청합니다. 코드 리뷰, 페어 프로그래밍 또는 단순히 "이봐, 이걸 좀 볼 수 있니?"등 우리 주변의 추가 눈 쌍을 활용하면 우리를 경계에 두는 데 도움이 될 것입니다.
소프트웨어 품질을 향상 시키려고 할 때 가장 중요한 것은 자동화 된 테스트라고 생각합니다. 수동 테스트 케이스는 자동화 된 테스트 케이스보다 생성하는 것이 더 저렴합니다. 그러나 수동 테스트는 실행하는 데 훨씬 더 많은 비용이 듭니다. 특히 여러 브라우저, 운영 체제 및 장치 유형에서 모든 것을 테스트하기 위해 여러 번 통과해야하는 경우 더욱 그렇습니다. 개발자는 Karma, Spock 또는 JUnit으로 중요한 테스트를 수행해야하지만 Selenium, SOASTA 또는 Cucumber와 같은 기능 테스트도 수행해야합니다. 개발자가 코드를 작성할 때 얻을수록 문제를 해결하는 데 더 많은 작업이 필요하기 때문에이 모든 작업을 통해 실제로 추구하는 것은 조기 결함 감지입니다. 3 ~ 6 주 전에 작성한 코드보다 어제 작성한 코드의 결함을 해결하는 것이 훨씬 쉽습니다.
능률
비즈니스 프로세스 개선
Pixabay
효율성에 집중하면 조직을 간소화하고 각 작업을 수행하는 데 필요한 노력을 최소화 할 수 있습니다. 두 번째 특성이 된 반복 가능한 프로세스는 훨씬 적은 노력을 필요로합니다. 자동화는 또한 직원이 반복적이지 않고 두뇌 능력이 필요한 작업 (작성, 코딩, 디자인, 계획 등)에 집중하기를 원하기 때문에 효율성에 중요한 역할을합니다. 코드가 준비되면 자동화를 통해 코드가 자동으로 빌드, 테스트 및 배포됩니다. 동일한 자동화 된 배포 프로세스가 프로덕션을 포함한 각 후속 환경을 처리해야합니다. 손쉬운 배포를 통해 프로덕션에 더 자주 전달되므로 비즈니스 요구 사항에 훨씬 더 잘 대응할 수 있습니다.
조직의 모든 사람이 수동으로 수행하는 작업의 종류를 평가하는 것이 중요합니다. 이러한 작업을 간소화하거나 자동화 할 수 있습니까? 많이한다면 자동화를위한 좋은 후보가 될 것입니다. 어떤 경우에는 불필요한 단계를 제거하기 위해 프로세스를 재정의하기 만하면됩니다. 다른 경우에는 매일 수행하는 작업을 더 많이 자동화하거나 가속화하는 더 나은 도구를 식별해야합니다.
Quality Center 또는 Jira와 같은 티켓 관리 도구도 평가해야합니다. 어떤 지표를 추적합니까? 어떤 보고서를 생성합니까? 리더십 팀에 보내야하는 숫자를 얻기 위해 매주 Excel에서 많은 시간을 보냅니 까? 애자일 팀의 경우 팀의 속도를 어떻게 계산합니까? 당신의 도구가 당신을 위해 그것을 처리합니까? 아는 일을하는 것보다 노력을 덜어주는 도구 (예: 버전 1)를 찾으십시오.
밸런스
소프트웨어 프로세스
Pixabay
균형은 조직의 효율성을 높이는 데 중요한 부분입니다. 조직을 요트처럼 생각할 수 있습니다. 보트의 균형이 맞지 않으면 항력이 발생하여 물속에서 속도가 느려집니다. 또한 방향타가 제대로 작동하지 않아 보트를 돌리기가 훨씬 더 어려워 질 수 있습니다. 인간이 실수를 할 때 그들은 종종 "배의 반대쪽"으로 돌진하여 보상합니다. 소프트웨어 조직이 충분한 테스트 나 계획없이 제품이 출시되어 고통과 고통을 견뎌 낼 때, 그들은 종종 무거운 프로세스, 승인 게이트 및 분석 마비에 대해 빠르고 격렬하게 실행합니다. 그들은 한 문제에서 다른 문제의 대기 팔로 달려갑니다.
'얼마나 많은 문서가 필요합니까?'사람들이 무엇을해야하는지 이해하는 데 필요한 것만 작성하십시오. 문서가 승인 게이트를 충족하거나 확인란을 선택하는 경우에는 잠시 멈추고 필요한지 여부를 고려해야합니다.. "얼마나 많은 프로세스가 필요합니까?"그저 충분합니다. "아키텍처와 설계에 얼마나 많은 시간을 소비해야합니까?"충분합니다. 재 작업은 확실히 비효율적이지만 실제 솔루션을 연기하고 빠른 수정을 구현하는 것이 더 낫습니다. 고객의 긴급한 요구에 부응 할 수 있습니다. 삶은 균형 잡힌 행동입니다. 이것은 회사로서 우리가하는 모든 일에 적용됩니다. 골디락스는 균형을 필사적으로 찾고있었습니다. 어쩌면 우리도 그래야 할 것입니다.
개발 능력 향상
우리 모두는 우리의 삶이 더 나아지기를 바랍니다. 우리는 최소한의 고통과 고통으로 더 쉬운 배송, 더 부드러운 전환, 더 행복한 팀, 행복한 고객을 원합니다. 이 세 가지 렌즈를 통해 조직을보기 시작하면 변경 사항을 평가하고 우선 순위를 정하는 데 도움이됩니다. 실제로 조직에 도움이되고 원활하게 운영되는 데 도움이되는 변화의 종류에 우리의주의를 집중합니다. 당신은 더 날씬하고 비열해질 것이므로 시간이 지남에 따라 스트레스와 좌절감이 감소하는 동안 생산성이 증가하는 것을 볼 수 있습니다.
품질, 효율성 및 균형은 궁극적으로 모든 조직이 추구하는 속도 인 속도로 이어집니다. 우리는 시장 출시 속도, 고객에 대한 대응력, 한푼도 돌릴 수있는 능력을 원하지만 실제로이를 달성하는 것은 직관적이지 않습니다. "그냥 더 많은 사람을 고용해서 정말 빨리 갈 수 있도록합시다!" 많은 사람들을 추가하면 정말 빨리가는 데 도움이 될 것입니다. 안타깝게도 때때로 그들은 정말 빨리 도랑에 들어가는 데 도움이됩니다. 한 현명한 동료가 한때 더 빨리 가려면 속도를 늦춰야한다고 말했는데 그것은 절대적으로 사실입니다. 속도는 특히 자동화 영역에서 사전 사고와 노력이 필요합니다. 품질, 효율성 및 균형을 보장하기 위해 시간을 투자하면 자연스럽게 빠르게 진행됩니다. 사자처럼 포효하고 가젤처럼 질주하세요.
© 2017 Mike Shoemake