Skip to main content

Software Requirements: Is it a Toaster or an Aircraft Carrier?

Building software solutions begins with identifying business requirements, and many project failures can be traced to poor requirements.

Part of the problem is that features and requirements language is often too broad or ambiguous, leading to conflicting interpretations, as I discussed in a blog post Stuff Passing as Requirements. These include meaningless expressions such as "intuitive," "user friendly" and "seamless integration" as well as impossibly broad statements like "meets all applicable compliance requirements."

One of my favorite classic information technology textbooks is Exploring Requirements: Quality Before Design by Donald C. Gause and Gerald Weinberg.  The book is a great foundation for understanding product development, not just for software development.  It will encourage you to ask more questions and think about requirements in new ways to make your projects more successful.

Another, related problem, is that information technology is by its nature both abstract and plastic, because it may be applied in so many different ways.  We often search for metaphors to help us scope software projects.  Sometimes the metaphor can illuminate, but often it obscures.

One of the most common metaphors I hear in software projects is the automobile.  "Do you want a Chevrolet, or a Cadillac?"  The idea is to separate required features from optional features.  This often fails in software projects, because a requirement of "red, has four wheels and carries passengers" applies to Radio Flyer wagons and to Ferraris.  One of our clients described a software requirement as so broad, you could use it to build an aircraft carrier. 

We also hear the analogy of a house or building.  How many rooms, or stories, or how tall do you want your software?  Again, this can be a point of departure, but often we end up with a skyscraper resting on the foundation of a shack because of changes made during the course of a project.

In the end, I often find that users cannot determine what they want or need until they see it. Prototyping and looking at comparable systems is much more useful than blue sky requirements brainstorming.  This approach allows you to benefit from the experience of others who have already covered similar territory rather than starting from scratch. 

Please share your software requirements experiences with me on Twitter @jamestownsend. 

Popular posts from this blog

Key Concepts for Microsoft Dynamics 365: Tenant, Instance, App and Solution

To understand Microsoft Dynamics 365 (formerly Dynamics CRM), 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 post introduces some of the key terms and how these concepts are important for planning your implementation. While Dynamics 365 is available on premises, it is most commonly deployed on the Microsoft cloud.  This blog post discusses only cloud implementations. Microsoft has multiple clouds such as commercial and government community clouds. We start with a Microsoft tenant .  A tenant is the account you create in the Microsoft Online Services environment (such as Office 365) when you sign up for a subscription. A tenant contains uniquely identified domains, users, security groups, and subscriptions.  Your tenant has a domain name of .onmicrosoft.com such as acme.onmicrosoft.com.  User accounts belong to a tenant, and subscriptions are assigned to user accoun

Replacing Microsoft InfoPath with Power Apps

Source:  https://powerapps.microsoft.com/en-us/infopath/ Microsoft has offered a number of forms automation products over the years, and the most long running was InfoPath which was released as part of Office 2003.  InfoPath is a powerful and flexible product that stores user data in XML while offering form features such as rules, data validation, scripting, and integration with SharePoint.  The popularity of SharePoint resulted in many organizations standardizing on InfoPath for forms, especially internal forms which are hosted on an intranet such as employee reviews, leave and payment requests, and human resources forms. Microsoft has discontinued InfoPath, with mainstream support ending July 13th, 2021, and extended support ending July 14th, 2026. Microsoft has named Power Apps as the successor to InfoPath .  Power Apps has much in common with InfoPath.  Both products include integration with SharePoint.  Both are geared toward the citizen developer and do not require advan

Power Apps Portal: The Successor to Microsoft Dynamics Portal

In case you have been reviewing Microsoft's new pricing for its Dynamics products which was released this month and have been unable to find Dynamics Portal, it has been rebranded as Power Apps Portal and shifted to the Power Apps side of the Microsoft product family. Rebranding the portal product underscores the importance of app scenarios involving external users such as customers and suppliers.  It also provides a simpler interface than Dynamics 365 for occasional users. The new portal pricing is based on the number of unique users who log into the portal each month (for authenticated users) and on the number of page views for anonymous users.  "A login provides an external authenticated user access to a single portal for up to 24 hours. Multiple logins during the 24-hour period count as 1 billable login. Internal users can be licensed either by the PowerApps per app or per users plans, or a qualifying Dynamics 365 subscription." Pricing starts at $200/mo