74 | 상 | Lean(린) / 린 경영 / 린(Lean software development) |
[정의] TPS(Toyota Production System)을 재정립한 경영방법론인 린시스템의 품질기법을 소프트웨어 개발에 적용한 개발방법론 [7대원칙] 낭비제거, 배음증폭, 늦은결정, 팀에 권한위임, 빠른 배포, 통합성 구축, 전체를 볼것 [7대낭비] 미완성 작업, 가외기능, 재학습, 이관, 작업전환, 지연 결함 |
낭배늦팀빠통전 미가재이작지결 |
토픽 이름(중) | Lean(린) / 린 경영 / 린(Lean software development) |
분류 | 프로젝트 관리 > Agile 프로세스 > Lean(린) / 린 경영 / 린(Lean software development) |
키워드(암기) | 린 프로세스, Lean manufacturing or lean production, Toyota Production System, 방법론보단 사상과 프로세스임. 낭비 제거 1.Partially done work 2.Extra processes 3.Extra features 4.Task switching 5.Waiting 6.Motion 7.Defects 8.Management activities 7대 원칙 Practice 2.1 Eliminate waste 2.2 Amplify learning 2.3 Decide as late as possible 2.4 Deliver as fast as possible(빠른 인도) 2.5 Empower the team 2.6 Build integrity in 2.7 See the whole |
암기법(해당경우) | 원칙 : [낭배결빠위통씨] 낭비제거, 배움증폭, 늦은 결정, 빠른 인도, 권한위임, 통합성 구축, 전체를 볼것 낭비 : [재미가결이작지] 재학습, 미완성작업, 가외기능, 결함, 이관, 작업전환, 지연 |
기출문제
번호 | 문제 | 회차 |
1 | Lean SW 개발 방법론에 대하여 설명하시오. | 합숙_2019.08 1일차 |
2 | 소프트웨어 Agile개발방법론에 대해 다음 질문을 설명하시오. 가. XP, SCRUM, KANBAN에 대해 비교 설명 나. LEAN개발방법론에 대해 설명 |
모의_2016.10 4교시 |
3 | 린(Lean) 개발방법론을 정의하고, 7 가지 개발원칙 중 5 가지 이상을 제시하시오. | 모의_2015.01 1교시 |
4 | 린(Lean) 소프트웨어 개발 방법에 대해 설명하시오. | 모의_2014.07 1교시 |
5 | 소프트웨어 공학에 린 제조업의 원리를 적용시킨 린(Lean) 소프트웨어 개발기법에 대해 설명하고, 칸반(Kanban)과 스크럼(SCRUM)을 비교하시오. | 모의_2014.06 3교시 |
6 | Lean 개발방법론에 대하여 설명하시오. | 모의_2014.01 1교시 |
I. Just in Time 달성 및 낭비제거, Lean의 개요
가. Lean의 정의
- 빠른 프로토타입과 신속한 고객 피드백을 통해 JIT(Just in Time) 달성과 함께 낭비를 제거하는 개발 방법론
나. Lean의 특징
린 공학 품질기법 | 도요타의 린 공학 품질기법을 SW개발 프로세스에 적용 |
낭비요소 제거 | 낭비요소를 제거하고 7가지 원칙을 준수 |
II. Lean의 7대 원칙과 7대 낭비
- Lean의 7대 원칙
원칙 | 설명 |
Eliminate Waste (낭비 제거) | - 불필요한 코드나 기능, 불분명한 요구사항 등의 낭비요소 제거 |
Amplify Learning (배움증폭) | - 프로젝트 진행 간 학습의 필요성 존재, 고객의 학습도 필요 |
Decide as Late as Possible (늦은 결정) |
- 중요한 문제에 대한 의사결정을 최대한 미룸 - 요구사항 변경에 적극적으로 대응할 수 있게 함 |
Deliver as Fast as Possible (빠른 인도) |
- 결과물을 최대한 빨리 제공할 것 - 고객이 요구사항을 변경할 시간을 주지 않음 |
Empower the Team (팀에 권한 위임) |
- 직원들의 동기부여 및 자기의사결정권으로 잠재력 극대화 |
Build Integrity In (통합성 구축) |
- 개발 초기부터 품질을 향상시키도록 하는 것 - 작은 개발 단계마다 오류를 발견하고 수정하는 작업 |
See the Whole (전체를 볼 것) |
- 요구사항 수집부터 제품 릴리즈 하는 시점까지 모든 프로세스를 최적화해야 함 |
나. Lean의 7대 낭비
낭비 | 설명 |
미완성 작업 (Partial Done Work) |
- 코드로 옮기지 않은 문서, 동기화되지 않은 코드 등 빠지지 않게 흐름을 진행해야 재고를 줄일 수 있음 |
가외기능 (Extra Feature) |
- 필요하지 않는 기능을 추가하는 것으로 업무에 집중하고 되도록 기능을 추가하지 않는 방향으로 생각 |
재학습 (Relearning) |
- 지식을 가진 사람들을 개발 과정에 끌어들이지 못해 작업 공간에 제공할 수 있는 지식을 놓여 재 학습하는 활동 |
결함 | - 테스트에 결함 유입을 걸러주는 실수 방지 테스트가 반드시 포함하고 자주 테스트 |
이관 (Handoff) |
- 업무의 이관은 상당량의 암묵지가 전수되지 못하고 암묵지를 문서로 전달하기 어렵기 때문에 이관할 때 항상 정보가 손실됨 |
작업전환 (Task Switching) |
- 작업 중 다른 작업으로 전환하는 것은 집중이 분산되고 시간을 소모시키므로 전환 시간 낭비 최소화 |
지연 (Delay) |
- 필요한 인원이 정기적인 피드백이 있는 Iteration은 지연을 극적으로 줄일 수 있음 |
III. Kanban과 Lean의 비교
구분 | Kanban | Lean |
개념 | Workflow를 표현하는 Kanban보드를 통해, 개발공정을 시각화하고 작업제한, 소요시간 최적화 기법을 통해 적시개발을 지원하는 Agile방법론 | 적시개발(Just in time development)을 달성하고 낭비제거를 목표로 하는 Agile방법론 |
수행원리 | Workflow 시각화, WIP(work-in-process) 제한 | 낭비 제거 |
원칙 | Workflow 시각화를 통한 일의 진척도 관리 | 늦은 결정, 빠른 인도 등의 7대 원칙 |
사상 여부 | 개발 방법론 중의 하나 | 사상 및 아이디어를 총칭 |