Industrial-strength software

January 28, 2010 04:11 pm | Updated 04:12 pm IST - Chennai

BOOK REVIEW: Pankaj Jalote's SOFTWARE ENGINEERING

BOOK REVIEW: Pankaj Jalote's SOFTWARE ENGINEERING

In the industrial-strength software domain, there are three basic forces at play – viz. cost, schedule, and quality – says Pankaj Jalote in ‘Software Engineering: A precise approach’ (www.wileyindia.com). The software should be produced at a reasonable cost, in a reasonable time, and should be of good quality, he explains.

Industrial-strength software is very expensive primarily because software development is extremely labour-intensive; and so the cost of developing software is generally measured in terms of person-months of effort spent in development, and productivity gauged in terms of KLOC (thousand lines of code) per person-month.

The author notes that the productivity in the software industry for writing fresh code generally ranges from few hundred to about 1000+ LOC per person-month. “The productivity is over the entire development cycle, not just the coding task. Software companies often charge the client for whom they are developing the software between $3,000 and $15,000 per person-month.”

He finds that a productivity of 1000 LOC per person-month would mean that each line of delivered code costs between $3 and $15. And that with such productivity, a software project with 50,000 LOC (as even small projects may end up with) can cost between $150,000 and $750,000.

Quality measure, again, is often tied to LOC, as for example the number of defects per KLOC. “Current best practices in software engineering have been able to reduce the defect density to less than 1 defect per KLOC.”

But what is a defect? While the exact definition of defect will depend on the project or the standards used by the organisation, Jalote observes that a defect could be some problem in the software that causes the software to crash or a problem that causes an output to be not properly aligned or one that misspells some word and so on.

One approach to determining defect density is to make an estimate based on past data of similar projects; another approach is to log the defects found in six months or one year after delivery and to define quality with respect to these defects.

Then, there is the ‘corrective maintenance’ of removing defects as they are discovered. “Over the life of a software system, maintenance cost can far exceed the cost of original development. The maintenance-to-cost ratio has been variously suggested as 80:20, 70:30, or 60:40.”

Recommended beginner material.

0 / 0
Sign in to unlock member-only benefits!
  • Access 10 free stories every month
  • Save stories to read later
  • Access to comment on every story
  • Sign-up/manage your newsletter subscriptions with a single click
  • Get notified by email for early access to discounts & offers on our products
Sign in

Comments

Comments have to be in English, and in full sentences. They cannot be abusive or personal. Please abide by our community guidelines for posting your comments.

We have migrated to a new commenting platform. If you are already a registered user of The Hindu and logged in, you may continue to engage with our articles. If you do not have an account please register and login to post comments. Users can access their older comments by logging into their accounts on Vuukle.