![]() |
|
An e-newsletter published by |
September 2008, Vol. 5 No. 6 |
|
Welcome to Food for Thought™, an e-newsletter from Software Quality Consulting. I've created free subscriptions for my valued business contacts. If you find this newsletter informative, I encourage you to continue reading. Feel free to pass this newsletter along to colleagues by clicking this Forward Email link. If you’ve received this newsletter from a colleague and would like to subscribe, please click this Enter New Subscription link. If you don't wish to receive this newsletter, click the SafeUnSubscribe™ link at the bottom of this newsletter, and you won’t be bothered again. Your continued feedback on this newsletter is most welcome. Please send your comments and suggestions to info@swqual.com. |
In This Months’ Topic, I continue the discussion on Software Risk Management...
|
Managing Software Risks - Part 2
|
||
|
The software industry is known for many things - incredible technology, cowboys, ever-changing jargon, and what has been referred to as testosterone-driven decision-making. No matter how ridiculous the schedule is, no matter that there are several people on the project who all have the same initials (TBH - To Be Hired), no matter that product marketing hasn’t figured out what customers want..., we are expected to carry on as if everything will magically fall into place. When we are young and inexperienced, we naively believe that everything will fall into place. It is only through failure that we eventually learn that no amount of testosterone can change reality. As we get older and hopefully wiser, we become more skeptical and more risk averse. This is why, in my opinion, the best project managers tend to be older and more mature. And, that’s why DeMarco and Lister [1] refer to Risk Management as “project management for grown-ups.” Only inexperienced, naive project managers act as if risks will not negatively affect their projects. Their more experienced peers know better. In fact:
In my June newsletter, I began a discussion on Managing Software Risks by identifying several different types of risk and introducing the notion of proactive risk management. In this month’s issue, we continue this discussion and look at some examples of techniques to manage different types of software risks.
Risk is something we deal with every day. In fact, it’s been drilled into our heads that projects with little or no risk are not worth doing. What this means is that every project we undertake probably has a considerable amount of risk. On some software projects, we may acknowledge that risks are present but we fail to deal with them in a proactive manner. As a result, many software projects are negatively affected by known risks that were simply ignored. On other software projects, we may not even acknowledge that there are risks and proceed under the naive assumption that somehow, things will work themselves out. What a way to run a business! What is Risk Management?
Risk management is a proactive process that attempts to identify as many potential risks as possible, assess the potential impact of each of these risks, rank them in priority order, and then manage those that are the most critical. Risk management is a set of planned actions that can effectively reduce the impact of risks on most software projects. Some training in basic risk management techniques is necessary in order for these techniques to be applied effectively.
Effective risk management has become increasingly important, given the exponential increase in software complexity as illustrated below. [3] The more complex your software is, the more critical it is that you have an effective risk management process.
Cultural Barriers In far too many organizations, Management makes it more difficult, if not impossible, to manage risk. DeMarco and Lister [1] identify cultural barriers to risk awareness present in these organizations. These barriers are often in the form of “unwritten rules” that make it difficult to even discuss potential risks. For example, have you ever heard your boss say: |
|
How some organizations deal with risk... |
If you have heard these words, then it’s likely that risks are being swept under the proverbial rug. People in these organizations who try to identify risks may be accused of being a whiner, not being a team player, or of negative thinking. Ironically, it is precisely this negative thinking that can often prevent an organization from experiencing costly and embarrassing failures. In some organizations:
Clearly, a prerequisite for effective risk management is a culture where open and frank discussions of risk are encouraged. Dealing With Risk DeMarco and Lister [1] identify four ways to deal with risk:
A Simple Risk Management Process For those of you who’ve never done this before, the most fundamental risk management process includes these activities:
In order to realize the most benefit, the best time to start worrying about risk is obviously at the beginning of a project. Like most things worth doing, it’s never too late to start, and you can apply this process to projects already underway. |
|
|
|
|
Boy Scout Motto: |
Summary Proactive risk management is a critical skill for successful organizations. Being able to anticipate and deal with risk is essential to avoid disaster. And the disasters are still happening. A very recent article [5] on IT software project failures identifies several reasons that IT software projects were cancelled. Each of the reasons in the list below could be a potential risk on your project.
Remember that the biggest risk on any software project is n ot knowing what the risks are! ‘Til next time... |
Every month in this space you’ll find additional information related to this month’s topic.
|
Every month you’ll find news here about local and national events that are of interest to the software community…
|
Software Quality Consulting provides consulting, training, and auditing services tailored to meet the specific needs of clients. We help clients fine-tune their software development processes and improve the quality of their software products. The overall goal is to help clients achieve Predictable Software Development™ – so that organizations can consistently deliver quality software with promised features in the promised timeframe. To learn more about how we can help your organization, visit our web site or send us an email. |
I hope this newsletter has been informative and helpful. Your comments and feedback are most welcome. Send me your feedback… Thanks, |