Rapid Software Development Mistakes

One of the best software engineering books that talks thoroughly about managing tech projects is “Rapid Development” written by Steve McConnell, which I have mentioned in Computer Programming High Level Snippets. Steve McConnell defines “Rapid Development Project” as any project that needs to emphasize development speed.

Classic Mistakes in Rapid Software Development

Mistakes are not uncommon in software development. Ineffective software development practices are caused by classic mistakes in software development, which can slow down and cause bad results in software development projects. Software development’s classic mistakes can occur in 4 areas:

  • People – Staff selection for team projects, team organization, motivation
  • Process – Rework avoidance, quality assurance, development fundamentals, risk management, resource targeting, lifecycle planning, customer orientation
  • Product – Product size, product characteristics
  • Technology

People-related mistakes:

  • Undermined motivation
  • Weak personnel
  • Uncontrolled problem employees
  • Heroics
  • Adding people to a late project
  • Noisy, crowded offices
  • Friction between developers and customers
  • Unrealistic expectations
  • Lack of effective project sponsorship
  • Lack of stakeholder buy-in
  • Lack of user input
  • Politics placed over substance
  • Wishful thinking

Process-related mistakes:

  • Overly optimistic schedules
  • Insufficient risk management
  • Contractor failure
  • Insufficient planning
  • Abandonment of planning under pressure
  • Wasted time during the fuzzy front end
  • Shortchanged upstream activities
  • Inadequate design
  • Shortchanged quality assurance
  • Insufficient management controls
  • Premature or overly frequent convergence
  • Omitting necessary tasks from estimates
  • Planning to catch up later
  • Code-like-hell programming

Product-related mistakes:

  • Requirements gold-plating
  • Feature creep
  • Developer gold-plating
  • Push-me, pull-me negotiation
  • Research-oriented development

Technology-related mistakes:

  • Silver-bullet syndrome
  • Overestimated savings from new tools or methods
  • Switching tools in the middle of a project
  • Lack of automated source-code control

Rapid Software Development Fundamentals

Rapid software development relies on 3 fundamentals:

  • Management
  • Technical
  • Quality assurance

Management fundamentals:

  • Estimation and scheduling
  • Planning
  • Tracking
  • Measurement

Technical fundamentals:

  • Requirements management
  • Design
  • Construction
  • Software configuration management (SCM)

Quality fundamentals:

  • Error-prone modules
  • Testing
  • Technical reviews: Walkthroughs, code reading, inspections

Comments

Leave your comments

  • Your first comment will be reviewed before getting posted.
  • Your subsequent comments will be posted without review.
  • All spammy comments will be deleted.