[TIL] 실용주의 프로그래머 || 8장 프로젝트 전에

준리·2022년 5월 29일
0
post-thumbnail

오늘 TIL 3줄 요약

  • 좋은 개발자라면 협상 능력을 키울 수 있는 상황이기도하다.
  • 사용자처럼 생각하기 위해서는 사용자와 함께 일하라
  • 좋은 요구 사항은 추상적이다. 요구사항은 필요를 표현하는 것이다.

TIL (Today I Learned) 날짜

2022.05.30(월)

오늘 읽은 범위

8장. 프로젝트 전에

책에서 기억하고 싶은 내용을 써보세요.

상담치료로서 프로그래밍

  • 이것이 프로그래머가 하는 일이다. 간단해 보이는 뭔가를 받으면 특이한 경우에 대해 캐물어서 사람들을 화나게 하는 것말이다. 의뢰인이이미 생각해 본 문제일 수도 있다. 그렇다면 이미 어떤 식으로 구현해야 한다는 계획이 있을 것이므로 질문으로 정보를 끄집어내기만 하면 된다. 하지만 의뢰인이 미처 고려해 보지 않은 문제도 있을 것이다. 여기가 바로 일이 재미있어지는 부분이다. 좋은 개발자라면 협상 능력을 키울 수 있는 상황이기도하다.

요구 사항은 과정이다

  • 우리는 모형(mockup)이나 프로토타입을 만들어서 의뢰인이 직접 다루어 볼 수 있도록 한다. 만약 모형이나 프로토타입이 이리저리 바꾸기 쉬워서 의뢰인과 대화하는 도중에 계속 바꿀 수 있다면 이상적이다.

  • 그러니 실용주의 프로그래머는 프로젝트 전체를 요구 사항 수집과정으로 보아야 한다. 그래서 우리는 짧은 주기로 반복하는 것을 선호한다. 반복주기가 끝날 때마다 직접 의뢰인에게 피드백을 받는다. 그러면 우리가 궤도에서 벗어나지 않을 수 있다. 혹시 우리가 정말 잘못된 방향으로 가더라도 잃어버리는 시간을 최소화 할 수 있다.

요구 사항 대 현실

  • 도구가 성공하려면 사용하는 사람의 손에 적응할 수 있어야 한다는 우리의 믿음을 잘 보여 준다. 이 점도 염두에 두어야 성공적으로 요구 사항을 수집할 수 있다. 그래서 프로토타입이나 예광탄을 이용해 빠른 피드백으로 의뢰인으로부터 "네, 이것이 원하는 것이 맞긴 한데 제가 원하는 방식은 아니네요." 라는 반응을 얻어야 할 것이다.

딱 하나만 더......

  • 요구 사항이 슬금슬금 추가되는 것은 어떻게 막을 수 있을까? 해답은 다시 한번 피드백이다. 반복 주기를 거치며 의뢰인과 정기적으로 피드백을 주고받는다면, "딱 한 가지만 더"란 요청이 미치는 영향을 의뢰인이 직접 체험할 것이다.

용어 사전 관리하기

  • 프로젝트에서 사용하는 모든 용어와 어휘를 모아 놓은 단 하나의 장소여야 한다. 최종 사용자에서 지원 부서 직원까지 프로젝트에 참가하는 모든 사람이 일관성을 위해 동일한 용어 사전을 사용해야 한다. 온라인 문서가 적합하다.(notion)

애자일의 핵심

애자일 | 기민함이란 것은 변화에 대응하는 것
온통 피드백을 수집하고 그에 대응하라는 것뿐이다.

  • 공정과 도구보다 개인과 상호작용
  • 포괄적인 문서보다 작동하는 소프트웨어
  • 계약 협상보다 고객과의 협력
  • 계획을 따르기보다 변화에 대응하기
  • 애자일이 전반적으로 작동하게 하려면 좋은 설계를 만들어야 한다. 좋은 설계는 무언가를 바꾸기 쉽게 하기 때문이다. 바꾸기 쉽다면 모든 층위에서 아무런 주저 없이 문제를 바로잡을 수 있을 것이다. 이것이 애자일이다.

오늘의 책 다시보기

애자일 애자일하는데 그 의미를 이제야 조금은 알 것 같다. 좋은 설계를 바탕으로 실체를 만들고 그 작은 실체 속에서 피드백하고 수정하는 과정을 반복한다. 너무 거대해지기 전에 조금 더 괜찮은 소프트웨어를 만들어 가는 것이다. 딱 하나만 더.... 부분은 제가 기획자의 입장에서 했던 것들이라 너무 공간된다. 개발자의 입장에서 피드백을 주고 받는다면 그 것이 왜 어려운지 좀 더 명료하게 이해할 수 있었을 것이다.

profile
트렌디 풀스택 개발자

0개의 댓글