프로젝트 전에

오늘 TIL 3줄 요약

  • 프로그래머는 사람들이 자신이 원하는 바를 깨닫도록 돕는다.
  • 요구 사항은 피드백을 반복하며 알게 된다.
  • 사용자처럼 생각하기 위해 사용자와 함께 일하라.

TIL (Today I Learned) 날짜

2022. 04. 03

오늘 읽은 범위

8장. 프로젝트 전에

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

  • 완성이라는 것은 더 이상 더할 것이 없을 때가 아니라, 더 이상 뺄 것이 없을 때 달성되는 것이다.
  • Tip 75 자신이 뭘 원하는지 정확히 아는 사람은 아무도 없다.
  • 우리의 일은 사람들이 자신이 원하는 바를 깨닫도록 돕는 것이다. 사실 이게 우리의 가치가 가장 빛나는 부분일 것이다.
  • 우리는 모형이나 프로토타입을 만들어서 의뢰인이 직접 다루어 볼 수 있도록 한다. 만든 모형이나 프로토타입이 이리저리 바꾸기 쉬워서 의뢰인과 대화하는 도중에도 계속 바꿀 수 있다면 이상적이다.
  • 그러니 실용주의 프로그래머는 프로젝트 전체를 요구 사항 수집 과정으로 보아야 한다.
  • 현재의 정책 정보는 시스템이 지원하는 것들 중 한 사례일 뿐이고, 시스템은 다양한 정책을 처리할 수 있도록 일반적으로 구현해야 한다.
  • 우리는 최고의 요구 사항 문서, 아니 아마 유일한 요구 사항 문서는 작동하는 코드라고 믿는다.
  • 문서는 구현 과정에서 안내 역할을 하는 이정표일 뿐이다.
  • 요구 사항 설명을 짧게 제한하면 개발자들이 명확하지 않은 점을 물어보도록 유도할 수 있다. 코드를 작성하기 전이나 작성하는 도중에 일어나는 의뢰인과 개발자 간의 피드백 과정이 더 활발해지는 것이다.
  • 좋은 요구 사항은 추상적이다. 요구 사항을 기술할 때는 사업에 필요한 사항을 정확히 반영하는 가장 간단한 표현이 최고다.
  • 요구 사항은 아키텍처가 아니다. 요구 사항은 설계가 아니며 사용자 인터페이스도 아니다. 요구 사항은 필요를 표현하는 것이다.
  • 만들고 있는 소프트웨어를 직접 사용할 수 있는가? 직접 소프트웨어를 사용하지 못하는데 요구 사항에 대해 감을 잡을 수 있을까?
  • 어떤 퍼즐이든 그것을 해결하는 열쇠는 제약을 인식하는 것과 더불어 여러분에게 주어진 자유도를 파악하는 것이다. 퍼즐의 해답은 그 자유도 안에서 발견된다.
  • Tip 81 생각의 틀을 벗어나지 말고, 틀을 찾아라.
  • 여러분의 뇌에 경험을 주입하는 가장 좋은 방법은 일상적인 작업을 할 때 무엇은 잘되고 무엇은 안되는지 피드백을 주는 것이다.
  • 한 사람이 코드를 입력하는 동안 한 명 혹은 여러 명의 팀 동료가 조언하고 고민하며 문제를 함께 푸는 것이다. 이 방식은 함께 일하는 아주 강력한 방법이다.
  • 이것이 우리가 말하는 "함께 일하기"다. 그저 질문하고, 토론하고 메모를 하는 것이 아니라, 실제로 코딩을 하는 와중에 질문을 하고 토론을 하는 것이다.
  • 입력을 담당한 개발자는 문법이나 코딩 스타일 같은 낮은 수준의 세부 사항에 집중해야만 한다. 반면에 다른 개발자는 문제를 더 높은 수준에서 넓은 범위를 보며 고민할 수 있다.
  • Tip 83 애자일은 명사가 아니다. 애자일은 무언가를 하는 방식이다.
  • 애자일의 가치는 소프트웨어를 만드는 더 나은 방법을 지속적으로 탐구하는 과정에서 찾고 알게 되는 것이기 때문이다.
  • 애자일이 전반적으로 작동하게 하려면 좋은 설계를 만들어야 한다. 좋은 설계는 무언가를 바꾸기 쉽게 하기 때문이다. 바꾸기 쉽다면 모든 층위에서 아무런 주저 없이 문제를 바로잡을 수 있을 것이다. 이것이 애자일이다.

오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요.

요구 사항과 애자일 부분에서 그동안 회사에서 한 경험과 프로젝트가 생각났다. 나는 요구 사항을 잘 이해하고 해결하고 있는가, 정말로 함께 일하고 있는가, 우리가 하는 건 애자일이 맞을까 등등.. 조금 더 많이 고민해봐야겠다!

짝 프로그래밍 이야기가 나왔는데 어렴풋이 찍먹만 해봤던 기억이 나서 스쿼드 프로젝트 진행하면서 한번 적용해봐야겠다는 생각이 들었다. 일단 해보자고~

궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.

불가능한 퍼즐 풀기는 내가 생각의 틀을 벗어나지 못한 것 같다.

오늘 읽은 다른사람의 TIL

TIL 8 실용주의 프로그래머 #8. 프로젝트 전에