SWATLab QA Testing
Home About Us Contact Us Careers Press Privacy Login

On-Demand QA Lab

Online Portal

Lab Provisioning

Project Schedule

Project Costs

Lab Services

Functional Testing

Compatibility Testing

Performance Testing

WHQL Pre-Certification

Competitive Analysis

Usability Testing

Technologies

Virtualization

Mobile / Wireless

64bit Technology

Web Applications

Peripheral Devices

Test Automation

Web Services

Minnesota Business Magazine / Know-How/Technology:

Software Development, Vegas Style
Avoid turning your strategic technology project into a crap shoot

Published June 2006
Author: John Fox
With typical software development projects costing somewhere in the million dollar range and with less than half of software projects successful, IT managers might be better off spinning the roulette wheel than actually building their new software system. And that can hurt.

Sloppy software conservatively costs the U.S. $60 billion a year, according to an article by Robert Charette recently published in the IEEE. This is due to faulty software, cancelled projects, late projects, litigation and added customer support.

Software development is obviously a very risky business. That is why senior management is being forced to do something about it.

Know the Issues
You're probably familiar with the classic symptoms of software development gone wrong: agonizingly beyond schedule, new features being added at a dizzying pace, staff issues, unexpected costs, quality issues, and on and on it goes. Yet these pains are only symptoms.

The two key factors managers should pay attention to are getting an efficient start and reining in changes to the system. Steve McConnell, one of the leading software development gurus, refers to the start of a software project as the "Fuzzy front end". Too much time is wasted here and so the tendency is to just start building something. Unfortunately that something usually ends up becoming the end product and it leaves much to be desired.

All good software begins with great requirements, which reflect the strategic rationale for the technology investment in the first place. Spending more time defining and prioritizing your requirements will go along way towards improving your project. Every feature needs to be challenged. Eliminating, or deferring, features saves time in design, development, test and integration and may make your software simpler to use as well.

Requirements that are not specific enough will result in developers having to make too many interpretations. This takes time and also may result in features you didn't expect. Ultimately this means rework, the curse of software development.

Keep IT Simple Stupid
Watts Humphrey, a wise veteran of the software development industry, says that successful development requires two main ingredients; technical know-how and discipline. Yet it's almost always technical know-how that gets the focus.

Discipline usually is discarded a few weeks into a project. The fact is most projects would benefit immensely from a steady dose of discipline throughout the entire project. However, the number one killer of software projects, in my experience, has been run-away feature management.

Once people get a whiff of a software project, they think of innumerable features that it could perform. They start getting carried away in all of the possibilities and this leads to a cumbersome feature set. In addition to "feature creep," they want to tweak already existing features and may not be willing to defer some features until later releases.

One way to deal with feature creep is to follow the practice of staged delivery. It simply involves building your system in distinct phases or stages with the most necessary features being included in stage one.

The main advantage is that something gets delivered early and now everyone has something to build on. Developers have some confidence and customers see some real results. It also gives developers more insight how new features might be incorporated earlier on in the cycle.

John Fox (jfox@swatsolutions.com) is vice president of professional services for SWAT Solutions, which provides software quality assurance services on site as well as from their QA Lab.

PQ: Once people get a whiff of a software project, they think of innumerable features that it could perform.




< Back

 

©2006 SWAT Lab     Phone: (800) 980-SWAT   Email: info@swatlab.com
Site Map