8 Software Requirements Traps to Avoid
The path to quality software begins with excellent requirements. On the other hand, project’s failure and frustration are common when ignoring best practices for the processes of requirements development and management.
The definition of terms and concepts can differ between users. That’s why clear and understandable requirements are the foundation of software projects.
Reviewing requirements with your team will lead you to an important common ground. Creating a glossary with the most used technical terms can be a great way to express both simple and complex concepts. If necessary, enhance them with visuals. LucidChart and Gliffy are great visualization add-ons for Atlassian tools like Confluence.
Inadequate Customer Involvement
User classes that are despised and stakeholders that position themselves as the main users are common situations that happen during requirements analysis.
Identify which users might be responsible for deciding and reviewing the proposed requirements. Establish criteria so that the deliverables are aligned with customer expectation.
The requirements priorization is one of the most important steps. This can turn into a complicated task when varied stakeholders might interpret “high” priority differently.
To avoid doubts among developers, it is fundamental to define the priority categories clearly to promote consistent classification related to the system that is being developed.
Functionality No One Uses
Have you ever experienced the frustration of implementing features that users swore they needed, then not seeing anyone use them? You’re not alone.
Be aware of proposed functionality that isn’t clearly related to known user tasks or to achieving your business goals. Have customers rate the value of each proposed feature, based on the relative customer benefit to avoid high costs requirements that provides relatively low value.
Requirements engineering is a science and neither system is perfect.
Write requirements that reflect system’s reality so that is easier to verify it, consequently simplifying future maintenances and corrections for continuous improvement of the application.
Requirements development seems to be endless? Remember that your goal is not to create a perfect requirement but to develop portions to proceed at acceptable risk.
Choose an appropriate development lifecycle that will let you implement pieces of the requirements as they become understandable. Align communication with clients, business analysts, developers and testers and define the risks of starting the development before concluding the requirement.
Bad Requirements Gathering
Decentralized and ineffective communication can lead to discordance on requirement gathering process.
Establish a template for documenting your requirements with sessions, standard copies and diagrams. A standard documentation process helps analysts to be aligned with what needs to be delivered.
Inadequate Change Process
Some people might sidestep the change process by talking directly to software team members to get changes incorporated before they’re approved. The decision maker must validate, establish and communicate the process to all those affected.
Define a practical change control process for your project and compare priorities with already existent requirements at the backlog. At e-Core, we use an integration between JIRA and Confluence to improve our change management by tracking, collecting and communicating changes.
Finally, Lucas shared some tips to avoid the requirement documentation gaps:
- Define only one requirement at a time;
- Avoid exclusion clauses. Example: but, except, if necessary;
- Each requirement needs to translate a single idea;
- Don’t speculate about requirements;
- Understand different requirement types;
- Build a collaborative relation between system analysts and users;
- Build a well-trained and seasoned team to gather requirements.
Boost your knowledge in requirement engineering and business analysis:
- Software Requirements, 3rd Edition,by Karl Wiegers and Joy Beatty (Microsoft Press, 2013)
- Business Analysis Body of Knowledge – BABOK
The Atlassian Marketplace is a portal that provides access to many apps that will optmize tools that you use, like Jira, Confluence, Bamboo and others. In addition, you can differentiate yourself by your integration potential. It allows customers to discover and...
We know that at the time of purchase and / or renewal of licenses of Jira, Confluence or other Atlassian tool, some doubts arise. In an effort to help you solve some of them, we've chosen the key issues we're addressing at the moment. Are additional licenses required...
Understand the benefits of purchasing licenses with an Atlassian Platinum Partner and make it easier for your to obtain tools like Jira, Confluence and Marketplace Apps.