Swimming with the Razorfishes

Thursday, September 23, 2004

How to Write Software Requirements that Suck

  • Put too much in one document; ignore the audience; assume that one document will serve all purposes and completely specify the system.
  • Don't establish a shared vocabulary used by clients and development team.
  • Don't separate functional and non-functional requirements.
  • Don't involve a designer or tech lead in the writing of the requirements.
  • Don't use precise, consistent language.
  • Don't separate workflow, rules, and business context.
  • Focus entirely on how to get data into the system; don't consider where it goes, or how to get it back out.
  • Focus on how to solve a problem, rather than what needs to be solved.
  • Don't understand how to convert / migrate data from the old system.
  • Don't create a concise summary, mission statement, or statement of work.
  • Have the wrong people review the document; assume that one person from the client department has perfect understanding of all aspects of the new system.
  • Declare victory once the first draft is done; don't plan for iterations or changes.
  • Don't pay any attention to secondary clients or systems.
  • Organize the information poorly; let rule definitions and data mingle and repeat themselves.
  • Don't institute any change management procedures; allow anyone to change the requirements at any time and don't notify anyone when they do change.
  • Assume that once the clients approve the requirements they won't change their mind.
  • Don't break the requirements down into versions or releases.
  • Don't prioritize the requirements; if you do prioritize, use some wacky scheme like priorities from 1 to 100.
  • Don't provide the client any tools to visualize the end result; rely entirely on words to describe the requirements.
  • Assume that everyone is comfortable reading enormous, really dense documents.
  • Don't number the paragraphs.
  • Focus entirely on the system's data, how it is structured; ignore workflow.
  • Assume that you can write the document entirely based on interviews; don't bother to shadow the clients while they actually do the work.

0 Comments:

Post a Comment

<< Home