CSE Senior Design I Classic Mistakes Instructor Manfred

  • Slides: 21
Download presentation
CSE Senior Design I Classic Mistakes Instructor: Manfred Huber Partially adapted from Mike O’

CSE Senior Design I Classic Mistakes Instructor: Manfred Huber Partially adapted from Mike O’ O’Dell. This presentations was derived from the textbook used for this class, Mc. Connell, Steve, Rapid Development, Chapter 3.

5 Why Projects Fail - Overview Ø Five main reasons: § § § Failing

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 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

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, sufficient to achieve rapid development speeds § Missing most of the potholes in the road, but falling into one big one, one will ruin your whole day (or project) Ø “One bad apple (mistake) can spoil the bunch” 4

5 Classic Mistakes Enumerated 1. Undermined motivation: ü The Big One - Probably the

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 GOAL Educate Train & & Evaluate Educate

5 The “Welch Grid*” Buy-in, Potential Train GOAL Educate Train & & Evaluate Educate 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 ü

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! 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

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,

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

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.

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

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! 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

5 Classic Mistakes Enumerated 20. Shortchanged upstream activities: ü See above… do the work up front! front ü Avoid the “jump to coding” mentality 21. Inadequate design: ü See above… do the required work up front! front 22. Shortchanged quality assurance: ü Test planning is a critical part of every plan ü Shortcutting 1 day early on will likely cost you 3 -10 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 &

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

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

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

5 Classic Mistakes Enumerated 31. Push-me, pull-me negotiation: ü Schedule slip = feature addition 32. Research-oriented development: ü Software research schedules are theoretical, 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

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: ü

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

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 – §

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