구조에 명백한 선장!
캡틴이 될 것입니다. 여기에 중간 근거가 있습니다.
미래를 위해 구축하고 기술적 선택이나 나쁜 디자인에 얽매이지 않기를 원합니다. 그러나 단순해야 할 것을 설계하거나 수명이 2 년이고 후속 프로젝트가 거의없는 빠르고 더러운 앱의 확장 점을 추가하는 데 3 개월을 소비하고 싶지는 않습니다.
제품의 성공 여부를 항상 예측할 수는 없으며 나중에 제품을 확장해야하므로 차이를 찾기가 어렵습니다.
지금 구축하십시오 ...
- 프로젝트가 폐기 될 것입니다
- 프로젝트 수명이 짧다
- 프로젝트 확장이 없어야합니다
- 프로젝트에는 위험 영향 가치가 없습니다 (주로 이미지 측면에서)
일반적으로 현재 사내 프로젝트 나 고객을 위해 개발 된 것이 개발되어야합니다. 요구 사항이 정확해야하며 필요에 따라 필요하지 않은 것을 알아야합니다. "좋은 것"에 너무 많은 시간을 보내고 싶지 않습니다. 그러나 돼지처럼 코딩하지 마십시오.
필요할 때 노력할만한 가치가 있다면 나중에 일반 문제를 남겨 두십시오.
미래를 위해 건설
- 프로젝트는 공개됩니다
- 프로젝트는 재사용 할 구성 요소입니다
- 이 프로젝트는 다른 프로젝트를위한 디딤돌입니다
- 프로젝트는 개선 된 후속 프로젝트 또는 서비스 릴리스를 갖습니다.
대중을 위해 건축하거나 다른 프로젝트에서 재사용 할 계획이라면 나쁜 디자인이 다시 등장 할 가능성이 훨씬 높아 지므로 더주의를 기울여야합니다. 그러나 항상 보장되는 것은 아닙니다.
지침
다음과 같은 원칙을 최대한 준수하고 효율적이고 적응 가능한 제품을 설계해야합니다.
- 알고 YAGNI을 ,
- 키스 ,
- 가려움증을 긁고 추가를 생각할 때마다 적어 두십시오. 프로젝트 요구 사항을 되돌아보고 추가가 우선 순위인지 아닌지 스스로에게 물어보십시오. 그들이 주요 비즈니스 가치 를 추가하는지 묻습니다 .
나는 개인적으로 지나치게 생각하고 지나치게 설계하는 경향이 있다는 것을 알고 있습니다. 아이디어를 작성하는 데 도움이되며 추가 기능이 필요한 경우 종종 다시 생각하는 것이 좋습니다. 대답은 '아니오'또는 '나중에 시원 할 것'입니다. 그 마지막 아이디어는 내 머리 뒤에 머물러 있기 때문에 위험합니다. 나는 계획을 세우지 않도록 스스로를 강요해야합니다.
과도하게 엔지니어링하지 않고 나중에 스스로를 차단하지 않고 코딩하는 가장 좋은 방법은 최소한의 훌륭한 디자인에 집중하는 것입니다. 나중에 확장 할 수는 있지만 나중에 확장 할 수 있는 방법에 대해서는 생각하지 않고 구성 요소를 정리하십시오 . 미래를 예측할 수 없습니다.
간단한 것들만 만드십시오.
딜레마 타
오버 엔지니어링
이와 같은 프로젝트를 진행할 때 프로그래머가 일반적으로 따르는 추세입니까?
그럼 당연하지. 알려진 딜레마이며 제품에 대한 관심 만 표시합니다. 그렇지 않으면 더 걱정됩니다. 적은 것이 항상 더 많은지 아닌지, 더 나쁜 것이 항상 더 나은지에 대해서는 의견이 일치하지 않습니다 . 당신은 MIT 또는 뉴저지 종류의 사람 일 수 있습니다. 여기에 쉬운 대답이 없습니다.
프로토 타이핑 / Quick-n-Dirty / Less is more
가능한 한 빨리 실행 가능한 예를 없애는 것이 일반적인 추세입니까?
일반적인 관행이지만 대다수의 프로젝트에 접근하는 방식이 아닙니다. 여전히 프로토 타이핑은 제 생각 에는 좋은 경향이지만 평균 단점이 있습니다. 실제 제품에 대한 빠르고 더러운 프로토 타입을 홍보하거나 관리 압력 또는 시간 제약 조건에서 실제 제품의 기반으로 사용하려는 유혹이있을 수 있습니다. 그때 프로토 타이핑이 다시 당신을 괴롭힐 수 있습니다.
프로토 타이핑 에는 분명한 장점이 있지만 오용 및 남용 의 가능성이 많습니다 (이전에 언급 된 장점과 결과의 정확한 반대).
프로토 타이핑을 언제 사용해야합니까?
프로토 타이핑을 사용 하는 가장 좋은 유형의 프로젝트에 대한 힌트가 있습니다 .
[...] 프로토 타이핑은 사용자와 많은 상호 작용을하는 시스템에서 가장 유리합니다.
[...] 프로토 타이핑은 온라인 시스템의 분석 및 디자인, 특히 화면 처리 대화 상자 사용이 훨씬 많은 트랜잭션 처리에 특히 효과적입니다. 컴퓨터와 사용자 간의 상호 작용이 클수록 더 큰 이점이 있습니다 ...]
"현재까지 빠른 프로토 타입 제작의 가장 생산적인 용도 중 하나는 반복적 인 사용자 요구 사항 엔지니어링 및 휴먼 컴퓨터 인터페이스 디자인을위한 도구였습니다."
반면에 :
일괄 처리 나 계산을 주로 수행하는 시스템과 같이 사용자 상호 작용이 거의없는 시스템은 프로토 타이핑의 이점이 거의 없습니다. 때때로 시스템 기능을 수행하는 데 필요한 코딩이 너무 집중되어 프로토 타입이 제공 할 수있는 잠재적 인 이득이 너무 작을 수 있습니다.
주변에 녹색 괴물이 있다면 예산 내에서 프로토 타입을 유지하십시오 ...