우와테크

린 소프트웨어 개발 방법 (Lean Software Development) 본문

용어

린 소프트웨어 개발 방법 (Lean Software Development)

uwaTech 2022. 10. 21. 00:13
린 소프트웨어 개발론 (Lean Software Development)

 

정의

-      애자일 (agile) 방법론의 일종

-      도요타 생산 시스템의 적시생산흐름의 개념을 소프트웨어 개발에 적용한 방법론

수행 원리

-      낭비제거

목표

-      개발하는데 발생할 수 있는 모든 낭비를 최소화하고 고객 가치를 최대화함.

특징

-      결함 제거 : 소프트웨어 개발의 가장 큰 낭비가 결함이라고 생각하여 낭비를 제거함. 7가지 개발 원칙에 준수하여 프로젝트 초기부터 고객과의 접촉을 많이 하여 낭비 및 폐기를 제거하고자함.

-      신속성 : 고객에게 빠르게 결과물을 제공함

-      생산성 향상 : 생산 시스템을 위해 사용하는 린 공학 품질 기법을 소프트웨어에 적용

대표적인 낭비 요소

-      이동/이관 : 이관할 때마다 지식이 누락될 수 있음

-      재고/미완성 작업 : 배포되지 않은 코드, 코드로 옮기지 않은 문서, 테스트하지 않은 코드 등

-      작업 전환: 작업 진행 도중 다른 작업으로의 전환은 시간을 소모됨

-      대기/지연 : 필요 인원이 작업 할 수 있을 때 까지 기다림.

-      불필요한 기능 추가 : 고객이 필요로 하지 않는 기능을 추가함.

-      재 학습 : 개발에 참여하지 못해 해당 지식을 학습하는데 시간이 소모됨.

-      결함/재작업 : 테스트에 결함 유입을 걸러주는 실수 방지 테스트를 포함함.

수행 단위

-      프로세스 적용

원칙

-      낭비 제거 : 불필요한 코드와 기능, 부분적으로 완료된 작업, 대기중이거나 불분명한 요구사항 등 고객에게 가치를 더하지 않고, 상품의 가치에 영향을 미치지 않는 모든 것을 제거

-      학습 확대 : 개발 과정 진행 중에 고객과의 대화를 통해 현재 개발 단계를 결정하고 향후 개선을 위한 노력을 조정하기 위한 학습을 확대함.

-      늦은 결정 : 돌이키기 힘든 주요 문제에 대한 의사결정을 최대한 연기함으로써 불확실한 가정과 예측이 아닌 사실에 기반하여 결정 내릴 수 있을 때까지 요구사항 변경에 적극적으로 대응함.

-      빠른 납품 : 결과물을 가능한 한 빨리 제공하고 피드백을 빨리 받아 다음 작업에 통합할 수 있음.

-      팀에 역량 강화 : 개발자의 말을 경청하는 방법으로 개발에 대한 잠재 능력을 극대화 시킴

-      통합성/무결성 구축 : 개발 초기부터 지속적인 테스트 주도 개발로 품질 향상, 소규모 개발 단계에서 오류를 수정하여 낭비를 제거

-      전체 최적화 : 사용자 요구사항 수집에서부터 소프트웨어 배포까지 모든 프로세스 최적화

애자일 방법론과의 공통점

-      요구사항 변화를 적극적으로 수용

-      결과물을 사용자에게 빠르게 전달하여 고객의 가치와 만족도를 극대화함.

애자일 방법론과의 차이점

애자일 방법론 : 개인별 또는 팀 간에 고객과 협업하고 빠른 개발을 수행함.

린 개발 방법론 : 전적으로 고객 관점에서 전체 프로세스상에서 낭비를 제거하고 고객을 위한, 고객에 의한 고객의 가치를 높이는 것에 우선 수위로 둠.

 

 

 

출처 |

https://itproda.tistory.com/90

http://www.incodom.kr/

'용어' 카테고리의 다른 글

결함 테스팅 / 검증 테스팅  (0) 2022.10.21
짝 프로그래밍(Pair Programming)  (0) 2022.10.21
프로그래밍 패러다임과 프로그래밍 언어 패러다임  (0) 2022.10.12
스택과 큐  (0) 2022.10.12
배열과 연결리스트  (0) 2022.10.12