Find unknown software requirements with reverse engineering
Use the powerful reverse engineering technique to build a comprehensive requirements list for enterprise software evaluations.
We like to say that requirements are to enterprise software selections as foundations are to a building. Mostly out of sight, but very necessary. Get them wrong and there will be problems. Every time.
When the software disasters that so regularly appear in the industry press are examined, almost without exception inadequate requirements were a significant contributor to the problem. Bear in mind that those cases appearing in the press are only the tip of the iceberg. Most cases, especially the partial failures where expectations were not met, budgets spiraled out of control, or took much longer to implement than planned are never reported which is why you don’t hear about them. And that is part of the reason why so many organizations badly underestimate how difficult it is to gather adequate requirements.
A thorough enterprise software evaluation is more difficult and much more work than most people realize. Unsurprisingly, few organizations have a robust evaluation methodology. When evaluation projects run into difficulty or run out of time, shortcuts are taken, and it is all downhill from there.
One of the most common problems organizations run into is that of finding significant requirements in the implementation phase or later that should have been found in the analysis phase. The later these requirements are discovered, the more expensive they are to satisfy. This leads to the question: How do you discover all significant requirements, especially the ones you don’t know about? Common sources of requirements are:
Analyzing business processes
Using requirement libraries
While all the above are very important sources, there is no guarantee that all significant requirements will be found. The way to find unknown requirements is to use reverse engineering, a technique that is common in electrical engineering, product design and other disciplines. In the context of selecting software, reverse engineering means looking at the features of multiple potential products that could meet your needs and rewriting those features as requirements.
A key idea here is that the features of potential products are the only features you can purchase. That means when you have reverse engineered the features of multiple products you will have all the features that software on the market can satisfy. Of course, it is unlikely that there will be a product with all the features you want, but at least you will have captured those features and can decide how important they are to you.
Once those requirements are captured, when users weighting requirements see them, they recognize how features meeting those requirements will satisfy currently unmet needs. We often hear users exclaiming things like “You mean that modern software really can do that?” Seeing these requirements opens their eyes as to what is possible, and helps build buy-in and excitement with the project.
Software like ERP has thousands of features, so how do you reverse engineer them? The answer is to restrict yourself to the features the differentiate the products. And these just happen to be the features that the software publishers like to talk about the most, which makes your job that much easier.
Once you find that reverse engineering new products no longer generates any significant new requirements, you will have discovered all unknown requirements that can be satisfied by products currently on the market. And when you add reverse engineered requirements to the other ways of gathering requirements, you will have developed a comprehensive list of requirements, which is the foundation for a successful software evaluation.
Requirements are then weighted for importance by users which generates a requirements profile unique to your organization. Potential software products are evaluated against these requirements using an RFP. These requirements are also used to prime the software implementation.
If you lack the time or are having difficulty gathering software or ERP requirements click the [Contact Wayferry] button below. In addition to our curated libraries of well written software and ERP requirements, Wayferry is an independent software selection consulting firm well practiced at using the reverse engineering technique to discover those requirements you don’t know you need.