Path: utzoo!attcan!uunet!samsung!usc!apple!voder!pyramid!athertn!hemlock!mcgregor From: mcgregor@hemlock.Atherton.COM (Scott McGregor) Newsgroups: comp.software-eng Subject: Re: CASE - The Emperor has no clothes on! Keywords: Software ENGINEERING, Software Development Management Message-ID: <25379@athertn.Atherton.COM> Date: 15 Jun 90 17:51:50 GMT References: <55235@microsoft.UUCP> <37538@genrad.UUCP> <55137@microsoft.UUCP> <1990Jun13.070649.14929@caen.engin.umich.edu> Sender: news@athertn.Atherton.COM Reply-To: mcgregor@hemlock.Atherton.COM (Scott McGregor) Organization: Atherton Technology -- Sunnyvale, CA Lines: 130 In article <55235@microsoft.UUCP>, jimad@microsoft.UUCP (Jim ADCOCK) writes: > My last dozen years in the software industry contradicts these assumptions. > Fundamentally, what ultimately matters is the final success or failure of > a project, not how managable or predictable it is. Make enough money off > a project and nothing else matters. Make no money off a project and nothing > else matters. Most projects [in my experience] tend to fall towards one or > the other of these extremes. Managability only matter on projects that fall > in the middle between these two extremes. I agree with you about what *ultimately matters*. However, many people feel the need to regularly re-examine their expected returns during the life of a project which is far from completion. Predictability and manageability matter in this interim time period. Sometimes what looked it easy to do when you started, is discovered to be more difficult as you get underway. As a result, your expenses are higher than you expected and your profit lower. Now a small change probably won't change your investment decision but if expenses get much more expensive your profits will become losses. At that point it is good to "stop throwing good money after bad" and cancel the project. Of course, there is always some uncertainty about what the actual costs are (a.k.a. risk). Predictability means that the margin of error and variability of these actual costs are small. By ensuring high predictability you can avoid a risky project that in and of itself threatens the ongoing survival of a) the organization, or b) your place in the organization. So, for many organizations (and managers in them) interested in stability, things that effect predictability are important. In fact, some companies and individuals are so risk averse that they will knowledgably choose lower payoff investments just to ensure that they don't lose to bad as well. This newsgroup is frequently filled with postings from individuals at various large companies that had an early lead on a technology but knowledgably disinvested and left the market open to more entrepreurial companies and individuals. Note that the stock market also pays a premium (in P/E ratios) for predictability in earnings, so it is not like individuals at these large companies seeking predictability are making these low risk decisions foolishly--they may be just appealing to their existing class of shareholders. Manageability is also an interim (and typically personal) concern. Companies often make compensation plans on regular basis, and this cycle may not mesh perfectly with a large project. Since many people don't want to have to wait 3-5 years (in the case of large projects) in order to be considered for a raise, they need to be judged on interim results. Managers can be evaluated on how predictable their schedules have been (lower risk to the organization, greater assurance that the investment will pay off as originally anticipated). For the manager to be evaluated, the senior manager will need some data--they will need to see that the manager can tell the current state of things and tell if they are close to plan or not. For this reason manageability is a valuable interim goal as well. The fact that one can build a product on schedule, within budget, as spec'd and still have severe things happen in the end when it turns out that customers won't buy that product is not lost on me. This has happened to projects that I have managed with the resulting death of the organization. On the other hand, this death took three years, and in the interim I was reviewed quarterly on predictability and managability of my projects. Other managers who controlled their schedules less closely suffered the same *ultimate* fate as I, but they also suffered more in quarterly reviews as well. In the end, I have the track record to show that I can well estimate and control project costs and they cannot, and that helped me in finding a comfortable place in a new organization. > |However, I'd say that the scope of most CASE tools and Software > |Engineering methodologies in general place far too much emphasis > |on the actual development of software to the shameful neglect of > |MANAGING the process. Little or no attention is paid to deciding > |which projects to pursue, or calculating the cost/benefits of > |pursuing/abandoning projects. There is certainly not enough > |attention paid to TRAINING MANAGEMENT to make decisions that > |will promote the strategic goals of an organization. But actually, watching the predictability and managability of the project IS a form of deciding which projects to pursue and the cost benefits of pursuing/abandoning projects. Think of it this way. You've got an engine with tachometer on it. 8000 RPMs is expected danger point. Current forecasted RPMs for the trip is 4-6000 RPMs. You can watch the absolute RPMs, or you can take the expected average (5000RPM) and watch the amount of variance from average. As that difference increases to about 3000 you know you have a problem. Similarly, with project planning. You make your original investment decision based upon plans and forecasts. You have your expected schedule and costs, and your expected revenues. You have a point at which if the estimates are off by this amount you risk a loss. If you don't have much variability in these projections as you continue on the project, there is not much need to re-evaluate your investment decision. If projections change a lot then you spend lots of management time trying to re-evaluate the investment plans. Senior managers like "predictability" because that means they don't need to keep re-examining their already made investment decisions. R&D managers who can keep schedules and budgets under control, and Marketing managers who give good revenue forecasts are thus valued. I do not disagree that many times people in the bottom of organizations can do a good (often even better) job of such forecasting. > Agreed. But we better be willing to admit that the amount of time and > money necessary to pursue these longer term projects is very unpredictable. > Unpredictability need not be bad. A basketball team can start out losing, > lose keys players, have their prime draft choice turn into a flake, and still > go on to win. Its the final results that count. Most definately true. But unpredictability isn't necessarily a virtue either. When the team is losing, the owner may change the strategy and fire the coach. If the new coach turns around the team and it goes on to win, that's great. But the old coach may not be happy about losing his job. So to the extent that he can control things, he may adopt low risk strategies aimed at protecting his job. He may pass on drafting a guy that occasionally sets records and but also gets in bad slumps. He may go instead for someone who is a consistant middle range scorer. This may not be the optimal winning strategy, but if they lose, by only a few points instead of losing big they may save the coach's job for a little while longer. I think this sort of conservatism and self interest explains a lot of the differences between certain companies and others. Many entrepreurial companies are populated by young managers who haven't achieved all they want yet. They aren't afraid to risk what they have, because they feel they can start over again. Many more conservative companies are dominated by managers who have achieved most of their goals and who want to preserve their situations. You have the right to choose the kind of company you want to work for based on your own needs, just as the managers have a right to direct the work in a way that will protect their own needs. Scott McGregor Manager, Tool Integrations Atherton Technology mcgregor@atherton.com (Formerly an R&D software project manager at Hewlett-Packard for many years)