Classic Mistakes

advertisement
CSE Senior Design I
Classic Mistakes
Instructor: Mike O’Dell
This presentations was derived from the textbook used for this class, McConnell,
Steve, Rapid Development, Chapter 3.
5 Why Projects Fail - Overview
Five main reasons:





Failing to communicate
Failing to create a realistic plan
Lack of buy-in
Allowing scope/feature creep
Throwing resources at a problem
N.B. – Software development is COMPLEX
and HARD, so people make mistakes.
2
5 Categories of Classic Mistakes
People-related
Process-related
Product-related
Technology-related
3
5
Effect of Classic Mistakes on
Development Schedules
Doing a few things right DOES NOT
guarantee success!
 Use of any specific best practice is necessary,
but not sufficient, to achieve rapid
development speeds
 Missing most of the potholes in the road, but
falling into one big one, will ruin your whole day
(or project)
“One bad apple (mistake) can spoil the
bunch”
4
5 Classic Mistakes - Homework
Before next class..
1. Review the following slides thoroughly
2. If slides are not clear, refer to textbook for
further details
3. Prepare short (1 page) document listing your
“Top 5” concerns about classic mistakes for
your team/project. Provide rationale for
each.
4. Turn in and prepare to discuss in next class.
5
5 Classic Mistakes Enumerated
1. Undermined motivation:
 The Big One - Probably the largest single factor in
poor productivity
 Motivation must come from within
2. Weak personnel:
 The right people in the right roles
3. Uncontrolled problem employees:
 Problem people (or just one person) can kill a team
and doom a project
 The team must take action… early
 Consider the Welch Grid
PEOPLE-RELATED
6
5 The “Welch Grid*”
Buy-in, Potential
Train
Train
GOAL
Educate
Train &
&
Evaluate
Educate
Evaluate
Evaluate Evaluate Problem
Influence, Capabilities, Skills
* One of several variants, attributed to Jack Welch, former CEO of General Electric
PEOPLE-RELATED
7
5 Classic Mistakes Enumerated
4. Heroics:
 Heroics seldom work to your advantage
 Honesty is better than an empty “can-do”
5. Wishful thinking:
 Not the same as optimism
 Don’t plan on good luck! (Plan on bad luck??)
 May be the root cause of many other mistakes
6. Noisy, crowded offices:
 Work environment is important to productivity
 Noisy, crowded conditions lengthen schedules
PEOPLE-RELATED
8
5 Classic Mistakes Enumerated
7. Friction between developers and
customers/sponsors:
 Cooperation is the key
 Encourage participation in the process
8. Unrealistic expectations:
 Avoid seat-of-the-pants commitments
 Realistic expectations is a TOP 5 issue
9. Lack of effective project sponsorship:
 Management must buy-in and provide support
 Potential morale killer
PEOPLE-RELATED
9
5 Classic Mistakes Enumerated
10. Lack of stakeholder buy-in:
 Team members, end-users, customers,
management, etc.
 Buy-in engenders cooperation at all levels
11. Lack of user input:
 You can’t build what you don’t understand
 Early input is critical to avoid feature creep
12. Politics placed over substance:
 Being well regarded by management will not make
your project successful
PEOPLE-RELATED
10
5 Classic Mistakes Enumerated
13. Adding people to a late project:
 Productivity killer
 Throwing people at a problem seldom helps
PEOPLE-RELATED
11
5 Classic Mistakes Enumerated
14. Overly optimistic schedules:
 Wishful thinking/planning on good luck.
(Feasibility??)
15. Insufficient risk management:
 Identify unique risks and develop a plan to
eliminate them
 Consider a “spiral” (iterative) approach for larger
risks
16. Contractor failure:
 Relationship/cooperation/clear Statement of
Work
PROCESS-RELATED
12
5 Classic Mistakes Enumerated
17. Insufficient planning:
 If you can’t plan it… you can’t do it!
18. Abandonment of planning under
pressure:
 Path to failure
 Code-and-fix mentality takes over… and will fail
19. Wasted time during fuzzy front end:
 That would be now!
 Almost always cheaper and faster to spend time
upfront working/refining the plan
PROCESS-RELATED
13
5 Classic Mistakes Enumerated
20. Shortchanged upstream activities:
 See above… do the work up front!
 Avoid the “jump to coding” mentality
21. Inadequate design:
 See above… do the required work up front!
22. Shortchanged quality assurance:
 Test planning is a critical part of every plan
 Shortcutting 1 day early on will likely cost you 310 days later
 QA me now, or pay me later!
PROCESS-RELATED
14
5 Classic Mistakes Enumerated
23. Insufficient (project) management
controls:
 Buy-in implies participation & cooperation
24. Premature or overly frequent
convergence:
 It’s not done until it’s done!
25. Omitting necessary tasks from
estimates:
 Can add 20-30% to your schedule
 Don’t sweat the small stuff!
PROCESS-RELATED
15
5 Classic Mistakes Enumerated
26. Planning to catch up later:
 Schedule adjustments WILL be necessary
 A month lost early on probably cannot be made
up later
27. “Code-like-hell” programming:
 The fast, loose, “entrepreneurial” approach
 This is simply… Code-and-Fix. Don’t!
PROCESS-RELATED
16
5 Classic Mistakes Enumerated
28. Requirements gold-plating:
 Avoid complex, difficult to implement features
 Often, they add disproportionately to schedule
29. Feature creep:
 The average project experiences 25% change
 Another killer mistake!
30. Developer gold-plating:
 Use proven stuff to do your job
 Avoid dependence on the hottest new tools
 Avoid implementing all the cool new features
PRODUCT-RELATED
17
5 Classic Mistakes Enumerated
31. Push-me, pull-me negotiation:
 Schedule slip = feature addition
32. Research-oriented development:
 Software research schedules are theoretical, at
best
 Try not to push the envelop unless you allow for
frequent schedule revisions
 If you push the state of the art… it will push back!
PRODUCT-RELATED
18
5 Classic Mistakes Enumerated
33. Silver-bullet syndrome:
 There is no magic in product development
 Don’t plan on some new whiz-bang thing to save
your bacon (i.e., your schedule)
34. Overestimated savings from new tools
or methods:
 Silver bullets probably won’t improve your
schedule… don’t overestimate their value
TECHNOLOGY-RELATED
19
5 Classic Mistakes Enumerated
35. Switching tools in the middle of the
project:
 Version 3.1…version 3.2… version 4.0!
 Learning curve, rework inevitable
36. Lack of automated source control:
 Stuff happens… enough said!
TECHNOLOGY-RELATED
20
5
Exercise: Develop a Project
“Disaster Avoidance Plan”
Get together as a team and make a list of
“worst practices” that you should avoid in
your project.
Include specific mistakes that you think
could/will be made by your team
Post this list on the wall in your lab space
or wherever it will be visible and prominent
on a daily basis
Refer to it frequently and talk about how
you will avoid these mistakes
22
5 Course Admin: Labs, Going
Forward (after this week)
Progress Reports –
 Team
Include Project Earned Value (major tasks) in your
report (sum of completed individual tasks)
 Individual
use standard format posted on website
Evaluate Earned Value based on 0% - 100% (all or
nothing) methodology for individual tasks
Requires that discrete tasks be identified and
included in your MS Project Plan
Engineering notebook review (random)
23
Download