eXtreme Project Management Ed Yourdon Chairman, Cutter ConsortiumCutter Consortium

Slides:



Advertisements
Similar presentations
Chapter 2 The Software Process
Advertisements

Systems Analysis and Design 9th Edition
Computer Engineering 203 R Smith Project Tracking 12/ Project Tracking Why do we want to track a project? What is the projects MOV? – Why is tracking.
Chapter 3 Project Initiation
Degree and Graduation Seminar Scope Management
1 projman7b How to Fail in Project Management (Without Really Trying) Jeffrey Pinto and Om Kharbanda Business Horizons, July-Aug 96.
W5HH Principle As applied to Software Projects
Software Engineering. How many lines of code? Average CS1004 assignment: 200 lines Average CS4115 project: 5000 lines Corporate e-commerce project: 80,000.
Software Engineering.
Software project management Module 1 -Introduction to process management Teaching unit 1 – Introduction Ernesto Damiani Free University of Bozen-Bolzano.
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
1 R&D SDM 1 Software Project Management Capability Maturity Model 2009 Theo Schouten.
Applied Software Project Management 1 Introduction Dr. Mengxia Zhu Computer Science Department Southern Illinois University Carbondale.
Iterative development and The Unified process
Chapter 5: Project Scope Management
1 Chapter 3 Project Management. 2 The 4 P’s  People — the most important element of a successful project  Product — the software to be built  Process.
Software Management Plan (part I) Software management’s 7 deadly sins The “3 P’s” of software management Why big software projects fail: the key 12 questions.
Stoimen Stoimenov QA Engineer QA Engineer SitefinityLeads,SitefinityTeam6 Telerik QA Academy Telerik QA Academy.
Chapter 3 Project Initiation. The stages of a project  Project concept  Project proposal request  Project proposal  Project green light  Project.
Development and Quality Plans
Defining the Activities. Documents  Goal Statement defines why helps manage expectations  Statement of Work what gets delivered defines scope  Software.
Project Scope Management
Personal Software Process Overview CIS 376 Bruce R. Maxim UM-Dearborn.
Systems Analysis and Design in a Changing World, 6th Edition
S/W Project Management
Software Project Management Lecture # 8. Outline Chapter 25 – Risk Management  What is Risk Management  Risk Management Strategies  Software Risks.
Capability Maturity Model Part One - Overview. History Effort started by SEI and MITRE Corporation  assess capability of DoD contractors First.
CPIS 357 Software Quality & Testing
Copyright © 2014 McGraw-Hill Higher Education. All rights reserved. CHAPTER 15 Project Management McGraw-Hill/Irwin.
Software Project Management Lecture # 8. Outline Earned Value Analysis (Chapter 24) Topics from Chapter 25.
Project Management : Techniques and Tools (60-499) Fall 2014 / Winter 2015.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Project Tracking. Questions... Why should we track a project that is underway? What aspects of a project need tracking?
What’s a Project? AD642. Why the Emphasis on Project Management? Copyright 2011 John Wiley & Sons, Inc. 1-2  Many tasks do not fit neatly into business-as-usual.
PowerPoint Presentation for Dennis & Haley Wixom, Systems Analysis and Design, 2 nd Edition Copyright 2003 © John Wiley & Sons, Inc. All rights reserved.
Basic of Project and Project Management Presentation.
Change-Spotting: The Role of IT in a Chaotic World Ed Yourdon New York SPIN.
Lecture 19 Chapter 10 A Portfolio Approach to Managing IT Projects.
1 Chapter 5 Project management. 2 Project management : Is Organizing, planning and scheduling software projects.
“How to fail in project management without really trying” –J. K
CSE 308 Software Engineering Software Engineering Strategies.
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Project.
DEFINING THE PROJECT CHAPTER 4.
10-January-2003cse Context © 2003 University of Washington1 What is a development project? CSE 403, Winter 2003 Software Engineering
Slide 1 Project Management Chapter 4. Slide 2 Objectives ■ Become familiar with estimation. ■ Be able to create a project workplan. ■ Become familiar.
INFO 637Lecture #101 Software Engineering Process II Review INFO 637 Glenn Booker.
Introduction to Systems Analysis and Design
AP-1 5. Project Management. AP-2 Software Failure Software fails at a significant rate What is failure? Not delivering it on time is an estimation failure.
Quality Software Project Management Software Size and Reuse Estimating.
CS 501: Software Engineering Fall 1999 Lecture 6 Management I: Project Management.
Slide 2.1 CHAPTER 2 THE SOFTWARE PROCESS. Slide 2.2 Overview l Client, Developer, and User l Requirements Phase l Specification Phase l Design Phase l.
Chapter 3 Project Management Chapter 3 Project Management Organising, planning and scheduling software projects.
Historical Aspects Origin of software engineering –NATO study group coined the term in 1967 Software crisis –Low quality, schedule delay, and cost overrun.
Pre-Project Components
STEP 4 Manage Delivery. Role of Project Manager At this stage, you as a project manager should clearly understand why you are doing this project. Also.
CS3100 Software Project Management: Monitoring & Control 1 Software Project Management Week 10: Project Monitoring & control Ian Blackman.
Introduction to Project Management.  Explain what a project is?  Describe project management.  Understand project management framework.  Discuss the.
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Project.
CS3320-Chap21 Office Hours TR 1:00-2:15 PM W 2:30-3:30 PM By appointment.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Establishing (or Enhancing) PMO Effectiveness Nicolle Goldman, PMP March 28, 2007.
Copyright 2015 John Wiley & Sons, Inc. Project Planning Part II.
Develop Schedule is the Process of analyzing activity sequences, durations, resource requirements, and schedule constraints to create the project schedule.
Information Technology Project Management, Seventh Edition.
Project Management BBA & MBA
Project Management Chapter 3.
Systems Analysis and Design in a Changing World, 4th Edition
Software Engineering I
Managing Change and Quality
Presentation transcript:

eXtreme Project Management Ed Yourdon Chairman, Cutter ConsortiumCutter Consortium Boston SPIN meeting November 20, 2001

QUALITY Peopleware Sep 11 Negotiations Process Monitoring Risk Good-enuf Security Kuhn Recommit Harmonize Reassess Dot-bomb Priorities Ethics Networks Agile Unpredictability Alert Chameleon Infrastructure GO! Triage Criteria Stakeholders Churn Ambiguity Guessing Games Tools Non-linear Time-frame Tools O-V SLIM COCOMO K’PLAN Differences Criteria Risks Users Compression Pressure Staff Schedule Risk $$ Reviews Authority Documentation Testing DM ACM IEEE

3 Copyright © 2001 by Edward Yourdon 1.1 Paradigm shift M September 11th was a paradigm shift. See Thomas Kuhn’s The Structure of Scientific Revolutions to understand what this really means.The Structure of Scientific Revolutions 3not a repeal of the law of gravity, or other scientific laws 3But what about the lean inventory approach? 3What about globalization? 3What about replacing server-based systems with P2P systems like Groove? See “Uncle Sam Wants Napster!”, in Nov 8, 2001 issue of The Washington PostUncle Sam Wants Napster M Reexamine your assumptions, values, priorities — some assumptions need to be thrown out, some need to be re-assessed in the light of September 11th. M Re-commit to the things that really matter — sometimes we need a wake-up call. M Look at personal, professional, corporate consequences of September 11. They should be compatible; if not, do something about it.

4 Copyright © 2001 by Edward Yourdon 1.2 PERSONAL CONSEQUENCES M For most of us, the go-go, get-rich-quick, dot-com days of the late 90s are not only gone, but permanently gone. M We need to ask ourselves: what really matters? 3Much of what goes on in corporate IT departments seems utterly irrelevant and petty in the post-9-11 world. 3Ask your children what they think (for inspiration, listen to Teach Your Children, from Crosby, Stills, and Nash)Teach Your Children M Review the ethics statements of ACM and IEEEACMIEEE M Notice how we all used our own “networks” to communicate in the aftermath of Sep 11th 3Compare this to the communication that took place after JFK assassination, or after Pearl Harbor attack, or Gettysburg battle 3Recommendation: focus on bottom-up, grass-roots, emergent networks 3Beware efforts to “control” future crises through top-down, hierarchical, communication mechanisms.

5 Copyright © 2001 by Edward Yourdon 1.3 CORPORATE CONSEQUENCES M See Chapter 12 of Michael Hammer’s new book, The Agenda: what every business must do to dominate the The Agenda, for a good discussion of this.The Agenda M Prepare for a world you cannot predict: 3In 5-year strategic plans developed ~ , how many would have predicted the Asian financial crisis, Internet/Web, ERP, Euro, supply-chain integration, consequences of deregulation (CA energy crisis) 3How many would have predicted Sep 11th, and its consequences? 3Bottom line: change is now too fast, too chaotic, too disruptive, and sometimes too malevolent for us to be able to “plan” for M What this suggests 3Change-spotting: creating an “early warning system” 3Become adept at rapid organizational change 3Create an organizational infrastructure that supports early- warning and rapid change  some of this involves technology  but much of it involves organizational culture

6 Copyright © 2001 by Edward Yourdon Change-spotting M There are “early warning” indicators of disruptive change 3See Normal Accidents: Living with High-Risk Technologies, by Charles PerrowNormal Accidents: Living with High-Risk Technologies 3Watch for “near-misses” and avoid common temptation to say, “Whew!” 3Use metaphors to help categorize “categories” of change — e.g., the “weather” metaphor used by the Naval War College during its planning for Y2K.Naval War College M Recognize that lower-level, front-line employees are usually the first to see hints and clues of critical change 3Michael Hammer: “The powerless know more than the powerful in virtually all organizations. During periods of intense change, this paradox can be fatal.” 3Michael Hammer: “…anyone looking for signs of change is almost certainly guilty of not keeping his/her mind clamped on the formal job” M One solution: develop a formal business process for detecting and reporting change, which incorporates: 3deep insight into customers 3analyzing potential as well as existing competitors 3looking for the seeds of the future, by extrapolating the present

7 Copyright © 2001 by Edward Yourdon 1.4 IT CONSEQUENCES M Risk management has a new level of respectability M Security now has a greater degree of urgency 3Prepare for cyber-warfare  50% of corporate web servers have been attacked this year, and 90% of companies have experienced worms/viruses; see “Web Attacks Have Doubled, Survey Says” (PC World, Oct 10, 2001)Web Attacks Have Doubled, Survey Says  longer range: massive DOS zombie-army attacks, facilitated by IP-spoofing capabilities of new Microsoft XP — see description of May 2001 DOS attack on Gibson Research web sitedescription 3See adminspotting for a reminder that cyber-attacks can be caused by disgruntled insiders, as well as outside hackers and terrorists.adminspotting 3Develop contingency plans for extended outages of the Internet M Death-march projects will continue, for obvious reasons… Death-march M Because the dot-com bubble has burst, the era of “glorious anarchy” has been replaced with “extreme programming” and “agile” methodsextreme programming M And quality may be defined more in terms of “triage,” “survival,” and “good enough” than “perfection” or “exceeding customer expectations”

8 Copyright © 2001 by Edward Yourdon 2. PROJECT NEGOTIATIONS M Managing project definition at the beginning of the project M Using project definition to manage requirements creep M Estimating techniques M Tools for assisting estimation process M Tradeoffs between schedule, budget, staff, quality M Tools for rational negotiation M What to do when rational communications are impossible

9 Copyright © 2001 by Edward Yourdon 2.1 Managing Project Definition: What does “success” mean? M Many projects succeed or fail at the very beginning, before any technical work is done. M Fundamental requirement: identifying who has the right to declare “success” — owner, shareholder, etc, etc. M Fundamental elements of “success” 3finishing on time 3staying within budget 3delivering the required functionality 3providing “good enough” level of quality 3getting the next round of VC funding, or launching the IPO M The combination of these constraints may prove impossible to achieve — so the pragmatic aspect of success often depends on agreement as to which areas can be compromised or satisfied. M Biggest risk: lack of realistic triage at beginning of project

10 Copyright © 2001 by Edward Yourdon 2.2 Using Project Definition to Manage Requirements Creep M Typical behavior in projects: new requirements are added at the rate of 1% per month M Requirements “creep” and requirements “churn” are a major element of project management risk. M But if you don’t have a formal document describing the requirements, it’s hard to identify creep or churn. M Assuming that you do have such a document, you need to use it to negotiate schedule/budget/staff modifications if the requirements change or increase. M Biggest risk of all: an ambiguous spec is usually a sign of unresolved conflict between diverse political camps in the user community. Related risk: techies assume that it’s their fault they can’t understand ambiguous spec

11 Copyright © 2001 by Edward Yourdon 2.3 Estimating Techniques M Fundamental truth: it’s almost impossible to estimate a project if you don’t have metrics from previous projects. M Consequence: most of what’s described as “estimating” is either “guessing” or “negotiating” M Political reality: estimates are produced by people who have little prior estimating experience, and who have a vested interest in believing their optimistic predictions M A radical suggestion: create a separate estimating group whose work is judged and rewarded by the accuracy of its estimates, not the political acceptability of estimates M Main technical suggestion: break the project down into small, independent “inch-pebbles” and get several estimates M For complex projects, get a commercial estimating tool

12 Copyright © 2001 by Edward Yourdon 2.4 Tools for Estimating M KnowledgePlan, from Software Productivity Research KnowledgePlan M SLIM, from Quantitative Software Management SLIM M ESTIMACS, from Computer Associates M COCOMO-2, available from several commercial vendors (See CoStar from SoftStar Systems) COCOMO-2 M OnYourMarkPro, from Omni-Vista (caveat emptor: I’m on the Board of Technical Advisors at this company)Omni-Vista

13 Copyright © 2001 by Edward Yourdon 2.5 Tradeoffs between schedule, budget, functionality, staff, quality M Key point: it’s not a linear tradeoff — see Fred Brooks, The Mythical Man-Month (Addison-Wesley, 1995) The Mythical Man-Month M Relationship is a non-linear, third-order polynomial relationship — see Larry Putnam and Ware Myers, Measures for Excellence: Reliable Software on Time, Within Budget (Prentice-Hall, 1992) Measures for Excellence: Reliable Software on Time, Within Budget M Biggest risk: tradeoffs are usually negotiated, under pressure, late in the project schedule — without accepting the non-linear tradeoffs... M...and without accepting the reality that much of the partially-finished work will be lost forever M To negotiate tradeoffs rationally, you need to have one of the estimating packages mentioned earlier

14 Copyright © 2001 by Edward Yourdon Typical trade-off chart from estimating tools

15 Copyright © 2001 by Edward Yourdon 2.6 Project Negotiations M Beware the temptation to give up... e.g., M “We have no idea how long this project will really take, and it doesn’t matter, since they’ve already told us the deadline... M...so we’ll just work 7 days a week, 24 hours a day, until we drop from exhaustion. They can whip us and beat us, but we can’t do any more than that...”

16 Copyright © 2001 by Edward Yourdon 2.6, cont’d Negotiating games M Doubling and add some... M Reverse doubling M Guess the Number I’m Thinking of... M Double Dummy Spit M The X-Plus Game M Spanish Inquisition M Low Bid M Gotcha — throwing good money after bad M Chinese Water Torture M Smoke and Mirrors/Blinding with Science 3thanks to Rob Thomsett, “Double Dummy Spit, and Other Estimating Games,” American Programmer (now Cutter IT Journal), June 1996Cutter IT Journal

17 Copyright © 2001 by Edward Yourdon 2.6 Negotiating strategies M Don’t get tricked into making an “instant estimate” — ask for time to think about (a week, a day, even an hour) M State the estimate in terms of confidence levels, or ± ranges, etc. M Jim McCarthy (formerly of Microsoft, author of Dynamics of Software Development): make the customer, or other members of the organization, share some of the uncertainty.Dynamics of Software Development M Project manager: “I don’t know precisely when we’ll finish — but I’m more likely to be able to figure it out than anyone else in the organization. I promise that as soon as I have a more precise estimate, I’ll tell you right away.” M Do some reading and research to become better at this area, e.g.: 3 Bargaining for Advantage: Negotiating Strategies for Reasonable People, by G. Richard Shell (reissue edition, Penguin Books, June 2000)Bargaining for Advantage: Negotiating Strategies for Reasonable People 3Getting Past No: Negotiating Your Way from Confrontation to Cooperation, by William Ury (Bantam Doubleday Dell, 1993)Getting Past No: Negotiating Your Way from Confrontation to Cooperation

18 Copyright © 2001 by Edward Yourdon 2.7 What to do when rational negotiation breaks down M Quit (the project or the company) M Appeal to a higher authority M Go see the movie Gladiator, and learn to say, like Russell Crowe, “We who are about to die salute you!”Gladiator M Decide which “rules” you’re going to break in order to achieve an “irrational” set of schedule/resource demands that have been imposed upon you. M Redefine the project as a kamikaze, suicide, etc., and make sure entire project team knows it. M Key point: project leader has to believe in the possibility of achieving project goals M...and must be able to convince team members without “conning” them

19 Copyright © 2001 by Edward Yourdon 3. SOFTWARE PROCESSES Optimized Initial Repeatable Defined Managed SW configuration management SW quality assurance SW subcontract management SW project tracking & oversight SW project planning Requirements management Peer reviews SW product engineering Integrated SW management SW process definition SW process focus Quality management Quantitative process mgmt Process change mgmt Technology change mgmt Defect prevention You can definitely have an SEI level-3 lightweight process; ability to reach level-4 or level-5 depends on how much you’re willing to invest in metrics — but level 4/5 is not incompatible with Internet-time!

20 Copyright © 2001 by Edward Yourdon 3.1 “Lite” vs. “Heavy” Processes M Formal (heavy) processes are great if you know what you’re doing, and if you’ve done the same thing several times before M SEI-CMM guru Watts Humphrey: “if a process can’t be used in a crisis, it shouldn’t be used at all.” M But many high-pressure projects involve doing things that have never been done before — with teams that have never worked together before. M Conversely, if a team has worked together before, and really “jells”, then it doesn’t need a formal, heavy process M Nevertheless, team needs to agree on what processes will be formalized (e.g., change management, source code control, testing(a la XP)), and what processes will be done on a completely ad hoc basis. M For more details, see 3“Extreme Programming,” by Jim Highsmith, e-Business Application Delivery, Feb 2000.e-Business Application Delivery 3November 2000 issue of Cutter IT Journal on “Light Methodologies”Cutter IT Journal 3“Put Your Process on a Diet,” by Martin Fowler, Software Development, Dec 2000Software Development 3“Retiring Lifecycle Dinosaurs,” by Jim Highsmith, Software Testing & Quality Engineering, Jul/Aug 2000Software Testing & Quality Engineering 3 “The Light Touch,” by Ed Yourdon, Computerworld, Sep 18, 2000The Light Touch

21 Copyright © 2001 by Edward Yourdon 3.2 More on “lite” vs “heavy” M Areas where there are differences 3Degree/volume of documentation 3Frequency of reviews and approvals 3Degree of decision-making authority — borrowed from “lean manufacturing” approach M Examples of documentation differences: the requirements analysis phase 3Lite approach: one sentence per requirement 3Medium approach: one paragraph per requirement 3Heavy approach: detailed UML models, data dictionary,etc. 3What happens to requirements when development is done? M Criteria for choosing lite vs heavy: 3Degree of pressure for fast delivery 3Project cost 3Project duration 3Staff size 3Risk assessment — consequences of failure (safety-critical?)

22 Copyright © 2001 by Edward Yourdon 3.3 The Airlie Council “Principal Best Practices”Airlie Council M Formal Risk management M Agreement on Interfaces M Peer Reviews M Metric-Based Scheduling and management M Binary Quality Gates at the “Inch-Pebble” Level M Program-Wide Visibility of Project Plan and Progress Vs. Plan M Defect Tracking Against Quality Targets M Configuration management M People-aware management Accountability

23 Copyright © 2001 by Edward Yourdon 3.4 Worst Practices M Don’t expect schedule compression of ≥10% compared to statistical norm for similar projects M Don’t justify new technology by the need for schedule compression M Don’t force customer-specific implementation solutions on the project M Don’t advocate the use of silver bullet approaches M Don’t miss an opportunity to move items that are under external control off the critical path M Don’t bury all project complexity in software as opposed to hardware M Don’t conduct critical system engineering tasks without sufficient software engineering expertise M Don’t expect to achieve an accurate view of project health from a formal review attended by a large number of unprepared, active reviewers M Don’t expect to recover from a schedule slip of ≥10% without acknowledging a disproportionately greater reduction in software functionality to be delivered. For more discussion along the same lines, involving the concept of “anti- processes,” see Anti-Patterns and Patterns in Software Configuration Management, by William J. Brown, Hays W., Iii McCormick, Scott W. Thomas (Wiley, 1999).Anti-Patterns and Patterns in Software Configuration Management

24 Copyright © 2001 by Edward Yourdon 3.5 Breathalyzer Test M Do you have a current, credible activity network supported by a work breakdown structure (WBS)? M Do you have a current, credible schedule and budget? M Do you know what software you are responsible for delivering? M Can you list the top ten project risks? M Do you know your schedule compression percentage? M What is the estimated size of your software deliverable? How was it derived? M Do you know the percentage of external interfaces that are not under your control? M Does your staff have sufficient expertise in the project domain? M Have you identified adequate staff to allocate to the scheduled tasks at the scheduled time?

25 Copyright © 2001 by Edward Yourdon 4. MEASURING, MANAGING, AND CONTROLLING PROGRESS M General comments and suggestions M The importance of the “daily build” approach

26 Copyright © 2001 by Edward Yourdon 4.1 General comments M Management approaches based on classical waterfall approach are almost certain to fail in large, complex projects M Need some kind of “time-box” approach based on versions, features, deliverables, etc. M Jim McCarthy: “Never let a programmer disappear into a dark room” Jim McCarthy M If team understands what features/dependencies are required for the next milestone, they will exert their own pressure upon themselves, rather than depending on the manager to beat them up. M If you miss one milestone deadline, it’s crucial to succeed on the next one. M Milestone post-mortems can be incredibly valuable. Milestone post-mortems

27 Copyright © 2001 by Edward Yourdon 4.2 The “daily build” M Popularized by Dave Cutler at Microsoft M Jim McCarthy (former head of Microsoft’s Visual C++ project): “The daily build is the heartbeat of the project — it’s how you know you’re alive” M Should be automated, and performed overnight — or even more often. M Various “tricks” can be used to increase its effectiveness 3Punishing people who “break” the daily build 3Using red-flag/green-flag at office entrance

28 Copyright © 2001 by Edward Yourdon 5. CONCLUSIONS M September 11th has profound consequences that we don’t even fully grasp yet M We need to help our organizations implement “change-spotting” M Professional/IT consequences 3Risk management has a new level of respectability 3Security now has a greater degree of urgency 3Death-march projects will continue, for obvious reasons…Death-march 3Quality may be defined more in terms of “triage,” “survival,” and “good enough” than “perfection” or “exceeding customer expectations” 3The era of “glorious anarchy” has been replaced with “extreme programming” and “agile” methodsextreme programming

29 Copyright © 2001 by Edward Yourdon Words to live by in the software field “I wake up each morning determined to change the World......and also to have one hell of a good time. Sometimes that makes planning the day a little difficult.” E.B. White found in the opening of the preface of Succeeding with Objects, by Adele Goldberg and Kenneth S. Rubin (Addison-Wesley, 1995)Succeeding with Objects