CSE Senior Design I Classic Mistakes Instructor Vassilis

  • Slides: 20
Download presentation
CSE Senior Design I Classic Mistakes Instructor: Vassilis Athitsos This presentation was derived from

CSE Senior Design I Classic Mistakes Instructor: Vassilis Athitsos This presentation was derived from the textbook used for this class, Mc. Connell, Steve, Rapid Development, Chapter 3. The presentation was prepared by Mr. Mike O'Dell and modified by Vassilis Athitsos.

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 Case Study in Classic Mistakes Ø What Mistakes can you identify? § §

5 Case Study in Classic Mistakes Ø What Mistakes can you identify? § § § First Mistake? Impact? Second Mistake? Impact? Other Mistakes? Impact? When and why did things finally turn around? What should have been done, and by whom? 5

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 6

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 7

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 8

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 9

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 10

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 11

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 12

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 310 days later ü QA me now, or pay me later! 13

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

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

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 16

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

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 18

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

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 21