About this Paper
As projects grow in complexity, so too does the challenge of ensuring everyone understands the scope of the project and they stay in sync on the ever-evolving requirements. How can you manage projects more effectively when scope changes?
This paper discusses how the combination of collaboration, traceability, test coverage and change management helps teams deliver successful projects with confidence.
Three Elements of a Successful Project
The first element is data. Here you are capturing many requirements, test cases, tasks, and user stories. You are managing data by capturing information for projects in Word, Excel or in a specialized tool.
The second element is process. It is really important to put structure around the data to help guide how teams work. Whether you are following a more classic approach, such as Agile, or are somewhere in the middle using a hybrid, the more you know about a project, the more insights you gain throughout. It is critical to have a flexible process that evolves with your team.
Finally, the third element, is the people. At the end of the day, data and process do not get projects done. People do. Think about how we like to work – we engage in conversations, bounce ideas around and make decisions after drawing conclusions and figuring out how to mitigate the risk.
The secret to success is keeping everyone connected so you can provide real-time feedback, make decisions together and maintain that buy-in and commitment throughout the process to deliver quality from start to finish.
The Value of Requirements Management
Requirements management can sound like a complex discipline but it really is a simple concept. The value of requirements management is that it helps teams answer the question: “Does everyone understand what we’re building and why?” We have found working with our customers that success happens when everyone is involved and has full context and complete visibility into the discussions, decisions and changes throughout the lifecycle of the project. Maintain this as a regular, ongoing process and you’ll be able to maintain that continuous quality.
4 Best Practices
How do you use tools and process to ensure success? The following best practices link directly to project success; you can achieve this when you have a combination of flexible process, the right people and specialized tools in place to support them. To articulate these, let’s walk through each of these
Collaboration connects everything together and keeps everyone in sync throughout the process, from start to finish. It is critical to keep everyone working on projects connected. You can move beyond email and Word documents with track changes to help that communication happen in a more natural and intuitive way that is specific to managing the scope of projects. By using them, you are not creating extra chatter.
Many people struggle with the fact that communication has broken down. Communication channels can suffer from the “silo effect,” where there is a lack of communication and common goals between departments in an organization. Using an online tool or connecting in a way that people across the organization can easily access the same information is centric to the whole notion of making requirements management a collaborative experience.
Jama is a web-based platform that keeps everyone connected. In Jama, requirements read very much like a Word document but the system actually functions quite differently. In Word documents, changes get reflected in track changes and in multiple versions, making it very cumbersome to blend all of these back together once feedback is gathered.
In Jama, you can manage a set of requirements to communicate a number of different things, not just what is contained in that one single document. Jama breaks out a number of different items that can be sent out for review. This is important because now you can have conversations on individual items. For instance, you could have a conversation just around a specific market requirement. Although it is part of a larger set of market requirements, the ability to capture decisions and conversations around each of the specific items is critical to your processes.
Creating a filter to show only what has changed since the last time you viewed the requirement. Why are two versions different? Was my feedback incorporated? Being able to identify what has changed between versions is a huge time saver. It not only saves people time through the review process, but also it lowers the inhibitions for participation, encouraging people to engage in the process and collaborate. Jama provides more than just the data or the words and items that have been redlined, but what happened and who is involved in the decision—the context of every requirement, decision, change and so on.
While collaboration is all about connecting people together, the second best practice, traceability, connects all the data and the artifacts (these are your requirements, test cases, use cases, defects, etc). All the detailed information within your project that really makes up the scope of what it is you are building. By creating trace relationships between the items, you can track the impact that one change has on the rest of the project, both upstream and downstream. This is vital for maintaining that continuous quality.
Traceability is key to understanding your requirements, the relationships between items you are working on or how your requirements are broken down. Because requirements management can be a communication challenge, traceability lets you take something at a very high level and break it down until you get to something tangible for somebody to do, while also making sure you are managing the scope of what you are communicating. How are things related? Which aspects of my project at a low level are related at a higher level?
One of the key capabilities within Jama is Coverage Explorer. It enables you to start with the same set of high-level market requirements and understand how they have been implemented throughout the project. In Jama you can see how market requirements have been broken down into use cases then into functional requirements. As this process continues, you might wonder how to support expansion to multiple business units. For instance, say a set of requirements was elicited from executives; the use cases and functional requirements were written and fleshed out by a business analyst and then handed over the wall to engineers and QA.
By bringing this all into an online system including Jama, where all of the people and tools are talking to each other, you start to do some really powerful things such as bringing in test cases or creating test cases within Jama. Now you start to see some of the gaps in your process and understand more testing may be needed on the functional requirements to make sure those very high-level requirements are being met. This gives visibility from the bottom-up as well as the top-down, so someone in QA can understand why a test case is being written and someone at the management level can have confidence the product you are going to deliver is what was intended and of high quality.
Impact analysis in Jama also provides you with the ability to understand a particular item’s full depth of relationships downstream. Let’s say you want to make a change to a market requirement. Because you have broken this down and maintained relationships, you now have a powerful tool with visibility into items such as defects so you can understand the impact of change.
3. Test coverage
Test coverage is fundamental to quality assurance. It is your way of making sure you don’t have any gaps in your test plans; it’s an insurance policy to guard against the risk that new features being added upstream are not properly tested downstream.
Much of what you are after with test coverage in a requirements management tool is visibility and understanding. What are you testing and why? The real goal is to make sure everyone is on the same page. When you come into a test case scenario, it is critical for everyone to understand and have visibility into what they are testing. When you have only a certain level of visibility into what you are supposed to be testing, often times things open up to interpretation and people make mistakes.
Let’s first do a quick overview of some terminology. A test plan is a statement of what is to be tested and by whom. You will back this with a set of test cases that will explain what aspects of a product you intend to test. You accomplish this by taking a certain set of test cases and executing those to prove a certain set of functionality works.
The test cases being implemented in Jama are merely a statement of a set of steps that you need to take to accomplish a test. A test run is the execution of that test case and stamping out these validations so you see that you have validated, on a specific build, that all these things are working as they should.
Jama gives you a very distinct set of instructions and simplifies your view. It is easy to start a test run and move through the steps needed to accomplish a task. If any questions come up, or further clarification is needed, you can get the information you need from the test run details upstream.
Within Jama you can also log a defect. What makes logging a defect from a specific test run in Jama powerful is that relationships are created between a defect and the specific test case, as well as between the defect and test run. You now have two pieces of information that are often lost when filing bugs in other bug tracking tools.
Now you have visibility into the original test case, which is also tied upstream to the functional requirements use cases and market requirements. You also have specific ties to the test run itself or the environmental data. All of that information becomes incredibly valuable to the engineer who gets assigned to fixing this bug.
4. Change management
Change management is tracking all of the version history of requirements and other items as they evolve over time during the planning and development cycle. One of the principals of Agile teaches us to embrace changing requirements. Why? Because we will know more about what we are trying to build as we get deeper into the development cycle and uncover new information. It is important to understand when things are changing, why they are changing and to keep people in the loop so they have the most up-to-date information available.
One key aspect that is often overlooked in a requirements management process is the ability to manage changes. People today often make a change to the same document they are working on in Word. They then do a comparison with previous versions and run it by the different business units to understand if the change is going to be a problem. A lot of that decision-making is contained within the people themselves.
If you can capture change requests in a parallel way, you can facilitate an effective change management process, make sure everything stays in scope and make sure everyone knows what is being built. When viewing a change request in Jama, you can see what the change request is, why it should be made, and which items will be affected. It provides the ability to evaluate the change request on a separate basis from the actual impacted items.
Before you can approve or defer a change request, you want to understand the impact on the rest of the application. This is where impact analysis within Jama comes into play. This is another way to leverage these relationships to understand how all of this fits into the larger picture.
As you look at a particular market requirement, you can see all of the downstream items and determine whether or not the impact of your change will be large or small. You can decide whether to accept a change request without impacting that individual item until you intend to.
In summary, Jama provides a collaborative platform to keep everyone in sync to deliver complex projects successfully from initial requirements through to testing. No more out of date specs. No more communication issues when changes occur. No more gaps in test plans. Developing these key best practices using Jama will help lead your team to deliver successful projects with continuous quality.