Drafting vs Formal Specification
Developers should use drafting when working on complex features, ambiguous requirements, or innovative projects where early validation is critical to avoid costly mistakes meets developers should learn formal specification when building high-assurance systems where errors could lead to catastrophic consequences, such as in avionics, autonomous vehicles, or cryptographic protocols. Here's our take.
Drafting
Developers should use drafting when working on complex features, ambiguous requirements, or innovative projects where early validation is critical to avoid costly mistakes
Drafting
Nice PickDevelopers should use drafting when working on complex features, ambiguous requirements, or innovative projects where early validation is critical to avoid costly mistakes
Pros
- +It is particularly valuable in agile methodologies like Scrum or Kanban for creating user story drafts, API prototypes, or UI mockups to gather stakeholder feedback before full-scale implementation
- +Related to: agile-methodology, prototype-development
Cons
- -Specific tradeoffs depend on your use case
Formal Specification
Developers should learn formal specification when building high-assurance systems where errors could lead to catastrophic consequences, such as in avionics, autonomous vehicles, or cryptographic protocols
Pros
- +It is also valuable in academic research, complex algorithm design, and regulatory compliance contexts, as it allows for proof of correctness, model checking, and early detection of design flaws before implementation
- +Related to: model-checking, theorem-proving
Cons
- -Specific tradeoffs depend on your use case
The Verdict
These tools serve different purposes. Drafting is a methodology while Formal Specification is a concept. We picked Drafting based on overall popularity, but your choice depends on what you're building.
Based on overall popularity. Drafting is more widely used, but Formal Specification excels in its own space.
Disagree with our pick? nice@nicepick.dev