1 / 20

Classic Mistakes

Classic Mistakes. Instructor: Mike O’Dell. This presentations was derived from the textbook used for this class, McConnell, Steve, Rapid Development , Chapter 3. Why Projects Fail - Overview. Five main reasons: Failing to communicate Failing to create a realistic plan Lack of buy-in

regis
Download Presentation

Classic Mistakes

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Classic Mistakes Instructor: Mike O’Dell This presentations was derived from the textbook used for this class, McConnell, Steve, Rapid Development, Chapter 3.

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

  3. Categories of Classic Mistakes • People-related • Process-related • Product-related • Technology-related

  4. 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”

  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?

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

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

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

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

  10. Classic Mistakes Enumerated 13. Adding people to a late project: • Productivity killer • Throwing people at a problem seldom helps

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

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

  13. 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 3-10 days later • QA me now, or pay me later!

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

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

  16. 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 stuffto do your job • Avoid dependence on the hottest new tools • Avoid implementing all the cool new features

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

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

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

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

More Related