We are certainly living in interesting times, and according to conventional wisdom, it is a curse to live in interesting times. Changes in our world happen almost overnight, from the political to the geographic to the financial. Pundits, pollsters and prophets may disagree on many things, but for now, most agree that the global financial outlook for 2009 isn’t good. Recent publications targeting everyone from requirements analysts to CIOs have espoused the importance of good software development practices in the face of bad financial times. While those articles may speak the truth (and I believe that they do), unfortunately some of us will face cutbacks in resources in the coming year.
Also unfortunately, requirements management is one of the software development areas that often gets put on the chopping block during resource cuts (along with other important areas like usability, user documentation, testing, architecture and even coding itself). As software requirements practitioners, it behooves us (yes, I said “behooves”) to be prepared for any reduction in requirements management resources, whatever the reason. Given the current financial environment, though, the need to be prepared may take on additional importance today. Hopefully the following five simple suggestions will help you be prepared in case you’re faced with this challenge in the coming year.
1. Establish and use a requirements management framework
Many times, requirements management teams sprout out of necessity. The ways in which requirements are elicited, documented and managed may be ad hoc, or even haphazard. When there are enough people to manage that sort of process and catch things before they fall through the cracks, such an ad hoc approach may suffice. When resources are limited, though, expending energy to reinvent the process wheel on each project is no longer an option. By establishing a requirements management framework complete with standard methodologies, processes and templates, you will take the guesswork out of your requirements work. A standard framework also helps you evaluate each project’s needs objectively, making those inevitable conversations about what can and can’t be done within a limited timeframe and with limited budget a bit easier.
2. Use tools effectively
One common piece of a requirements management framework is a suite of tools. Requirements tool categories range from document management to team collaboration to requirements documentation and traceability. While each type of tool certainly has a place in requirements management, they are often viewed as quick-fix solutions. An attempt to put a toolset on top of a broken process, or to simply replace requirements analysts with a requirements management tool, is likely to fail. Instead, recognize the specific tasks for which tools are good and use them for those. Version control, traceability management, spell-checking, and document generation are easy tasks for a computer. Talking with users, pulling together different pieces of information into a sensible whole, and drawing conclusions are better done by people. Remember that tools alone can’t fix a broken requirements process – tools are aids for, not a replacement of, skilled analysts.
3. Use metrics to reinforce the value of requirements management
Unfortunately, just saying that you have a framework in place and that you’re using tools effectively might not be enough evidence of the value of requirements management. If you’re not already doing so, begin capturing metrics in order to reinforce the value your work provides – you can start small and expand the scope of your metrics in order to fit your particular organizational situation. Some sample requirements metrics include rate of requirements change, percent of requirements implemented, and average time spent to document a requirement. While these metrics may be interesting for a single project, they begin to provide real value when they are compared over time, indicating how the framework is improving requirements practice. In addition to capturing requirement-specific metrics, it is extremely valuable to capture project-level metrics, including user adoption, user satisfaction, usability, achievement of project objectives, and return on investment. When you can show how your requirements work positively impacts the company’s bottom line, you take requirements management off the table during discussions of resource cuts.
4. Employ a satisficing approach, focused on what’s important right now
Generally speaking, satisficing is an approach which focuses on adequacy over perfection – you’re done when you have a “good enough” answer, rather than “the ultimate” answer. For example, I recently sent an SRS document out for review even though it wasn’t complete. The information I did have was good enough for comment by my reviewers, and the feedback I received from the team helped me know what other information was required in order to move us to the next step in the development process. Another example of satisficing in requirements management would be documenting the high-priority use cases in formal detail, while simply capturing a skeleton of the lower-priority ones. Satisficing allows you to continue to make progress on the overall project even when you don’t have all of the information that will be required eventually. It also shows the rest of the team that you’re interested in working together on the highest priority issues, rather than sacrificing “the good” in an effort to reach “the great.” Chances are, “the good” is indeed good enough.
5. Strengthen interpersonal relationships, both horizontally and vertically
When there are fewer people around to do the work, you may have to rely more heavily on others to help you succeed. It’s easy to see how important your relationships with other requirements practitioners are, but your other relationships within the organization are also more important than ever. Being able to turn to your documentation specialist for a review of your SRS, or getting an early heads-up from the development team about the feasibility of implementing a requirement, or simply knowing that your team is functioning as a team rather than a group of silos, can be invaluable during lean projects. In addition to shoring up relationships with your peers, this is a great time to establish or strengthen ties up the org chart. Many people aren’t as comfortable speaking with managers, directors, and VPs, but having their support for you and your work can help prioritize requirements management among their peers, and any support we can get from management is great!
Interesting times often call for simple, direct solutions. If your requirements management group isn’t impacted today, hopefully these suggestions will provide you with ideas for ways to make sure that you won’t be tomorrow. If you do face challenges as a result of the current financial environment, these suggestions should help you do more with less.