Instructor: Mike O’Dell

Slides:



Advertisements
Similar presentations
Development Process. Four Factors People –10 to 1 variation in programmer productivity with the same experience Process –Methodology Product –Size Technology.
Advertisements

Software Project Management.  Leadership  Communications  Problem Solving  Negotiating  Influencing the Organization  Mentoring  Process.
CSE Senior Design I Classic Mistakes Instructor: Mike O’Dell This presentations was derived from the textbook used for this class, McConnell, Steve, Rapid.
CSE Senior Design I Classic Mistakes Instructor: Vassilis Athitsos This presentation was derived from the textbook used for this class, McConnell, Steve,
CSE 403 Lecture 8 Risk assessment. Lecture goals Understand risk management and assessment techniques Guarding against failure to meet delivery deadline,
Session 1: Introduction to Project Management
Computer Engineering 203 R Smith Risk Management 7/ Risk Management The future can never be predicted with 100% accuracy. Failure to plan for risks.
1 Software Project Management Session 1: Introduction, Fundamentals, Classic Mistakes.
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Why Software.
Unit 7 University of Sunderland CSEM04 ROSCO Risk & Opportunity Identification: Brainstorming (and Risk Checklists) CSEM04: Risk and Opportunities of Systems.
Unit 4 University of Sunderland COMM80 Risk Assessment of Systems Change Risk Identification: Concept and Generic Techniques COMM80: Risk Assessment of.
NJIT Inception is not the Requirements Phase Chapter 4 Applying UML and Patterns Craig Larman.
Software Management Plan (part I) Software management’s 7 deadly sins The “3 P’s” of software management Why big software projects fail: the key 12 questions.
CSE Senior Design I Risk Management Instructor: Mike O’Dell This presentations was derived from the textbook used for this class: McConnell, Steve, Rapid.
Dr. Nguyen Hai Quan.  Overview  Classic Mistakes  Project Manager Requirements  Project Management Phases.
Rapid Development (Part 1) Mihail V. Mihaylov RammSoft.
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:
why information systems?
1 CSE 403 Classic Mistakes Reading: Rapid Development Ch3 These lecture slides are copyright (C) Marty Stepp, 2007, with significant content taken from.
Rapid Development.
22 Jul 2005CSE403, Summer'05, Lecture 12 Lecture 12: Scheduling, Estimation, and Prioritization (Part II) Valentin Razmov.
NJIT 1 Managing Technical People Ian Sommerville, Software Engineering, Chapter 22 Gerald Weinberg, The Psychology of Computer Programming, and many other.
CSE Senior Design I Critical Topic Review Instructor: Manfred Huber This presentations was adapted in part from Mike O’Dell.
1 CSE 403 Introduction Reading: Rapid Development Ch3.3 These lecture slides are copyright (C) Marty Stepp, 2007, with significant content taken from slides.
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.
Classic Mistakes and Model – View - Controller Trisha Cummings.
Lecture 1 Introduction, Fundamentals, Classic Mistakes 1.
IT3101- Rapid Application Development. Course Details Lectures – 30 hours Practical - 60 hours.
CSE 490RA Richard Anderson Chris Mason. Course goals For students  Programming experience on Tablet PC  UI and Design experience  Work in team  Develop.
1 IT Project Management, Project Failure and Success  Introduction  Projects operate in a broad organizational environment.  Project managers need to.
Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 3. Defining the System A Use Case Primer Organizing.
Dr. Rob Hasker. Avoiding failure  Standish Report, 2014 Standish Report 31% projects cancelled before completion 53% projects ~190% of original estimate.
IT3101: Rapid Application Development Lec-1. What is Rapid Application Development? Software development process that allows usable systems to be built.
1 Software Project Management Introduction, Fundamentals, Classic Mistakes.
Introduction to Project management and Principles.
1 Software Project Management Lecture # 3. 2 Today Administrative items Fundamentals Project Management Dimensions Classic Mistakes.
1 Project Management Skills Leadership Communications Problem Solving Negotiating Influencing the Organization Mentoring Process and technical expertise.
What is a Functional Spec?  Defines what the functionality will be NOT how it will be implemented  Describes features of the software product product's.
HNDIT23073 : Rapid Application Development
% of commercial projects fail. % of open source projects fail.
PROJECT LIFE CYCLE AND EFFORT ESTIMATION
Embedded Systems Software Engineering
Software Project Management
Project basics & team work, communication
Applying UML and Patterns
Dilbert Scott Adams Manage It! Your Guide to Modern, Pragmatic Project Management. Johanna Rothman.
The importance of project management
Classic Mistakes chapter22
Client Management Managing Client Expectations
Project Management. Learning Objectives Defining project management The importance of project management The role of the project manager Keys to successful.
Instructor: Mike O’Dell
slides created by Marty Stepp
Instructor: Manfred Huber
Systems Analysis and Design Kendall and Kendall Fifth Edition
Timebox Development Instructor: Manfred Huber
Risk Management - Manage them or they will manage you...
SE 3800 Note 10 Project Management
How to fail at delivering software
why information systems?
UNIT 5 EMBEDDED SYSTEM DEVELOPMENT
UNIT 5 EMBEDDED SYSTEM DEVELOPMENT
Systems Analysis and Design Kendall and Kendall Fifth Edition
Instructor: Mike O’Dell
Instructor: Vassilis Athitsos
Instructor: Manfred Huber
Systems Analysis and Design Kendall and Kendall Fifth Edition
Chapter 3 Determining Feasibility and Managing Analysis and Design Activities 1.
Presentation transcript:

Instructor: Mike O’Dell 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 Allowing scope/feature creep Throwing resources at a problem N.B. – Software development is COMPLEX and HARD, so people make mistakes.

Categories of Classic Mistakes People-related Process-related Product-related Technology-related

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”

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?

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

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

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

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

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

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

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

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!

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!

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!

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

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!

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

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!

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