![]() |
|
An e-newsletter published by |
March 2005, Vol. 2 No. 3 |
| 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. |
In This Months’ Topic, we look at the importance of behaving in a predictable way…
|
|
Is your software development process predictable? We never have time to do it right For many companies, their software development process is anything but predictable. Unpredictable behavior may have been adequate in the past. Today, organizations who fail to learn how to “do it right the first time” are sooner or later going to fail. Software development in the 21st century has changed dramatically. Interest in Agile Methods [1], RUP [2] and offshore development [3] has created intense pressures to deliver higher quality software, faster and with fewer resources.
Get it right the first time! We need ways to cope with conflicting demands faced on most projects. Doing more with less, doing it faster and with higher Quality all mean that there often is no time to do it over. A Predictable Software Development™ process is one way that organizations can achieve this. The goal of Predictable Software Development™ is simply: Why is it so important to be predictable? On every software project, we want to know:
These are legitimate questions. Unfortunately, unpredictable organizations can’t provide accurate answers. Why? Well, in order to answer these questions, we need:
Predictable behavior is a characteristic that transcends methodology. Predictability is just as important for organizations using Agile Methods as for organizations using any other method. And yes, the “processes” mentioned above can be lightweight. Motivation Unpredictable behavior impacts your business, your customers, and your employees:
Achieving a Predictable Software Development™ Process To become predictable, we need to learn how to balance Quality, Features, and Schedule. While tradeoffs are made all the time, we need to understand and assess the implications of these tradeoffs. We also need to learn how to balance the needs of People, Process, and Product. Tradeoffs here affect productivity, customer and employee satisfaction.
Also required is the ability to manage commitments and manage risks. Managing commitments (both internal and external) is essential so that we can consistently meet or exceed these commitments. Many complex software projects are fraught with risks. While some risks may be tacitly understood, all too often, risks are not actively managed. Effective risk management skills can make the difference between success and failure. Sound familiar? Here are some typical attributes of unpredictable organizations:
I’ve identified several root causes of unpredictable behavior. These include:
How does a predictable organization behave? Here are some attributes of predictable organizations:
Management can change behavior Management controls the resources, determines how resources are allocated to projects, and most importantly, determines how people are evaluated and measured. What Management often fails to recognize however, is that:
This is particularly true for software engineering organizations where technical challenge and peer recognition are important. The notion that Management can change the culture of an organization by changing the way people are measured is not new. It’s been known from many years [5], [6]. Unfortunately, in many organizations, Management hasn't recognized taken advantage of this fact. Here are some specific actions Management can take to help create an organization that behaves in a more predictable manner:
Management must recognize that they have the ability to change the behavior of their organizations. By learning how to do this, Management can significantly improve their organization's predictability. Summary As observed by Humphrey:
Take-away messages:
If you are a manager, use this information to help your organization become more predictable. If you not a manager, I’d suggest forwarding this to managers in your organization. Forward Email. Till 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, |