본문 바로가기
프로그래밍 놀이터/Tips

[실용주의 프로그래머] 프로토타입과 포스트잇

by 돼지왕 왕돼지 2018. 10. 14.
반응형

[실용주의 프로그래머] 프로토타입과 포스트잇


[실용주의 프로그래머] 프로토타입과 포스트잇, 결합도, 실용주의 프로그래머, 예광탄, 예광탄 vs 프로토타입, 인터페이스 설계, 인터페이스 프로토타이핑, 잠재적 중복, 컴포넌트 책임, 컴포넌트 협력관계, 포스트잇, 포스트잇 프로토타입, 프로토타입, 프로토타입 대상, 프로토타입 폐기처분, 화이트보드 프로토타이핑


-

소프트웨어 프로토타입은 위험요소를 분석하고 노출시키며 이를 매우 저렴한 비용으로 바로잡을 기회를 얻는 것이다.

하나의 프로토타입을 프로젝트의 특정 측면에 중점을 두어 만들어 볼 수 있다.



-

프로토타입은 반드시 코드로 작성해야 한다고 생각하는 사람도 있지만, 꼭 그럴 필요는 없다.

포스트잇은 작업흐름과 앱 로직과 같은 동적인 것들을 프로토타이핑해 볼 수 있는 훌륭한 도구다.

사용자 인터페이스는 화이트보드에 그려 보거나, 페인트 프로그램, 인터페이스 빌더 등을 이용해 기능은 구현하지 않고 인터페이스만을 그려보는 방법으로 프로토타입을 만들 수 있다.



-

프로토타입은 제한된 몇 가지 질문에 답할 목적으로 설계되기 때문에 실제 제품보다 훨씬 작은 비용으로 빠르게 개발할 수 있다.

앞으로 사용자에게는 매우 중요해질지도 모르지만 현재 여러분에게는 당장 중요하지 않은 세부사항 등을 코드에서 무시할 수 있다.



-

만약 세부사항을 포기할 수 없는 환경에 처해있다면, 실제로 프로토타입을 만들고 있는 것인지에 대해 스스로에게 물어보라. 아마도 이런 경우에는 예광탄 스타일의 개발이 더 적절할 것이다.





프로토타입의 대상


-

프로토타입을 통해 조사할 대상은 무엇인가?

위험을 수반하는 모든 것이다.

또한 이전에 해본 적이 없는 것, 최종 시스템에 매우 중요한 것 등이 프로토타입의 대상이 된다.

증명되지 않았거나, 실험적이거나, 의심이 가는 것, 심적으로 편하지 않은 것 모두가 프로토타이핑의 대상이 될 수 있다.

전체적으로 시스템이 어떻게 동작할지에 대한 감을 잡는 것이다.



-

아키텍처 프로토타입에서 규명할 만한 사항은..

    주요 컴포넌트의 책임이 잘 정의되었고 적절한가?

    주요 컴포넌트 간의 협력관계가 잘 정의되었는가?

    결합도는 최소화되었는가?

    잠재적 중복을 찾아낼 수 있는가?

    인터페이스 정의와 제약 사항은 수용할만한가?

    각 모듈이 실행 중에 필요로 하는 데이터에 접근할 수 있는 경로를 갖고 있는가? 모듈은 데이터를 필요로 할 때 데이터에 접근할 수 있는가?





어떻게 프로토타입을 사용하지 않을 것인가?


-

프로토타입을 코드로 만들 때는 시작하기 전에 항상 모든 사람에게 여러분의 폐기처분할 코드를 작성하고 있다는 사실을 이해시켜야 한다.

프로토타입은 그것이 프로토타입임을 모르는 사람들에게는 매우 매력적일 수 있기 때문이다.


만약 적절한 정도만 기대하도록 해두지 않으면 겉으론 완벽해 보이는 프로토타입 시연을 보고 프로젝트 후원자 혹은 관리자가 프로토타입 자체 혹은 이를 보완한 결과를 배포하고자 주장하기 쉽다.

그들에게 나무와 테이프로도 멋진 자동차를 만들 수는 있지만, 나무 자동차를 타고 러시아워에 운전할 수는 없다는 사실을 환기시켜야 한다.


만약 여러분이 작업하는 환경이나 문화에서 프로토타입 코드의 목적이 잘못 해석될 가능성이 크다고 느낀다면, 예광탄 접근 방식을 취하는 게 나을 것이다.




반응형

댓글