Posts Tagged ‘maintenance’

  

Scaling Up From One Developer

I have noticed a common problem afflicting small development teams formed to make significant enhancements to an application that was previously maintained by just one developer. Both the original maintenance developer and their management are accustomed to essentially solo development and this culture spills into the enhancement work. Development is treated as individual efforts rather […]

Funding by Backlog

Managers responsible for a portfolio of existing applications must decide how to allocate their budget for application enhancements across their portfolio. For the purposes of this discussion, I am going to assume the following constraints: There are too many applications for the manager to make decisions on individual application enhancements. Instead, the manager must delegate […]

Applying Medical Near Misses to I.T.

I forget from which source I first heard about the term “near miss” in health care, but I found the concept intriguing. A near miss is a problem with the safe delivery of care that did not actually affect the patient. Here is an example: a pharmacist in a hospital misreads the doctor’s diagnosis and […]

Cyclic Incremental Growth in Software Systems

I recently read an interesting research paper titled Metrics and Laws of Software Evolution – The Nineties View by Lehman et al in the 1997 proceedings of the Software Metrics Symposium that discusses eight laws of software evolution. One set of graphs within the paper jumped out at me: they show the incremental growth of two systems over a series of releases. The graphs shared a common pattern: releases with higher than average incremental growth tended to alternate with one or more releases with lower than average growth. What are the implications of this commonly observed behavior for developing and using software? How can we use this pattern to our advantage? Read on to see my answers to these questions.

Errors Errors Everywhere

If you are a software developer and have not maintained operational applications with real users hammering away at it, then you are missing some important lessons. You might not fully appreciate the operational challenges facing the maintenance and support team, particularly when the software in question is suffering in the areas of reliability, performance, or […]

Deploying Application Changes

The maintenance team for a typical enterprise business application must make ongoing changes to the application. In the effort to fix defects, revise existing functionality, and add enhancements, little thought may be given to the process by which these changes are deployed from development through to testing and then the production environment. However, this process […]

How to Create Maintainable Software

My previous article talked about the importance of maintainable software. In this article I provide some recommendations on how to create software that is maintainable – easy to change with minimal risk and impact. What are the specific challenges facing developers maintaining software? They probably did not originally develop the software, and may not even […]

The Importance of Maintainable Software

I’ve heard that a typical enterprise business application spends at least 80% of its time in maintenance (versus development). I don’t have a reference for this, but if you assume that an application takes one year to build, and is in use for four years, then you arrive at the 80% figure. Why does software […]