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


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.