Wiki List/Software 공학 에 해당하는 글 : 2 개
'린 소프트웨어 개발 : 속도의 경쟁에서 승리하기' 역자 이신 한주영님께서 김창준님 블로그에 린소프트웨어 개발은 '삽질'없는 소프트웨어 개발  이라고 아주 간략 하게 표현 하셨더군요. 린 소프트웨어 개발은  군더더기 없는 프로세스를 통해서 고품질의 소프트 웨어를 저 비용으로 신속하게 인도 할수 있는 방법이라고 간략 하게 표현 할수 있을 것 같습니다. 이러한 목적을 달성 하기 위한 린의  7가지 원칙을 간략하게 소개해 드리겠습니다.  


클릭하시면 큰 그림으로 보실수 있습니다. 밑에 글을 읽어 보신후 마인드맵을 살펴 보세요..

위의 그림은 삽집없는 소프트웨어 개발을 위한 린 소프트웨어 개발의 원칙을 마인드맵으로 표현한 것입니다. 우선 7가지 원칙에 대한 밑의 글을 읽어 보신후 마인드맵을 살펴 보시면 훨씬 도움이 되실 겁니다.

1. 낭비를 제거 하라.
(소프트웨어 개발에서의 가장 큰 낭비 세 가지-가외기능,혼란,경계 넘어가기)

  회사에서는 20% 가 80% 먹여 살린다고 합니다. 2 대 8의 법칙이라고 하나요 ? 소프트웨어 에서도 똑같습니다. 20%의 기능이 80%의 가치를 제공한다고 합니다. 그렇기 때문에 개발시 정말 중요한 20%에 집중하고 가외 기능이라고 할수 있는 80%는 천천히 개발 하던지 아예 개발 하지 말아야 합니다.
 
  또한 요구 사항을 먼저 정의 할 경우 요구사항의 변경으로 혼란이 발생 할수 있으며,  코딩을 마친후에 테스트를 시작한다면 테스트의 증가로 실제 개발 보다 테스트가 더 길어지는 혼란 아닌 혼란을 야기 하는데 이것은 중요한 낭비입니다.

  마지막으로 조직간의 경계를 넘어가면서 발생함으로써 발생하는 여러가지 비용 역시 중요한 낭비 사항 입니다. 소프트웨에 개발을 성공적으로 이끌기 위해서는 이러한 낭비요소를 철저히 제거해야 합니다.


2. 품질을 내재화 하라.
(검증 단계에서 늘상 결점이 발견된다면 그 프로세스에 결함이 있는 것이다.)

개발 초기 부터  테스트 주도 개발(TDD) 을 해아 합니다. 개발을 마친후에 테스트를 하면 분명히 실수가 발생할수 있습니다. 또한 레거시 코드 즉, 자동화된 단위테스트와 인수 테스트가 없는 코드는 절대 만들지 말아야 합니다. 마지막으로 나중에 한꺼 번에 하는 빅뱅 통합은 커다란 문제를 발생 시킬 것 입니다.

3. 지식을 창출하라.
(계획은 유용한 것이며, 학습은 필수적인 것이다.)
 
가설을 세우고, 신속하게 다양한 실험을 해보고, 문서를 간결하게 작성하고, 최선의 대안을 구현할 수 있도록 팀을 가르쳐야 하고, 모든 사람들이 따라하고 잘 알려진 실천법을 표준에 포함하되, 누구든지 표준에 도전하고 변경하도록 장려해야 합니다.  그리고 예측 가능한 조직은 미래를 추측하고 그것을 계획이라고 하지 않으며, 그 보다는 미래가 펼쳐질 때 신속하게 대응하기 위한 역량을 개발합니다.

4. 확정을 늦춰라.
(완벽한 명세서를 가지고 개발을 시작하는 것이 좋은 아이디어라는 생각을 버려라.)

시스템 아키텍처는 언제 어떤 기능이 추가 되더라도 그것을 수용할수 있어야 하며, 코드는 실험으로 생각해서 변화를 수용할수 있게 작성 해야 합니다. 그리고 돌이킬수 없는 결정은 마지막 결정의 순간에 해야 하며 그전에 충분한 학습이 선행 되어야 합니다.

5. 빨리 인도하라.
(리스트와 대기열은 일의 속도를 늦추는 조직 간의 버퍼다.)

속도의 경쟁에서 승리하는 회사는 큰 비용우위를 갖고 월등한 품질의 제품을 인도하며 고객의 요구에 더 귀기울 입니다. 그러기 위해서 대기행렬 이론을 개발에 적용해서 배치(batch) 크기를 작게하고 진행 중인 작업량을 줄여 주기 시간(cycle time)을 줄여야 합니다. 마지막으로 고객에게 인도할 수 있는 역량에 맞게 리스트와 대기열의 길이를 공격적으로 제한해야 합니다. 즉 일의 양을 할 수 있는 만큼으로 제한해야 합니다.

신속한 인도, 고 품질, 저 비용은 공존할 수 있습니다.

6. 사람을 존중하라.
(주도적으로 참여하고 연구하는 사람들이 최고의 지속가능한 경쟁우위를 제공한다.)

팀은 자부심, 책임감, 신뢰, 칭찬을 통해 번성합니다. 단순한 워크그룹이 아닌 팀은 공동 목표를 달성하기 위해 상호간 책임의식으로 뭉쳐있습니다. 효과적인 팀에는 팀을 최고로 이끄는 훌륭한 리더가 존재한다. 또한 조인트 벤처를 위한 헌신은 절대로 이해상반을 만들지 않습니다. 파트너를 존중 하십시오..

7. 전체를 최적화 하라.
(빼어난 제품은 기회와 기술의 특별한 만남에서 나온다.)

고객요구에서 소프트웨어 배포까지 전체 가치 흐름에 초점을 맞춰야 합니다. 소프트웨어만이 아닌 완전한 제품을 개발해서 완전한 제품을 인도 하세요.완전한 제품은 완전한 팀에 의해 만들어집니다.주기 시간으로 프로세스 역량을 측정하고, 인도된 비즈니스 가치로 팀 성능을 측정하며, 순추천고객지수(NPS)로 고객 만족을 측정 하세요..


이상이 린의 기본 뼈대 입니다. 뼈대에 살을 붙여서 알고 싶으시면 아래 있는 2장 공개본을 다운 받으셔서 한번 읽어 보세요..그리고 린의 모든 것을 알고 싶으시면 당연히 '린 소프트웨어 개발 : 속도의 경쟁에서 승리하기' 를 사서 읽어 보셔야 겠지요 (^^;)






  
  
 이전  1   다음 

fotowall :: ncloud tattertools RSS Feeds today : 13   yesterday : 64
total : 51696