jump to navigation

Classic Mistakes in Software Development August 25, 2005

Posted by Coolguy in Software Development.
Tags:
trackback

People

  • Undermined motivation
  • Weak personnel : Who could be hired fastest instead of who would get the most work done over the life of the project
  • Uncontrolled problem employees : Failure to take action to deal with a problem employee
  • Heroics: Elevating can-do attitudes above accurate-and-sometimes-gloomy status reporting
  • Adding people to a late project
  • Noisy, crowded offices
  • Friction between developers and customers : Customers may feel that developers are not cooperative when they refuse to sign up for the development schedule that the customers want, or when they fail to deliver on their promises. Developers may feel that customers unreasonably insisting on unrealistic schedules or requirements changes after requirements have been baselined
  • Unrealistic expectations
  • Lack of effective project sponsorship: High-level project sponsorship is necessary to support many aspects of rapid development including realistic planning, change control, and the introduction of new development practices
  • Lack of stakeholder buy-in. All of the major players in a software-development effort must buy in to the project
  • Lack of user input
  • Politics placed over substance
  • Wishful thinking: Wishful thinking isn’t just optimism. It’s closing your eyes and hoping something works when you have no reasonable basis for thinking it will

Process

  • Overly optimistic schedules
  • Insufficient risk management
  • Contractor failure
  • Insufficient planning
  • Abandonment of planning under pressure
  • Wasted time during the fuzzy front end : The “fuzzy front end” is the time before the project starts, the time normally spent in the approval and budgeting process
  • Shortchanged upstream activities: Projects that are in a hurry try to cut out nonessential activities, and since requirements analysis, architecture, and design don’t directly produce code, they are easy targets.On one disaster project that I took over, I asked to see the design. The team lead told me, “We didn’t have time to do a design.”
  • Inadequate design
  • Shortchanged quality assurance: Design reviews and code reviews were given short shrift in order to achieve a perceived schedule advantage
  • Insufficient management controls
  • Premature or too frequent convergence
  • Omitting necessary tasks from estimates
  • Planning to catch up later
  • Code-like-hell programming

Product

  • Requirements gold-plating: Some projects have more requirements than they need right from the beginning. Performance is stated as a requirement more often than it needs to be, and that can unnecessarily lengthen a software schedule. Users tend to be less interested in complex features than marketing and development are, and complex features add disproportionately to a development schedule
  • Feature creep: Even if you’re successful at avoiding requirements gold-plating, the average project experiences about a 25-percent change in requirement over its lifetime
  • Developer gold-plating: Developers are fascinated by new technology and are sometimes anxious to try out new features of their language or environment or to create their own implementation of a slick feature they saw in another product–whether or not it’s required in their product
  • Push me, pull me negotiation: One bizarre negotiating ploy occurs when a manager approves a schedule slip on a project that’s progressing slower than expected and then adds completely new tasks after the schedule change
  • Research-oriented development: Software research schedules are not even theoretically predictable

Technology

  • Silver-bullet syndrome: When project teams latch onto a single new methodology or new technology and expect it to solve their schedule problems, they are inevitably disappointed
  • Overestimated savings from new tools or methods
  • Switching tools in the middle of a project
  • Lack of automated source-code control
Advertisements

Comments»

No comments yet — be the first.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: