CSE Senior Design I Project Recovery The slides in this presentation are derived from materials in the textbook used for CSE 4316/4317, Rapid Development:

Slides:



Advertisements
Similar presentations
BALANCING LIFES ISSUES, INC. Managing Multiple Priorities at Work.
Advertisements

Extreme Programming Alexander Kanavin Lappeenranta University of Technology.
Note: Lists provided by the Conference Board of Canada
CSE Senior Design I Classic Mistakes Instructor: Vassilis Athitsos This presentation was derived from the textbook used for this class, McConnell, Steve,
Chapter 10 Schedule Your Schedule. Copyright 2004 by Pearson Education, Inc. Identifying And Scheduling Tasks The schedule from the Software Development.
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.
Building Leadership Chapter 3
1 projman7b How to Fail in Project Management (Without Really Trying) Jeffrey Pinto and Om Kharbanda Business Horizons, July-Aug 96.
IS 214 Needs Assessment and Evaluation of Information Systems Managing Usability © Copyright 2001 Kevin McBride.
CSE 403 Lecture 8 Risk assessment. Lecture goals Understand risk management and assessment techniques Guarding against failure to meet delivery deadline,
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Why Software.
Applied Software Project Management 1 Introduction Dr. Mengxia Zhu Computer Science Department Southern Illinois University Carbondale.
CSE Senior Design II Staged Delivery Instructor: Mike O’Dell.
Xtreme Programming. Software Life Cycle The activities that take place between the time software program is first conceived and the time it is finally.
SE 555 Software Requirements & Specification 1 SE 555 Software Requirements & Specification Prototyping.
LSU 10/09/2007Project Schedule1 The Project Schedule Project Management Unit #4.
CSE Senior Design I Risk Management Instructor: Mike O’Dell This presentations was derived from the textbook used for this class: McConnell, Steve, Rapid.
Marketing Department, Tokheim Europe & Africa Engineeing tries to improve…. Paris - 18/02/2006.
Roles Managers Technical Team Leaders Programmers Customers Database Administrators Instructors.
INFO 637Lecture #31 Software Engineering Process II Launching & Strategy INFO 637 Glenn Booker.
Software Engineering Process I
Software Project Management Lecture # 8. Outline Chapter 25 – Risk Management  What is Risk Management  Risk Management Strategies  Software Risks.
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
Capability Maturity Model Part One - Overview. History Effort started by SEI and MITRE Corporation  assess capability of DoD contractors First.
Software Project Management Introduction to Project Management.
22 Jul 2005CSE403, Summer'05, Lecture 12 Lecture 12: Scheduling, Estimation, and Prioritization (Part II) Valentin Razmov.
COMP 208/214/215/216 Lecture 3 Planning. Planning is the key to a successful project It is doubly important when multiple people are involved Plans are.
Software Development Process and Management (or how to be officious and unpopular)
1 The Do’s and Don’ts of Software Process Improvement Steve Chenoweth, RHIT.
“How to fail in project management without really trying” –J. K
10-January-2003cse Context © 2003 University of Washington1 What is a development project? CSE 403, Winter 2003 Software Engineering
CSE 403, Spring 2007, Alverson Software Projects – the challenges we face RD:McConnell.
Chapter 16 Problem Solving and Decision Making. Objectives After reading the chapter and reviewing the materials presented the students will be able to:
13-January-2003cse LifeCycle © 2003 University of Washington1 Lifecycle CSE 403, Winter 2003 Software Engineering
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.
Attendance Counts at ESUSD
Introducing Project Management Update December 2011.
Dr. Steven M. Hays Freshman Seminar Bishop Kearney High School.
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Applied Software.
Chapter 1: Fundamental of Testing Systems Testing & Evaluation (MNN1063)
CS 5150 Software Engineering Lecture 2 Software Processes 1.
WATERFALL DEVELOPMENT MODEL. Waterfall model is LINEAR development lifecycle. This means each phase must be completed before moving onto the next!!! WHAT.
CSE Senior Design II Staged Delivery Instructor: Manfred Huber Partially adapted from Mike O’Dell.
Engineering Economics Lecture 18 Project Management 6 January 2010.
SCOPE DEFINITION,VERIFICATION AND CONTROL Ashima Wadhwa.
Yeah but.. What do I do? Software Leadership Dan Fleck 2007.
1 Software Project Management Final Stages. 2 Migration Moving users from existing system to your new one.
CSE Senior Design II Timebox Development Mike O’Dell Based on an earlier presentation by Bill Farrior, UTA, modified by Mike O’Dell.
Timebox Development Mike O’Dell Based on an earlier presentation by
Discussion Why is conflict such a significant issue for church plants?
Ashima Wadhwa.  Probably the most time-consuming project management activity.  Continuous activity from initial concept through to system delivery.
Managing the Project Lifecycle
Dilbert Scott Adams Manage It! Your Guide to Modern, Pragmatic Project Management. Johanna Rothman.
Classic Mistakes chapter22
Lecture 11: Scheduling, Estimation, and Prioritization
Instructor: Mike O’Dell
Instructor: Manfred Huber
CEN 4021 Software Engineering II
Timebox Development Instructor: Manfred Huber
Risk Management - Manage them or they will manage you...
Instructor: Mike O’Dell
How to fail at delivering software
Instructor: Mike O’Dell
Principles of Customer Service
Instructor: Vassilis Athitsos
Instructor: Manfred Huber
Presentation transcript:

CSE Senior Design I Project Recovery The slides in this presentation are derived from materials in the textbook used for CSE 4316/4317, Rapid Development: Taming Wild Software Schedules, by Steve McConnell. Instructor: Mike O’Dell

8 2 A Project in Trouble (C.S. 16-1) first indication  What was the first indication of trouble? recovery plan  How was the recovery plan developed?  What was the recovery plan?  Mythical man-month  Mythical man-month? denialDefensiveness  Signs of denial? Defensiveness? working hard  Was the problem that people weren’t working hard enough?

8 3 Characteristics of a Project in Need of a Recovery Plan  No one knows  No one knows when they will finish, and can’t even guess quality has plummeted  Product quality has plummeted and defects are on the rise working long, hard hours  Everyone is working long, hard hours pressure is on the rise  Peer-pressure and management pressure is on the rise confidence is low/lost  Stake holder confidence is low/lost

8 4 Characteristics of a Project in Need of a Recovery Plan defensive  Developers become defensive of their progress relationships deteriorate… finger pointing  Project team (development, marketing, management, etc.) relationships deteriorate… finger pointing  Morale  Morale is at rock bottom  Cancellation  Cancellation appears imminent fun  No one's having any fun anymore

8 5 How to Get Things Back on Track Three Three fundamental approaches: 1.Increase productivity by focusing on short- term gains 2.Cut the size of the project so it can be completed within the time and effort planned 3.Face the facts – slip the schedule, do damage control, possibly cancel the project combine these three Or (usually best), combine these three: featuresproductivity schedule  Drop a few features, increase productivity when possible, slip the schedule as necessary

8 6 Recovery Plan Basics  One plan does not fit all where you areyour project  Adopt a plan that is right for where you are on your project  It almost never helps to…  Cut corners (“not enough time to…”)  Add people (mythical man-month)  Rely on silver bullets (there’s no “magic” )

8 7 First Steps  Assess  Assess – figure out where you are significant action  Recognize that significant action is required  Same ol’, same ol’ won’t work! Theory-W analysis  Apply Theory-W analysis  What do all stakeholders need at this point?  How does everyone win?

8 Theory-W Management CustomersBossesDevelopersEnd-UsersMaintainers Quick Schedule No OverrunsInteresting Work Loss of Features No Defects Low BudgetNo SurprisesExploration of New Technology User-friendly Software Good Docs. Meets Requirements Successful Project No Grunt Work Fast SoftwareEasy Modifiability A LifeRobust Software 8 Everyone W ins

8 9 More First Steps  Ask  Ask the team what needs to be done everyone  Involve everyone  Evaluate all ideas  Be realistic about your team’s ability to recover over-committing  Avoid over-committing (again?) evaluate your ability  Objectively evaluate your ability to estimate, and adjust accordingly

8 10 … and More First Steps  Assess  Assess the “political situation” “why”  Identify and fix the “why” if others are not helping the project succeed Everyone onboard with Theory-W? Is there a power struggle going on? What are the priorities of the stakeholders?  Could be the reason for failure beyond your control… recovery plan, or not.

8 11 A Recovery Plan  Three components (the 3 P’s)  People  People… fix these problems and you will get the most leverage toward getting the project back on track  Process  Process… fix these problems or your recovery plan will fail  Product/Technology  Product/Technology… getting the feature-set under control and minimized is critical to project/product stability

8 12 Dealing with People Problems morale  Address the morale of the team  Critical to productivity  Potential Approaches Sacrifice the sacred cows Take explicit action that makes the development team feel important Remove unreasonable schedule pressure Remove micro-management practices

8 13 Dealing with People Problems “problem people”  Deal with “problem people”  Recall discussion of “Welch Grid” leadership  Deal with major leadership problems  Is the project leader who got you in this hole the right one to get you out?  Identify where on the team the leadership is weak

8 14 Dealing with People Problems  Add people very carefully, if at all  Brooks’s Law: Adding people to a late project is like pouring gasoline on fire!  Consider adding only if project can be partitioned to isolate new people  Err on the side of NOT adding people  Focus… distractions  Removing distractions wherever possible

8 15 Managing the Process  Identify and Fix Classic Mistakes  Stabilize  Stabilize product definition, design control and tracking  Shore up control and tracking quality  Validate product quality schedule  Verify (and re-verify) the new schedule tools  Validate your tools (any silver-bullets?) accountability  Shore up accountability

8 16 Managing the Process  Identify and fix things that are clearly broken or not working decisive  Take decisive action  Create “mini-milestones”  Miniature, binary and exhaustive Miniature- completed in days, not weeks Binary- done or not done Exhaustive- when last is done, project is done finer granularity  Monitor progress with finer granularity Always a Best Practice

8 17 Managing the Process  Track  Track schedule progress meticulously  Make sure “done” is 100% done  Ask “the next question”  Calibrate and recalibrate  Calibrate and recalibrate your schedule  Expect additional work (over-time) to make up slips on a mini-milestone  Record reasons for missed milestones fix underlying causes  Look for and fix underlying causes

8 18 Managing the Process  Recalibrate  Recalibrate the recovery plan after a short time after 1 or 2 weeks  Don’t let things get away from you again  Make every recovery schedule a meaningful one  Don’t give in to pressure or create “off- the-cuff” estimates manage risks  Painstakingly manage risks

8 19 Reining in the Product  Stabilize  Stabilize the requirements root cause  Unstable, changing requirements may be the root cause of all your problems restart requirements phase  May need to restart requirements phase rigid change evaluation  Implement a rigid change evaluation process for any further changes minimum time delay  Implement minimum time delay to even consider further change

8 20 Reining in the Product  Trim  Trim the feature set  Prioritize/Re-prioritize features  Focus on features that create best possible product at this time  Relegate low-priority features to the next release  Minimize, minimize, minimize…

8 21 Reining in the Product garbage  Take out the garbage  Eliminate low quality components… carefully! from the beginning  Redo them from the beginning if they are critically needed  Systematic redesign and implementation will reduce your risk!

8 22 Reining in the Product  Systematically reduce and manage  Systematically reduce and manage further defects  Track progress daily  Track progress daily… #open, #fixed, #resolved short-cuts  Don’t try to take short-cuts… short- cutting the fix inevitably results in more defects reviews on every module  Use design and code reviews on every module that you touch

8 23 Reining in the Product  Identify a known good state  Identify a known good state and build on it base  Use as base for further work  Daily build and test cycle maintaining the build  Make maintaining the build each day a top priority  Consider a “developers on call” approach

8 24 Timing Your Recovery Plan right balance  Need to find right balance between:  Too early – people won’t believe there is a problem, so they won’t take your plan seriously  Too late – you’re probably already in a recovery mode, having implemented numerous mini-plans, and your credibility will already be damaged