문제

나는 결코 작성 기능적 사양,내가 선호하는 뛰어 코드 및 디자인 것으로 나는 이동합니다.지금까지의 잘했지만,최근에 개인적인 프로젝트를 쓰고 있어요 몇몇 사양 설명하는 모든 제품의 기능,그리고 어떻게 그것은'일'없이의 세부 사항으로 가는 방법을 제공될 예정입니다,나는 그것을 찾는 매우 중요합니다.

당신의 생각은 무엇입니까,당신은 당신이 쓰 사양 또는 당신은 단지 시작하는 코딩과 같은 계획을 이동하는 방법은 더 나은?

도움이 되었습니까?

해결책

집에서 가장 가까운 식료품 점으로 운전하는 경우지도가 필요하지 않을 것입니다. 하지만...

당신이 다른 주에서 한 번도 본 적이없는 곳으로 운전한다면 아마도 그렇게 할 것입니다.

운전의 재미를 위해 무작위로 운전하는 경우지도가 필요하지 않을 것입니다. 하지만...

가장 효과적인 방식으로 어딘가에 도착하려고한다면 (거리를 최소화하고, 시간을 최소화하고, 길을 따라 세 번의 특정 정거장을 만드십시오).

혼자서 운전하고 원하는만큼 오래 걸릴 수 있다면 흥미로운 것을 보거나 목적지 나 경로를 재고 할 때마다 멈추면지도가 필요하지 않을 수 있습니다. 하지만...

호송대의 일원으로 운전하고 있고 모든 음식을 만들어야하고 밤새 숙소가 함께 멈추고 함께 도착해야한다면 아마도 그렇게 할 것입니다.

내가 프로그래밍에 대해 이야기하고 있지 않다고 생각한다면 아마도 기능 사양, 스토리 카드, 내러티브, CRC 등이 필요하지 않을 것입니다.

내가 생각한다면, 당신은 위의 것 중 하나 이상을 고려하고 싶을 것입니다.

;-)

다른 팁

"코드에 뛰어 들고" "디자인이 될 때"를 가진 사람의 경우 기능 사양을 포함한 모든 것을 쓰는 것이 현재 방법보다 낫다고 말할 것입니다. 시간을내어 시작하기 전에 그것을 생각하고 디자인하는 데 시간과 노력이 절약 될 수 있습니다.

  • 요구 사항은 필요한 것을 정의하는 데 도움이됩니다.
  • 디자인은 계획하고있는 것을 정의하는 데 도움이됩니다.
  • 사용자 문서는 귀하가 한 일을 정의합니다.

대부분의 장소는이 세 문서의 변형이 있음을 알 수 있습니다. 기능 사양은 설계 문서에 뭉쳐 질 수 있습니다.

읽는 것이 좋습니다 급속 성장 당신이 확신하지 않는다면. 계획과 디자인에 더 많은 시간을 할애하면 더 빨리 일을 할 수 있습니다.

대형 소프트웨어 프로젝트를 위해 "코드로 직접"점프하면 거의 반드시 실패로 이어질 것입니다 (다리를 건설하기 위해 벽돌을 포즈를 취하는 즉석이마다).

남자들 37 신호 복잡한 사양을 작성하는 것보다 종이에 짧은 문서를 작성하는 것이 좋습니다. 나는 이것이 새로운 웹 사이트를 신속하게 조롱하는 데 사실 일 수 있다고 말하고있다 (디자인과 아이디어가 엄격한 스키마보다 더 나은 스키마보다 더 나은 곳)이지만 다른 실제 상황에서는 항상 허용되는 것은 아닙니다.

고객이 서명 할 수있는 사양 문서가 (법적, 심지어) 중요성을 생각해보십시오.

사기는 아마도 다음과 같습니다 유연한, 기능적 또는 기술 사양으로 계획하십시오 필요한만큼, 프로젝트의 시나리오에 따라.

일회성 해킹 및 소규모 유틸리티의 경우 귀찮게하지 마십시오.

그러나 심각하고 큰 응용 프로그램을 작성하고 고객을 요구하는 고객이 있고 오랫동안 운영 해야하는 경우 필수입니다. Joel 's Great를 읽으십시오 조항 주제에 대해 - 그들은 좋은 출발입니다.

나는 두 가지 방법을 모두 수행하지만 시험 중심 개발에서 무언가를 배웠습니다 ...

로드맵으로 코딩에 들어가면 여행이 끝날 때마다 도로를 걸어 가기 시작하면 중간에 포크가 어떻게 될지에 대한 아이디어를 얻지 못하면 도로를 걷기 시작하면 더 빨리 도착할 수 있습니다.

당신은 모든 기능이 무엇을 할 것인지에 대한 모든 세부 사항을 기록 할 필요는 없지만 모든 것이 잘 작동하도록해야 할 일을 알 수 있도록 기본 사항을 정의하십시오.

말하기에, 나는 어제 일련의 예외 핸들러를 작성해야했고, 나는 그것을 전혀 건축하지 않고 바로 뛰어 들었다. 어쩌면 나는 내 자신의 조언을 다시 읽어야 할 것입니다.)

많은 사람들이 인정하거나 깨닫기를 원하지 않는 것은 소프트웨어 개발이 엔지니어링 분야라는 것입니다. 그들이 어떻게 접근하는지에 대해 많은 것을 배울 수 있습니다. 응용 프로그램에서 당신이 무엇을 할 것인지를 매핑하는 것이 소규모 프로젝트에서 반드시 중요한 것은 아닙니다. 일반적으로 신속하게 돌아가서 실수를 고치는 것이 더 쉽기 때문입니다. 시스템이 먼저 할 일을 기록하는 것과 비교하여 얼마나 많은 시간이 낭비되는지 알 수 없습니다.

실제로 대규모 프로젝트에서는 시스템의 작동 방식과 수행 방식에 대한 로드맵이 거의 필요합니다. 당신이 원한다면 그것을 기능 사양이라고 부르지 만 일반적으로 B 단계가 A를 따르는 이유를 보여줄 수있는 무언가가 있어야합니다. 우리 모두는 우리가 그것을 즉시 생각할 수 있다고 생각하지만 (나는 이것에 대해서도 유죄입니다) 실제로 우리에게 문제를 일으킨다. 다시 생각하고 당신이 몇 번이나 무언가를 만났는지 스스로에게 물어보고 "내가 그 일찍 생각했으면 좋겠어?"라고 스스로에게 말했습니다. 또는 다른 사람이 당신이 한 일을보고, 당신이 당신이 10을 차지한 과제를 달성하기 위해 3 단계를 밟을 수 있음을 보여주었습니다.

종이에 내려 놓으면 실제로 당신이 무엇을할지 생각하게됩니다. 그것이 종이에 있으면 더 이상 성가신 생각이 아니며 그것을보고 당신이 생각하고있는 것이 실제로 의미가 있는지 평가할 수 있습니다. 한 페이지 문서를 변경하는 것이 5000 줄의 코드를 변경하는 것보다 쉽습니다.

XP (또는 유사한) 환경에서 일하는 경우 이야기 많은 단위 및 복도 사용 가능성 테스트와 함께 개발을 안내합니다 (나는 쿨 원조, 나는 추측).

그러나 사양이 절대적으로 필요한 영역이 있습니다 : 외부 팀과 조정할 때. 나는 대규모 보험 회사와 프로젝트를 가졌으며 특정 프로그램 행동, 데이터베이스 디자인의 일부 측면 및 여러 파일 레이아웃에 대한 계약이 필요했습니다. 사양없이 나는했다 넓은 우리가 약속 한 것에 대한 창의적 해석에 개방적입니다. 이들은 좋은 사람들이었습니다 - 나는 그들을 신뢰하고 그들과 함께 일하는 것을 좋아했습니다. 그러나 그럼에도 불구하고 그 사양이 없으면 죽음의 행진이었을 것입니다. 사양을 사용하면 항상 합의 된 레이아웃에서 벗어난 곳이나 추가 사용자 정의 작업을 요구하는 곳 ($$!)을 지적 할 수있었습니다. 반 방향 적 관계로 작업하는 경우 사양은 더 나빠질 수 있습니다 : 소송.

오 예, 나는 Kieveli에 동의합니다. "코드로 올바른 점프"는 거의 좋은 생각이 아닙니다.

나는 그것이 문제의 유형에 완전히 의존한다고 말할 것입니다. 나는 나 자신에게 그것을 묻는 경향이있다. 나는 또한 이것에 대해 토론했고 나의 개인적인 경험은 말한다.

나는 여러 가지 이유로 코드에 뛰어 들지 않고 먼저 종이에 느슨하게 사소한 문제를 분해하고 싶습니다.

  • 내가 종이에 쓴 물건은 컴퓨터에 컴파일하거나 이해할 필요가 없습니다.
  • 종이에서 임의의 추상화 수준에서 일할 수 있습니다.
  • 사진과 다이어그램을 정말 쉽게 추가 할 수 있습니다
  • 개념을 매우 빨리 생각하고 디버깅 할 수 있습니다.

내가 다루고있는 문제가 상당한 시간이나 다른 많은 사람들이 포함될 가능성이 있다면, 나는 그것을 개요 기능 사양으로 작성하겠습니다. 다른 사람이 소프트웨어를 개발하기 위해 돈을 지불하고 모호성의 가능성이 있다면이 모호성을 제거하기 위해 추가 세부 사항을 추가 할 것입니다. 또한이 문서를 소프트웨어가 작성되면 자동화 된 테스트 케이스를 개발하기위한 시작점으로 사용하고 싶습니다.

다시 말해서, 나는 내가 쓰고있는 소프트웨어를 제대로 이해하고 관련된 다른 사람의 가능성을 해결하기 위해 기능적 사양을 충분히 씁니다.

나는 거의 필요성을 느끼를 위해 기능을 사용할 것을 권장합니다.새로운 나는 항상 사용자에 대한 책임 기능을 휴대폰 포함한 다양한 서비스를 제공할 수 있도록 항상 그들을 위한 기능적 요구 사항으로 이동.

나에게 기능적 사양의 정치 도구는 기술보다.나는 당신은 스펙을 수상을 비난 스펙을 경우 당신이 나중에 문제가 발생과 구현합니다.하지만 비난하는 사람은 정말로 관심이 없는 저에,문제는 여전히 있을 것입니다 경우에도 당신이 찾아 희생양,더 나은 다음을 방문 구현하려고합니다.

그것은 사실상 거의 불가능에 좋은 사양기 때문에,당신은 정말 알 수 없는 충분히 하나의 문제 또는 공구 또는 미래의 변화에서 환경을 위한 것이 바로 그것.

따라서 생각이 훨씬 더 중요하기에 적응하는 민첩한 접근 방식을 개발하고 헌신에 충분한 리소스 및 시간을 다시 방문과 리팩터로 이동합니다.

쓰지 않는 것이 중요합니다. 기능 사양에 대한 기능은 없습니다

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top