SlideShare a Scribd company logo
2
Most read
3
Most read
Applied Software Project Management




            Applied Software Project
                  Management
                              Introduction




                                             Andrew Stellman & Jennifer Greene
Applied Software Project Management



      Why do software projects fail?
         People begin programming before they
         understand the problem
          Everyone likes to feel that they’re making progress
          When the team starts to code as soon as the
           project begins, they see immediate gains
          When problems become more complex (as they
           always do!), the work gets bogged down
          In the best case, a team that begins programming
           too soon will end up writing good software that
           solves the wrong problem


                                              Andrew Stellman & Jennifer Greene
Applied Software Project Management



      Why do software projects fail?
         The team has an unrealistic idea about
         how much work is involved.
          From far away, most complex problems
           seem simple to solve
          Teams can commit to impossible
           deadlines by being overly optimistic and
           not thinking through the work
          Few people realize the deadline is
           optimistic until it’s blown

                                         Andrew Stellman & Jennifer Greene
Applied Software Project Management



      Why do software projects fail?
         Defects are injected early but discovered late.
          Projects can address the wrong needs
          Requirements can specify incorrect behavior
          Design, architecture and code can be technically
           flawed
          Test plans can miss functionality
          The later these problems are found, the more
           likely they are to cause the project to fail



                                             Andrew Stellman & Jennifer Greene
Applied Software Project Management



      Why do software projects fail?
         Programmers have poor habits – and they
         don’t feel accountable for their work.
          Programmers don’t have good control of their
           source code
          Code written by one person is often difficult for
           another person to understand
          Programmers don’t test their code, which makes
           diagnosing and fixing bugs more expensive
          The team does not have a good sense of the
           overall health of the project.


                                              Andrew Stellman & Jennifer Greene
Applied Software Project Management



      Why do software projects fail?
         Managers try to test quality into the software.
          Everyone assumes that the testers will catch all of
           the defects that were injected throughout the
           project.
          When testers look for defects, managers tell them
           they are wasting time.
          When testers find defects, programmers are
           antagonized because they feel that they are being
           personally criticized.
          When testers miss defects, everyone blames them
           for not being perfect.

                                              Andrew Stellman & Jennifer Greene
Applied Software Project Management


        How can we make sure that our
             projects succeed?
         Make sure all decisions are based on openly
         shared information
          It’s important to create a culture of transparency,
           where everyone who needs information knows
           where to find it and is comfortable looking at it.
          All project documents, schedules, estimates, plans
           and other work products should be shared with the
           entire team, managers, stakeholders, users and
           anyone else in the organization who wants them.
          Major decisions that are made about the project
           should be well-supported and explained.

                                              Andrew Stellman & Jennifer Greene
Applied Software Project Management


        How can we make sure that our
             projects succeed?
         Don’t second-guess your team
         members’ expertise
          Managers need to trust team members.
          Just because a manager has responsibility
           for a project’s success, it doesn’t mean that
           he’s more qualified to make decisions than
           the team members.
          If you don’t have a good reason to veto an
           idea, don’t.

                                          Andrew Stellman & Jennifer Greene
Applied Software Project Management


        How can we make sure that our
             projects succeed?
         Introduce software quality from the very
         beginning of the project
          Review everything, test everything.
          Use reviews to find defects – but don’t
           expect the review to be perfect.
          Use reviews to gain a real commitment
           from the team.
          It’s always faster in the long run to hold a
           review than it is to skip it.

                                           Andrew Stellman & Jennifer Greene
Applied Software Project Management


        How can we make sure that our
             projects succeed?
         Don’t impose an artificial hierarchy on the
         project team
          All software engineers were created equal.
          A manager should not assume that programming
           is more difficult or technical than design, testing or
           requirements engineering.
          Managers should definitely not assume that the
           programmer is always right, or the tester is always
           raising false alarms.


                                                Andrew Stellman & Jennifer Greene
Applied Software Project Management


        How can we make sure that our
             projects succeed?
         Remember that the fastest way through the
         project is to use good engineering practices
          Managers and teams often want to cut important
           tasks – especially estimation, reviews,
           requirements gathering and testing.
          If it were faster to build the software without these
           practices, we would never use them.
          Every one of these practices is about saving time
           and increasing quality by planning well and finding
           defects early. Cutting them out will cost time and
           reduce quality.

                                                Andrew Stellman & Jennifer Greene

More Related Content

PPT
Extreme & pair programming Slides ppt
PPTX
Lecture 01
PPT
Pair Programming Presentation
PDF
Pair programming demystified
PDF
Why Is Managing Software So Hard?
PDF
Software Developer Productivity: What we know and how to make it better
PPTX
Lean Software Development
PDF
Introducing Pair Programming
Extreme & pair programming Slides ppt
Lecture 01
Pair Programming Presentation
Pair programming demystified
Why Is Managing Software So Hard?
Software Developer Productivity: What we know and how to make it better
Lean Software Development
Introducing Pair Programming

What's hot (20)

PDF
Introduction to Extreme Programming
PDF
What is Software Development Productivity Anyway?
PPTX
What Do You Do When Agile Is Too Slow?
PPT
XP Explained
PPTX
Dave West (Tasktop Technologies) - Wizard of Oz
PPTX
The Mythical Man Month
PPT
W JAX Performance Workshop - Organisational Antipatterns
PDF
A Software Development Approach to Help You End Up with the Product You Reall...
PPTX
Xp(Xtreme Programming) presentation
PPTX
introduction to software enginering
PDF
How Do You Build Software? Software Engineering Practices of an Agile Developer
PPTX
Lean Software Development
PPTX
Heise cusimano
PPTX
19th Annual European Software Testing Conference
PDF
Lean Software Development Presentation
PDF
Pair Programming (2014)
PDF
Lean Software Development
ODP
Agile + Benefits + Transition Nov 2009
PPT
Pair Programming: overview and concepts
PDF
20 things you should know
Introduction to Extreme Programming
What is Software Development Productivity Anyway?
What Do You Do When Agile Is Too Slow?
XP Explained
Dave West (Tasktop Technologies) - Wizard of Oz
The Mythical Man Month
W JAX Performance Workshop - Organisational Antipatterns
A Software Development Approach to Help You End Up with the Product You Reall...
Xp(Xtreme Programming) presentation
introduction to software enginering
How Do You Build Software? Software Engineering Practices of an Agile Developer
Lean Software Development
Heise cusimano
19th Annual European Software Testing Conference
Lean Software Development Presentation
Pair Programming (2014)
Lean Software Development
Agile + Benefits + Transition Nov 2009
Pair Programming: overview and concepts
20 things you should know
Ad

Similar to Lecture 1 introduction to applied software project management (20)

PPT
01 introduction.ppt
PPTX
Management and leadership
PPT
Educational Process and other things and other things
ODP
Agile Injection, Varberg
PPT
management and leadership.ppt
PPT
Scrum methodology
PPTX
Agile software development
PPTX
Extreme programming
PPTX
Software Development Methodologies and Team Management
PDF
High Quality Software Development with Agile and Scrum
PPTX
Project Mangement
ODP
Agile Software Development - Making Programming Fun Again
ODP
Agile Software Development - Making Programming Fun Again
PDF
Agile Software Development - making programming fun again
PPT
Anti Patterns Siddhesh Lecture3 Of3
PDF
Agile 101
PPTX
Agile Software Design and Development Process.pptx
PPTX
Chapter 1 - Agile Methodology
PPT
Agile Development
PDF
01 introduction.ppt
Management and leadership
Educational Process and other things and other things
Agile Injection, Varberg
management and leadership.ppt
Scrum methodology
Agile software development
Extreme programming
Software Development Methodologies and Team Management
High Quality Software Development with Agile and Scrum
Project Mangement
Agile Software Development - Making Programming Fun Again
Agile Software Development - Making Programming Fun Again
Agile Software Development - making programming fun again
Anti Patterns Siddhesh Lecture3 Of3
Agile 101
Agile Software Design and Development Process.pptx
Chapter 1 - Agile Methodology
Agile Development
Ad

Recently uploaded (20)

DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
KodekX | Application Modernization Development
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPTX
sap open course for s4hana steps from ECC to s4
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Approach and Philosophy of On baking technology
PPTX
Spectroscopy.pptx food analysis technology
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Machine learning based COVID-19 study performance prediction
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
The AUB Centre for AI in Media Proposal.docx
The Rise and Fall of 3GPP – Time for a Sabbatical?
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Unlocking AI with Model Context Protocol (MCP)
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
KodekX | Application Modernization Development
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
sap open course for s4hana steps from ECC to s4
Review of recent advances in non-invasive hemoglobin estimation
Encapsulation_ Review paper, used for researhc scholars
Approach and Philosophy of On baking technology
Spectroscopy.pptx food analysis technology
Programs and apps: productivity, graphics, security and other tools
Reach Out and Touch Someone: Haptics and Empathic Computing
Machine learning based COVID-19 study performance prediction
NewMind AI Weekly Chronicles - August'25 Week I
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...

Lecture 1 introduction to applied software project management

  • 1. Applied Software Project Management Applied Software Project Management Introduction Andrew Stellman & Jennifer Greene
  • 2. Applied Software Project Management Why do software projects fail? People begin programming before they understand the problem Everyone likes to feel that they’re making progress When the team starts to code as soon as the project begins, they see immediate gains When problems become more complex (as they always do!), the work gets bogged down In the best case, a team that begins programming too soon will end up writing good software that solves the wrong problem Andrew Stellman & Jennifer Greene
  • 3. Applied Software Project Management Why do software projects fail? The team has an unrealistic idea about how much work is involved. From far away, most complex problems seem simple to solve Teams can commit to impossible deadlines by being overly optimistic and not thinking through the work Few people realize the deadline is optimistic until it’s blown Andrew Stellman & Jennifer Greene
  • 4. Applied Software Project Management Why do software projects fail? Defects are injected early but discovered late. Projects can address the wrong needs Requirements can specify incorrect behavior Design, architecture and code can be technically flawed Test plans can miss functionality The later these problems are found, the more likely they are to cause the project to fail Andrew Stellman & Jennifer Greene
  • 5. Applied Software Project Management Why do software projects fail? Programmers have poor habits – and they don’t feel accountable for their work. Programmers don’t have good control of their source code Code written by one person is often difficult for another person to understand Programmers don’t test their code, which makes diagnosing and fixing bugs more expensive The team does not have a good sense of the overall health of the project. Andrew Stellman & Jennifer Greene
  • 6. Applied Software Project Management Why do software projects fail? Managers try to test quality into the software. Everyone assumes that the testers will catch all of the defects that were injected throughout the project. When testers look for defects, managers tell them they are wasting time. When testers find defects, programmers are antagonized because they feel that they are being personally criticized. When testers miss defects, everyone blames them for not being perfect. Andrew Stellman & Jennifer Greene
  • 7. Applied Software Project Management How can we make sure that our projects succeed? Make sure all decisions are based on openly shared information It’s important to create a culture of transparency, where everyone who needs information knows where to find it and is comfortable looking at it. All project documents, schedules, estimates, plans and other work products should be shared with the entire team, managers, stakeholders, users and anyone else in the organization who wants them. Major decisions that are made about the project should be well-supported and explained. Andrew Stellman & Jennifer Greene
  • 8. Applied Software Project Management How can we make sure that our projects succeed? Don’t second-guess your team members’ expertise Managers need to trust team members. Just because a manager has responsibility for a project’s success, it doesn’t mean that he’s more qualified to make decisions than the team members. If you don’t have a good reason to veto an idea, don’t. Andrew Stellman & Jennifer Greene
  • 9. Applied Software Project Management How can we make sure that our projects succeed? Introduce software quality from the very beginning of the project Review everything, test everything. Use reviews to find defects – but don’t expect the review to be perfect. Use reviews to gain a real commitment from the team. It’s always faster in the long run to hold a review than it is to skip it. Andrew Stellman & Jennifer Greene
  • 10. Applied Software Project Management How can we make sure that our projects succeed? Don’t impose an artificial hierarchy on the project team All software engineers were created equal. A manager should not assume that programming is more difficult or technical than design, testing or requirements engineering. Managers should definitely not assume that the programmer is always right, or the tester is always raising false alarms. Andrew Stellman & Jennifer Greene
  • 11. Applied Software Project Management How can we make sure that our projects succeed? Remember that the fastest way through the project is to use good engineering practices Managers and teams often want to cut important tasks – especially estimation, reviews, requirements gathering and testing. If it were faster to build the software without these practices, we would never use them. Every one of these practices is about saving time and increasing quality by planning well and finding defects early. Cutting them out will cost time and reduce quality. Andrew Stellman & Jennifer Greene