What are the common reasons software development projects fail? Project Failure What are the common reasons software development projects fail?
Starter Question In terms of a software development project, define "success" and "failure". Cost, Time, Functionality, and Quality
Software Project Failure Standish Group: 90 percent of software projects are completed late 66 percent are deemed failures 30 percent are abandoned That figure is probably falsely too high. probably 70% are late probably 30% are significantly late probably over 80% do not fulfill 100% of requirements Everyone agrees the failure rate is too high.
“Critical Success Factors in Software Projects” Causes of Failure Source: “Critical Success Factors in Software Projects” by John Reel 10 signs of IS project failure: Project managers don’t understand users’ needs. The project’s scope is ill-defined. Project changes are managed poorly. The chosen technology changes. Business needs change. Deadlines are unrealistic. Users are resistant. Sponsorship is lost. The project lacks people with appropriate skills. Managers ignore best practices and lessons learned. 1 – 7 occur before even the design starts
Critical Success Factors Source: lots of reading by Dannelly Stable Requirements Accurate Estimations Teamwork and Unified Vision Attention to Risks So how do we get these on a regular basis?
34 Competencies Essential competencies employed by the most successful software project managers.
3 Categories Product Development Skills Project Management Skills People Management Skills blatantly stolen from "Quality Software Project Management" by Futrell, Shafer, Shafer Prentice Hall PTR
Product Develop Skills Awareness of Process Standards - best practices Evaluating Alternative Processes - Evaluating various approaches Tailoring Processes - Modifying standard processes to suit a project Assessing Processes - Defining criteria for reviews Defining the Product - Identifying customer environment and product requirements Managing Requirements - Monitoring requirements changes Managing Subcontractors - Planning, managing, & monitoring performance Performing the Initial Assessment - Assessing difficulty, risks, costs and schedule Selecting Methods and Tools - Defining selection processes Tracking Product Quality - Monitoring the quality of an evolving product Understanding Development Activities - Learning the software development cycle 34 Competencies
Project Management Skills Building a WBS - determining the relationships between the work to be done. Documenting Plans - describing how the work should be done. Estimating Costs - Estimating cost to complete the project Estimating Effort - Estimating effort required to complete the project Managing Risks - Identifying and determining the impact of risks Monitoring Development - Monitoring the production of software Scheduling Work - Creating a schedule and key milestones Selecting Metrics - Choosing and using appropriate metrics Selecting Project Management Tools - Knowing how to select PM tools Tracking Processes - Monitoring compliance of project team Tracking Project Progress - Monitoring progress using metrics 34 Competencies
People Management Skills Appraising Performance - Evaluating teams to enhance performance Handling Intellectual Property - business law Holding Effective Meetings - Planning and running excellent meetings Interaction and Communication - Dealing with developers, upper management, and other teams Leadership - Coaching project teams for optimal results Managing Change - Being an effective change agent Negotiating Successfully - Resolving conflicts and negotiating successfully Planning Careers - Structuring and giving career guidance Presenting Effectively - Using effective written and oral skills Recruiting - Recruiting and interviewing team members successfully Selecting a Team - Choosing highly competent teams Teambuilding - Forming, guiding, and maintaining an effective team 34 Competencies
Questions Which skill are you currently the best at? Which skill are you the worst at? Which skill is probably the most difficult to learn? Which skill is the most important? Which skill(s) is not very important?