Software Maintenance Measurements – Processes

What processes should be measured in software maintenance work? Consider first the goals of measuring these processes.  The goals of measuring such work are that the measurements should be: Translatable into process improvements and increased value delivery Cost effective to capture Demonstrably consistent Automated wherever feasible Traceable, in two respects: from summary to original point of capture, and from one point in a project to another Parallel, that is, measurements should line up for the same time periods, projects, resources, etc Let me emphasize the...

read more

Software Maintenance Measurements – Users

A simple list of things to measure that are related to users includes items in the list shown below.  Some of these can be defined further, for example, categories could be defined and reported on for the first three items, but for current purposes I will keep the list at a fairly high level.  These measurements are not solely related to maintenance, but I think it’s worth talking about them in the overall context of measurements. Caveat: selection of which measurements to implement should be based on the anticipated value they contribute to software maintenance process improvement...

read more

Can Agile Methods Work for Software Maintenance? Part 2

If you read Part 1 of this post you’ll recall I reviewed the 12 original points of the Agile Manifesto and commented on their suitability for legacy enhancement projects (as opposed to production support work.)  Now I’d like to expand on the first of the points, one of the most essential points that makes Agile what it is: Early and continuous delivery of valuable software In my own experience this can be very problematic for sizeable legacy enhancement projects – it is possible, but I think only in the right circumstances.  What are the objectives of this anyway?  Why is it...

read more

Software Maintenance Measurements – An Inventory

In order to track and improve a software maintenance operation what should you measure?  One way to look at this is that from an organization’s point of view the objective is to maximize a system’s “maintainability”.  That’s maintainability in a very broad sense, for example as described in Maintaining Maintainability by Ramage and Bennet a number of factors influence maintainability: Users Processes Documentation Availability of software authors for consultations Skills of maintenance programmers Tools available to aid the maintenance process The software itself For each of...

read more

Interesting Statistics – Part 2

I’ve been considering adding a feature to Codelyzer to assist with calculating function points (FP) in RPG programs, and as part of that I’ve been reading “Applied Software Measurement, Global Analysis of Productivity and Quality” by Capers Jones.  As always, Mr. Jones writes very clearly and provides a great deal of interesting and to the point information. Much of the statistical reporting and analysis in the book is based on the function point unit of measure.  (For those of you not familiar with function points, I will write an explanation of them in the near future.) ...

read more

Goals of Software Maintenance

I have been digging around in a lot of areas regarding software maintenance, so I decided to step back and look at the bigger picture.  I thought it would useful to define the goals of software maintenance, so I surveyed a number of resources.  One list of goals I like can be found in “Critical Success Factors in Software Maintenance – A Case Study” ($) by Harry Sneed and Peter Brossler.  Here are the goals they define: Functionality – Existing functionality should be preserved (unless intentionally deprecated) and new functionality should be added as needed.  Typically the...

read more