Skip to main content

Stuff Passing as Requirements (SPAR)

Quality software depends on the quality of requirements.  It's not easy to separate real software requirements from other stuff passing as requirements (what I will call SPAR). 

If you were to transcribe a requirements interview and analyze all the documents which are used to inform requirements, you would find the majority of words spoken or written do not translate into actionable requirements.

Here are some common examples of SPAR which you can easily find in software solicitations:

Meaningless bromides
  • User friendly
  • Intuitive
  • Seamless integration
  • Leading edge of technology
Dangerous ambiguities
  • Including, but not limited to...
  • Integration with multiple [unspecified] systems
  • Compatible with mobile devices to be identified later
Impossible constraints
  • Easily accommodate changes without programming
  • Compatible with [unspecified] future products and technologies
  • Meet all privacy laws enacted by federal, state or local governments
  • All updates are accomplished in real time
A skilled analyst or architect knows how to distinguish the signal from the noise because he or she has a mental model of the completed solution based on prior experiences.  A solid understanding of the technology which will be used for the solution is essential for this mental model, because the technology drives the solution paradigm and the user experience.

Agile approaches can contribute to reaching a solution by allowing faster iterations.   The essence of the Agile Manifesto provides for the team to ignore distractions and dead ends and push to deliver software that works. 

Popular posts from this blog

The DATA Act Driving Grant Management Automation

The Digital Accountability and Transparency Act enacted in May 2014 calls for making spending data available in open, standardized formats to be published online.  It is a continuation of transparency initiatives and lessons learned with experiences such as grants.gov, the 2009 economic stimulus under the Recovery Act and the spending site USASpending.gov.

Government grantees will have significant new administrative responsibilities.  Many organizations that were tracking grants in spreadsheets or documents will have to adopt more sophisticated automated grant management systems such as Microsoft Grants Manager to keep up with reporting rules.

For profit companies will lose some privacy as a result of this law.  Grant recipients will be required to disclose information including officer salaries.

Continued improvements to publishing grant opportunities such as grants.gov may make it easier to find grants. These reforms together are designed to improve the effectiveness of grant prog…

Microsoft Dynamics 365 for Community Business Development

Local governments agencies such as the Office of the Deputy Mayor for Planning and Economic Development in my hometown of Washington, DC, - work on behalf of residents to improve living conditions, create economic opportunities and jobs by attracting businesses and helping businesses thrive. A customer relationship management system is key to work in community business development.  If you are a Microsoft customer, which apps in Dynamics 365 should you use for business development?
Core functions - All the Dynamics 365 modules track accounts (companies) and contacts (individuals) as well as activities such as phone calls, emails, letters, and meetings. Sales - Dynamics 365 for Sales provides the ability to track opportunities to attract startup businesses or businesses that are relocating from another area. Sales includes functions for qualify opportunities and working through all the steps in your workflow through a successful win.  You can ascribe dollars to opportunities as well as…

Key Concepts for Microsoft Dynamics 365: Entities and Attributes

To understand Microsoft Dynamics 365 (formerly Dynamics CRM and Dynamics 365 Customer Engagement), you need to learn some new terms and concepts that may be a bit different from what you know from databases and solutions that are hosted on premises. This is the second post in a series, and covers entities and attributes.

Entities are the most fundamental part of Dynamics 365 in terms of storing your business data.  They are similar in concept to database tables, and the relate to one another like tables in a relational database. For instance, Dynamics 365 has an entity called Contacts that stores data such as name, address, and email address of people that you track.   Accounts is a related entity that describes the organizations to which Contacts may belong.

Although they are similar to database tables, Dynamics entities allow you to do some customizations that are not possible in a standard database table.  Field labels, for instance, are part of an entity, and they may differ from …