classic mistakes Flashcards
what are 4 classic types of software development mistakes
people related
process related
product related
tech related
what is the people dimension
The People Dimension
► Results of studies indicate a 10-to-1 difference in productivity among
different developers
► “Peopleware” issues have more impact on software productivity than any
other factor
► Studies indicate that effects of individual ability, individual motivation, team
ability and team motivation dwarf other productivity factors
Summary on Variations in Productivity
► Greater than 10-to-1 differences in productivity among individuals with different
depths and breadths of experience
► 10-to-1 differences in productivity among individuals with the same levels of
experience
► 5-to-1 differences in productivity among groups with different levels of experience
► 2.5-to-1 differences in productivity among groups with similar levels of experience
People-Related Mistakes
Undermined Motivation
Weak Personnel
Uncontrolled Problem Employees
Adding people to a late project
Heroics
Unrealistic Expectations
Noisy Crowded offices
Friction between developers and customers
Lack of user input
Wishful Thinking
Lack of stakeholder buy in
Lack of effective project sponsorship
Politics placed over substance (can be fatal)
what is the process dimension
► “Process” includes both management and technical methodologies
► Companies that have focused on process have cut their time-to-market by about
one half and reduced cost and defects by factors of 3 to 10
Process Dimension - Aspects 1
Rework avoidance
Orient your process so you avoid doing things twice
► Quality assurance
To ensure product has acceptable level of quality
To detect errors at the stage they are least time consuming and costly to fix
Process Dimension - Aspects 2
► Development fundamentals
► Risk management
► Resource targeting
► Life cycle planning
► Customer orientation
Process-Related Mistakes 1
Shortchanged upstream activities
shortchanges quality assurance
insufficient management controls
premature or overly frequent convergence
omitting necessary tasks from estimates
Process-Related Mistakes 2
planning to catch up later
code like hell programming
overly optimistic schedules
insufficient risk management
contractor failure
Process-Related Mistakes 3
Insufficient planning
wasted time during the fuzzy front end
inadequate design
abandonment of planning under pressure
The Product Dimension
If you can reduce a product’s feature set, you can reduce the product’s schedule
► 80/20 rule – 80% of the product takes only 20% of the time
► Product size – the biggest single contributor to development schedule (effort
required to build software increases disproportionately faster than the size of the
software)
► Product characteristics – hard to reach goals regarding performance, memory
use, etc. will take longer
What are product related mistakes
requirements gold plating
feature creep
developer gold plating
push me pull me negotiation
research oriented developement
The Technology Dimension
Changing from less effective tools to more effective tools can be a fast way to
improve development speed
► The change from low-level languages to high-level languages was one of the
most important changes in software development
► Choosing tools effectively and managing the risks involved are important
Tech related mistakes
silver bullet syndrome
switching tools in the middle of a project
lack of automated source code control
overestimated savings from new tools or methods