Community

개발자 99% 커뮤니티에서 수다 떨어요!

← Go back
8장. 프로젝트 전에
#pragmatic
2년 전
767
1

TIL (Today I Learned) 날짜

2022. 05. 29

오늘 읽은 범위

8장. 프로젝트 전에

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

- Tip> 요구사항을 수집하지 말고 채굴하라.

- 사용자들이 어떤 작업을 현재 어떻게 하느냐는 것을 알아내는 것보다, 왜 그걸 하는지 그 내재적 이유를 알아내는 것이 더 중요하다. 개발을 통하여 마지막에는 그들이 진술한 요구사항을 충족하는 것이 아니고, 그들의 실질적 비즈니스 문제를 해결해야 하는 것이다. 요구사항 이면의 이유들을 문서화해 놓으면, 여러분의 팀은 나날이 구현 관련 의사결정을 할 때마다 이루 말로 할 수 없는 값진 정보를 얻게 되는 셈이다.

- Tip> 사용자처럼 생각하기 위해 사용자와 함께 일하라.

- 유스 케이스를 보는 하나의 관점은 목적 지향성을 강조하는 것이다.

- 표기법의 노예가 되어서는 안 된다. 여러분의 청중과 요구사항을 가장 잘 소통할 수 있는 방법이라면 무엇이든 사용하도록 하라.

- 요구사항 문서를 만들 때 생기는 큰 위험은 지나치게 자세히 서술하는 것이다. 좋은 요구사항 문서는 추상적이다. 요구사항에 관한 한 비즈니스에 필요한 사항을 정확히 반영하는 가장 간단한 진술문이 최고다.

- 요구사항은 아카텍처가 아니다. 요구사항은 설계가 아니며, 사용자 인터페이스도 아니다. 요구사항은 필요다.

- Tip> 구체적인 것보다 추상적인 것이 더 오래간다.

- Tip> 프로젝트 용어사전을 사용하라.

- 모든 선입견을 의심해보고 그것이 명백한 진짜 제약인지 가늠해 봐야 한다.

- Tip> 생각의 틀을 벗어나지 말고, 틀을 찾아라.

- 더 쉬운 방법이 존재 하는가? / 진짜 문제를 풀려고 노력하고 있나. 그렇지 않다면 중요하지 않은 기술적 문제에 정신이 팔려 있는 것인가? / 왜 이것이 문제인가? / 문제를 이렇게 풀기 어렵게 만드는 것이 무엇인가? / 반드시 이 방법으로 해야하는가? / 반드시 해야 하는 일이긴 한가?

- Tip> 준비가 되었을 때 시작하라.

- 어떤 작업을 앞두고 마음속에 어떤 의심이 계속 거슬리거나 웬지 꺼림칙하다면 그 느낌을 따르라.

- 프로토타이핑을 시작하는 것이었다. 어려울 것 같은 부분을 고른 다음, 일종의 개념 입증용 코드를 작성해보라.

- 여러분의 불안감을 조사하는 방법으로 프로토타이핑을 하기로 결정했다면, 반드시 그 목적을 기억하도록 하라.

- 프로그램 명세화란 어떤 요구사항을 가져와 프로그래머가 자기 기술로 작업을 시작할 수 있는 시점까지 정리하는 과정이다. 즉, 사용자의 필요를 명문화한 것이며 최종 시스템이 그 요구사항과 일치할 거라는 암묵적인 계약이기도 하다.

- Tip> 어떤 일들은 설명하기보다 실제로 하는 것이 쉽다.

- 명세와 구현은 단지 동일한 과정, 즉 요구사항을 포착해서 명문화하는 노력의 다른 측면일 뿐이다.

- 건강한 개발 과정은 구현과 테스트에서 나온 반응이 명세화 과정으로 다시 돌아가는 것을 장려한다는 것을 깨닫게 될 것이다.

- Tip> 형식적 방법의 노예가 되지 마라.

- 형식적 방법은 단지 도구 상자 속의 또 다른 도구일 뿐이라는 사실을 늘 기억하라.

- 만약, 주의 깊게 분석한 후에 어떤 형식적 방법을 사용할 필요가 있다고 생각한다면, 기꺼이 그렇게 하라. 하지만 누가 주인인지 분명히 기억해라. 절대로 방법론의 노예가 되지 말라. 동그라미와 화살표들은 좋은 주인이 못된다. 여러분은 자신의 공정을 개선하고 다듬기 위해 끊임없이 노력해야 한다. 절대로 어떤 방법론의 완고한 경계를 여러분 세계의 한계로 받아들이면 안 된다.

- Tip> 비싼 도구가 더 좋은 설계를 낳지는 않는다.

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

- 이번 챕터을 읽으면서 가장 와닿았던 구문은 '사용자처럼 생각하기 위해 사용자와 함께 일하라.' 이다.

- 지금껏 개발을 해오면서, 요구사항을 얼마나 이해하려고 노력했을까? 그저 개발 후 사용자가 미리 요구하지 않았다고? 또한 이렇게 요구해 놓고 왜 이제와서 저렇게 요구하는지? 불만만 가지지 않았나 한다.

- 조금이라도 사용자 입장에서 서서 생각을 해보았을까? 라는 후회를 하며, 앞으로는 사용자 입장에서 생각해보는 프로그래머가 되보려 한다.

1 comment