기능 사양을 빠르고 효율적으로 작성하는 방법


17

그래서 나는 조엘이 스펙에 관한 멋진 기사를 읽었습니다 . (2000 년에 작성된 것입니다!) 4 개 부분을 모두 읽었지만 사양 작성에 대한 체계적인 접근 방식을 찾고 있습니다.

저는 유명한 외로운 금융 회사를 위해이 복잡한 앱 (또는 앱 제품군)을 작업하는 유일한 외로운 개발자입니다.

나는이 심각한 것을 결코 만들지 않았고, 나쁜 사양, 일종의 개요와 같은 것을 작성하기 시작했으며 많은 시간을 낭비했습니다.

나는 또한 내 고객을 위해 3 가지 모형-킨다-물건을 만들어서 그들이 원하는 것을 잘 이해했다. 또한 미리보기 (가장 기본적인 작업 과정을 갖춘 버리기 작업용 앱)를 발표했으며 핵심 / 기본 시스템 중 일부만 작성하고 테스트했습니다.

지금까지 내가 저지른 실수는 자세한 사양을 작성하지 않았으므로 지금 당장 받고 있습니다.

모든 것은

  • MVC 웹 사이트 (관리자 및 데이터보기)
  • Silverlight 모듈 2 개 (특정 작업 2 개)
  • 데스크톱 응용 프로그램 1 개

나는 시간과 자원이 완전히 부족하고 이것을 빨리 끝내야하며,이 사람들이 똑같이 빠르고 고통없이 그것을 읽도록해야합니다.

  • 그래서 어떻게 해야합니까, 나는 어떤 팁, 실제적인 것들을 찾고 있습니다. 여러분은 보통 어떻게합니까?
  • 모든 대화 상자 / 양식 / 페이지의 모의 화면을 작성합니까?

더미 ASP.NET Web Forms 프로젝트를 만들고 폴더 에 HTML 파일 을 채우고 MVC URL 구조처럼 보이게하려고합니다.

그런 다음 웹 사이트의 사양에 섹션을 작성하고 스크린 샷이있는 모든 URL에 대한 페이지를 작성하십시오.

내 승리 양식 응용 프로그램을 위해, 나는 다소 데모 승리 양식 프로젝트로했습니다 나는 것 내가처럼 다음 실제 응용 프로그램에서 대화 상자 나 구조 모두에 넣어 다음 화면은 촬영?


이 질문에 대한 배경 지식이 있습니다. 나는 항상 미친 코드로 뛰어 들었습니다. 작동했습니다.하지만 내가 작업중 인 앱의 경우 복잡 할뿐만 아니라 매우 평판이 좋고 대기업을위한 것입니다. 권리!

(그리고 지금까지는 잘 진행되어 왔으며 오늘 많은 사람들이 좋아하는 미리보기 버전의 데모를 제공했습니다 !! = D)

초기 디자인을 제대로 이해한다면이 회사와도 훌륭한 비즈니스를 할 수있을 것입니다. 이미 지불 할 준비가 된 새로운 "멋진"기능에 대해 많은 생각이 있습니다.


이게 당신인가요? 고객이 요청 했습니까? 더 많은 개발자가 팀에 합류 할 것으로 예상하십니까?
JeffO

주로 내 개발을 돕습니다. 때때로 우리는 이미 우리가 이미 논의했을 때 "오, 우리는 xxx 또는 yyy를해야합니다"라고 말하는 임의의 재무 담당자를 얻습니다. 이른바 제 사양은 요약 일 뿐이므로 추가 비용을 지불하기 위해 추가 기능을 추가합니다! 기본적으로 Joel Spolsky가 스펙을 쓰지 않을 때 그의 기사에서 언급 한 대부분의 문제가 있습니다.
기드온

답변:


22

기사 2 부나 샘플 사양 을 읽었습니까 ? 사양을 작성할 때 몇 가지 중요한 원칙을 구현합니다.

  • 지나치게 디자인하지 마십시오. 사양을 작성하는 목적은 오류가 발생할 때 발생하는 일과 사용자가 시스템과 상호 작용할 것으로 예상되는 방식과 같은 중요한 사항에 대해 생각하게하는 것입니다. 작업 할 수있는 물건을 얻기 위해 지나치게 자세하게 설명하지 않아도됩니다. 그러나 세부 사항이 필요합니다.
  • 의사 소통에 관한 것입니다. 이 사양의 목적은 수행해야 할 작업에 대한 공통의 동의를 얻는 것입니다. 법의 힘을 요구하는 강력한 문서가 아닙니다. 이 도구는 고객을 더 잘 이해하고 고객이 원하는 것을 더 잘 이해하도록 도와주는 도구입니다.

최선의 조언은 자신이해야 할 일을 명확하게 할 있도록 충분히 글을 쓰는 것입니다. 공개 질문이있는 경우 사양에 해당 질문을 문서화하고 고객으로부터 답변을 받으십시오. 필요한 것을 적절히 이해하면 중지하십시오 .

주의하지 않으면 문서 자체의 수명이 다합니다. 한 가지 목적이 있어야하며, 그 목적에 맞지 않는 문서에는 아무것도 추가하지 마십시오. 유지 관리가 쉬워야합니다. 단위 테스트에 실제로 포함 된 다른 세부 사항과 함께 전체 세부 클래스 다이어그램이있는 경우 유지 보수가 너무 많아 문서를 포기하거나 프로젝트를 완료하지 못합니다.


글쓰기

사람들을위한 글쓰기는 어렵다 . 실제로, 글쓰기에있어 가장 어려운 두 가지는 시작 하는 방법 과 언제 중지 해야 하는지를 아는 것 입니다. 처음에는 무언가를해야합니다. 이 두 가지 어려운 측면을 다루기위한 조언은 다음과 같습니다.

  • 청중을 아십시오. 누가 사양을 읽어야합니까? 그것이 당신과 고객이라면, 그것은 당신이 쓰는 사람입니다. 테스트를 담당하는 사람이 있다면 그들에게도 메모가있을 것입니다.
  • 가장 우선 순위가 높은 것부터 시작하십시오. 인증이 중요하지만 로그인 화면은 아마도 대부분의 사람들이 작성해야하는 가장 잘 이해되는 부분 일 것입니다. 대신 사용자에게 가장 필요한 기능에 집중하십시오. 알다시피, 돈을 버는 부분은 소프트웨어가 필요한 전체 이유입니다.
  • 궁금한 점이 있으면 답변을 받으십시오. 고객이 배치에 만족할 때까지 필요한 경우 냅킨 도면으로 물건을 정말 간단하게 유지하십시오. 어떤 정보가 관련되어 있고 어떻게 정보를 사용하는지 아는 것이 중요합니다.
  • 더 추가 할 때 값이 추가되지 않으면 중지하십시오. 스펙에서 원하지 않는 세부 사항이 있습니다. 옳은 일이있을 때 알아야합니다. "albaquerque"라는 메소드 내에 변수가 있다는 것을 알 필요가 없습니다. 사양이 아닌 소스 코드입니다.

답장 주셔서 감사합니다. 네. 나는 Joels 기사의 네 부분을 모두 읽었습니다. 전체 스크리닝 프로세스는 어떻습니까? 더미 페이지 (일반적인 모양의 페이지)와 양식을 먼저 만들까요? 무엇을 써야하는지 알기 위해 아니면 글쓰기를 시작합니까?
기드온

아는 것부터 시작하십시오. 예쁘게 만들지 않도록 간단하게 유지하십시오. 그 길로 내려 가면 다른 사람의 도움이 필요합니다 (없는 시간이 걸립니다). 예쁜 사양은 요약하기가 쉽지만 많은 작업이 필요합니다.
Berin Loritsch
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.