애자일 방법론이란 무엇인가? 애자일 방법론의 핵심은 무엇인가?

Goal

  • 역사적인 맥락을 통한 애자일의 등장 배경
  • 애자일(Agile)이란 무엇인가
  • 애자일의 핵심은 무엇인가

애자일의 등장 배경

초기 SW의 개발 방법은 계획 중심의 프로세스(SW 개발의 역사)

하지만, 지금은 달라졌다. 높아진 SW 개발의 불확실성

새로운 SW 개발 방법의 등장

새로운 SW 개발 방법의 선언


애자일(Agile)이란?

1. 사전적인 정의

2. 현실적인 정의


애자일의 핵심(협력과 피드백)

애자일의 핵심 1. “협력”

  1. 내부적 협력
    • 내부적 협력: SW를 개발한 사람들 안에서의 협력을 말한다. 특히, 직무 역할을 넘어선 협력을 의미한다.
    • 좋은 일은 곱하기!!
      • 1) 혼자 얻은 좋은 통찰을 협력을 통해 다른 사람도 같이 얻을 수 있다.
      • 2) 예상하지 못했던 기회를 잡을 수 있다.
      • 예를 들어, 어떤 사람이 개발을 하다가 2배의 속도로 개발할 수 있다는 것을 발견했다. 협력이 약한 문화에서는 그 사람만 좋은 보상과 칭찬을 받게 되고, 그 사람 코드가 다른 사람들의 코드와 너무 이질적이어서 시스템에 문제가 발생할 수도 있다. 하지만 협력이 강한 문화에서는 그것을 다른 사람들과 공유하여 모두 같이 빠르게 개발할 수 있고 더 나은 발전점을 찾을 수 있다. 즉, 팀 전체의 개선이 일어난다.
    • 안 좋은 일은 나누기!!
      • 1) 문제가 되는 것을 찾기가 쉽다.
      • 2) 예상하지 못했던 문제를 협력이 막을 수 있다.
      • 예를 들어, 내가 생각지 못한 실수를 했는데 아무리 다시 봐도 모르겠거나 더 나은 방법이 생각나지 않을 때가 있다. 이때 나와 항상 같이 일하던 사람에게 물어봐도 나랑 비슷한 생각을 하고 있으므로 더 나은 대안을 제시하지 못하고 비슷한 얘기를 하게 된다. 즉, 서로 다른 사람들과 협력하는 것이 중요하다. 이를 통해 다른 사람이 쉽게 그 문제에 대해 찾을 수 있고 서로 같이 빠르게 해결할 수 있다.
  2. 외부적 협력
    • 외부적 협력: 추가 작성 계획

애자일의 핵심 2. “피드백”

  1. 내부적 피드백
    • 내부적 피드백: 내가 만든 것이 어떻게 됐는지 확인해보는 것
  2. 외부적 피드백
    • 외부적 피드백: 내가 만든 것을 고객이나 다른 부서가 사용해보고 그것을 통해 또 다른 것을 배우는 것


SW 개발의 불확실성과 사업적 가치가 있는 프로젝트

SW 개발의 불확실성

사업적 가치가 있는 프로젝트란

학습이란

관련된 Post


References