Software Maintenance is a Solution, Not a Problem

Wayne posted @ Thu, 17 Jun 2010 16:04:05 +0000 in Memo , 3186 readers

转篇关于维护的文章。看来中外都一样啊。 

原文地址:http://www.developerdotstar.com/mag/articles/maintenance_solution.html

 

 

Is software maintenance a problem?

Today's standard answer is "You bet it is."

 

The standard rationale for that standard answer is "Look how much of our budget we're putting into software maintenance. If we'd only built the software better in the first place, we wouldn't have to waste all that money on maintenance."

Well, I want to take the position that this standard answer is wrong. It's wrong, I want to say, because the standard rationale is wrong.

The fact of the matter is, software maintenance isn't a problem, it's a solution!

What we are missing in the traditional view of software as a problem is the special significance of two pieces of information:

  1. The software product is "soft" (easily changed) compared to other, "harder," disciplines.
  2. Software maintenance is far less devoted to fixing errors (17 percent) than to making improvements (60 percent).

In other words, software maintenance is a solution instead of a problem because in software maintenance we can do something that no one else can do as well, and because when we do it we are usually building new solutions, not just painting over old problems. If software maintenance is seen as a solution and not as a problem, does that give us some new insight into how to do maintenance better?

I take the position that it indeed does.

The traditional, problem-oriented view of maintenance says that our chief goal in maintenance should be to reduce costs. Well, once again, I think that's the wrong emphasis. If maintenance is a solution instead of a problem, we can quickly see that what we really want to do is more of it, not less of it. And the emphasis, when we do it, should be on maximizing effectiveness, and not on minimizing cost.

New vistas are open to us from this new line of thinking. Once we take our mindset off reducing costs and place it on maximizing effectiveness, what can we do with this new insight?

The best way to maximize effectiveness is to utilize the best possible people. There is a lot of data that supports that conclusion. Much of it is in the "individual differences" literature, where we can see, for example, that some people are significantly better than others at doing software things:

Debugging: some people are 28 times better than others.

Error detection: some people are 7 times better than others.

Productivity: some people are 5 times better than others.

Efficiency: some people are 11 times better than others.

The bottom line of these snapshot views of the individual differences literature is that there is enormous variance between people, and the best way to get the best job done is to get the best people to do it.

This leads us to two follow-on questions:

  1. Does the maintenance problem warrant the use of the best people?
  2. Do we currently use the best people for doing maintenance?

The first question is probably harder to answer than the second. My answer to that first question is "Yes, maintenance is one of the toughest tasks in the software business." Let me explain why I feel that way.

Several years ago I coauthored a book on software maintenance. In the reviewing process, an anonymous reviewer made this comment about maintenance, which I have remembered to this day:

Maintenance is:

  • intellectually complex (it requires innovation while placing severe constraints on the innovator)
  • technically difficult (the maintainer must be able to work with a concept and a design and its code all at the same time)
  • unfair (the maintainer never gets all the things the maintainer needs. Take good maintenance documentation, for example)
  • no-win (the maintainer only sees people who have problems)
  • dirty work (the maintainer must work at the grubby level of detailed coding)
  • living in the past (the code was probably written by someone else before they got good at it)
  • conservative (the going motto for maintenance is "if it ain't broke, don't fix it")

My bottom line, and the bottom line of this reviewer, is that software maintenance is pretty complex, challenging stuff.

Now, back to the question of who currently does maintenance. In most computing installations, the people who do maintenance tend to be those who are new on the job or not very good at development. There's a reason for that. Most people would rather do original development than maintenance because maintenance is too constraining to the creative juices for most people to enjoy doing it. And so by default, the least capable and the least in demand are the ones who most often do maintenance.

If you have been following my line of reasoning here, it should be obvious by now that the status quo is all wrong. Maintenance is a significant intellectual challenge as well as a solution and not a problem. If we want to maximize our effectiveness at doing it, then we need to significantly change the way in which we assign people to it.

I have specific suggestions for what needs to be done. They are not pie-in-the-sky theoretical solutions. They are very achievable, if management decides that it wants to do them:

  1. Make maintenance a magnet. Find ways to attract people to the maintenance task. Some companies do this by paying a premium to maintainers. Some do this by making maintenance a required stepping stone to upper management. Some do this by pointing out that the best way to a well-rounded grasp of the institution's software world is to understand the existing software inventory.
  2. Link maintenance to quality assurance. (We saw this in the previous essay.)
  3. Plan for improved maintenance technology. There are now many tools and techniques for doing software maintenance better. (This has changed dramatically in the last couple of years.) Training and tools selection and procurement should be high on the concerned maintenance manager's list of tasks.
  4. Emphasize "responsible programming." The maintainer typically works alone. The best way to maximize the effectiveness of this kind of worker is to make them feel responsible for the quality of what they do. Note that this is the opposite of the now-popular belief in "egoless programming," where we try to divest the programmer's personal involvement in the final software product in favor of a team involvement. It is vital that the individual maintainer be invested in the quality of the software product if that product is to continue to be of high quality.

There they are...four simple steps to better software maintenance. But note that each of those steps involves changing a traditional software mindset. The transition is technically easy, but it may not be socially or politically quite so easy. Most people are heavily invested in their traditional way of looking at things.

If we are to get there at all, however, there is one vital first step which must be taken. It is the step that started off this essay.

 

Harold said:
Mon, 11 Jan 2021 16:31:13 +0000

I was simply browsing and came across this page contain data regarding Software Maintenance click here . I'm glad that I found this. The quality of the content is really good. It is presented very simply along with the coding.

Kanes said:
Thu, 22 Jul 2021 08:45:35 +0000

Vijayalakshmi Medical Centre has ivf treatment cost in kerala completed 10 years of success in the field of gynaecology and infertility. We are the best among the first few comprehensive dedicated infertility hospitals in Asia. Our expertise in the field of infertility has made us come forward with an exclusive department in our hospital. We are delighted to present our infertility department ‘Babycart’.

Grade 8 Result Dinaj said:
Sun, 04 Sep 2022 00:43:50 +0000

Dinajpur also one of the best education in the country and the Dinajpur Division also successfully completed the Grade 8 terminal examination tests along with other education boards or divisions of the country, and there are a huge number of students are participated from Dinajpur Board also, Grade 8 Result Dinajpur and all are waiting to check their JSC Result 2022 with full or total marksheet. Both of Junior School Certificate & Junior Dakhil Certificate students are waiting to get official result date to check their total GPA Grade point with subject wise marksheet, the Dinajpur Division also completed those STD-8 final exams in the month of November as per date sheet issued by Bangladesh Secondary and Higher Secondary Education Board and the result is also announced as per the schedule.

netflix.com/tv8 said:
Fri, 14 Jul 2023 15:44:30 +0000

Netflix propose une gamme de films, d’émissions de télévision et de contenus originaux pour un abonnement mensuel raisonnable. Netflix peut être vu sur Smart TV, un appareil de diffusion en continu ou un système de jeu moderne doté d’une connectivité Internet. netflix.com/tv8 Certains appareils nécessitent que vous activiez l’appareil avant de vous connecter. Ceci est habituel avec les nouveaux appareils ou ceux qui viennent de recevoir des modifications logicielles.

NCERT Maths Exempla said:
Thu, 24 Aug 2023 05:57:06 +0000

NCERT 6th Class Maths Exemplar 2024 is very Important Resource for Students Preparing for 6th Class Examination 2024, Here we have Provided NCERT Class 6 Maths Exemplar Problems Solutions 2024, You can NCERT Maths Exemplar Problem for 6th Class 2024 check those NCERT 6th Class Exemplar 2024 here, This Page also Provide Exemplar Books Exemplar, NCERT Students you can Subject Wise Pdf Download at Official Website at Our website you will get NCERT Class 6th Maths Exemplar Problems 2024 for All Chapters, Every Exemplar Problems and Solutions has been Provided with a Detailed Explanation, All the Exemplar Solutions & Exercises Provided in NCERT Exemplar are very important to Prepare for NCERT.

civaget said:
Wed, 06 Dec 2023 19:46:17 +0000

백링크업체 is the real deal! Their SEO audits improved my website's ranking significantly. Highly recommended!

civaget said:
Mon, 11 Dec 2023 14:17:34 +0000

As a fashion enthusiast, 제주비키니룸's Jeju Leggings Room caught my attention. Can't wait to explore this trendy option.

civaget said:
Mon, 11 Dec 2023 14:25:31 +0000

티비몬 is a fresh start for Korean streaming, offering something for everyone.

civaget said:
Wed, 13 Dec 2023 10:47:58 +0000 The article's detailed information about 오피 is invaluable for those seeking a unique entertainment experience.
civaget said:
Wed, 13 Dec 2023 12:26:24 +0000

Data security is a top priority with 설문조사 사이트 on Tipping, ensuring the protection of sensitive information.

civaget said:
Sat, 16 Dec 2023 05:29:55 +0000

There is noticeably a bundle to understand this. I assume you’ve made certain nice points in functions also. 실시간스포츠중계

civaget said:
Thu, 21 Dec 2023 07:07:30 +0000

I can't believe I ever paid for cable with 누누티비 around.

civaget said:
Sat, 23 Dec 2023 13:40:14 +0000

스포츠중계 – where sports enthusiasts unite. Join the community and share your passion.

civaget said:
Sun, 31 Dec 2023 05:46:26 +0000

This internet site is my intake , real good layout and perfect subject material . 에볼루션카지노

civaget said:
Tue, 02 Jan 2024 12:33:41 +0000

안전카지노's live dealers make it even more enjoyable.

civaget said:
Sat, 06 Jan 2024 11:27:58 +0000

천안오피 is a relaxation paradise. Their Deep Tissue Massage is therapeutic and effective.

civaget said:
Thu, 11 Jan 2024 11:44:11 +0000

인천출장마사지's expert therapists offer unparalleled stress relief and rejuvenation.

seo service UK said:
Sun, 14 Jan 2024 09:09:45 +0000

Nice post. I find out something very complicated on diverse blogs everyday. It will always be stimulating you just read content off their writers and practice a little there. I’d would rather use some using the content on my small blog regardless of whether you do not mind. Natually I’ll supply you with a link for your web weblog. Appreciate your sharing.


Login *


loading captcha image...
(type the code from the image)
or Ctrl+Enter