# Talk:Software maintenance

Hello all,
I included (for now) a list of (one) techniques for software maintenance.  In the future if some good souls were to add to the list, perhaps the list of techniques could be broken off into its own page, since the current page treats this subject (as it should) on more of a top-level.  A couple more can likely be gleaned from the latest edition of Page-Jones, and maybe a few more from the Best Practices section of the book Rapid Development by Steve McConnell, and maybe from his other book Code Complete.  I urge caution, since these practices could more properly fall into the program coding stage, or earlier stages.  Vonkje 18:38, 10 Jun 2005 (UTC)
I think Pigosk should be spelled with an i as in "Pigoski".  —Preceding unsigned comment added by 134.193.128.85 (talk) 22:23, 31 October 2007 (UTC) 

Please replace the content of the article with User:Buidhe paid/Software maintenace. Reason: rewrite based on better sources, add sections about the development -> maintenance -> obsolescence cycle, change cycles, workforce, etc. The current article is mostly unsourced. Buidhe paid (talk) 01:52, 7 May 2024 (UTC)

Note: I plan a GAN after this edit request: [1] Buidhe paid (talk) 03:07, 7 May 2024 (UTC)
I have implemented this, everything is looking good from a cursory overview. Thank you for your work as always.  Generalissima (talk) (it/she)   03:17, 7 May 2024 (UTC)

Summary of changes as a result of the Wiki99 project (before, after, diff):

Complete rewrite of the article based on scholarly sources
Added sections about:
The process of how software goes from release to different cycles of maintenance and obsolescence
How software is changed during maintenance
Workforce
Research
Added information about maintenance of free and open source software
For other editors to consider doing in the future:

Help me get the article to GA status
Potentially expand with more content, if more sources can be found
Consider a merge with software evolution, since the difference is inconsistently defined, blurry, and many sources are about "software maintenance and evolution"
Buidhe paid (talk) 06:19, 9 May 2024 (UTC)

Oh no. You did it again. This is the second article I've found that you have hacked up. How many have you done? Please stop. You are doing the opposite of improving. You seem to have the best intentions, but your resulting work is not good.
I take issue with almost every sentence of the intro. I won't go beyond that with examples of your work since my blood pressure is already too high.
Software maintenance is often considered lower skilled and less rewarding than new development That's BS ... and depressing. Who considers id lower skilled? And many people complain that they hate their job regardless of what they do.
As such, it is a common target for outsourcing or offshoring Foolishness, everything is a target for offshoring.
Usually, the team developing the software is different from those who will be maintaining it nope.
The developers lack an incentive to write the code to be easily maintained crazy talk.
Software is often delivered incomplete and almost always contains some bugs that the maintenance team must fix commonly held thought that is basically BS ... and depressing ... how about we stick to facts
Software maintenence often initially includes the development of new functionality, but as the product nears the end of its lifespan maintenence is reduced to the bare minimum and then cut off entirely before the product is withdrawn. more non-factual, depressing, popular thinking BS
Each maintenence cycle begins with a change request typically originating from a customer. That request is evaluated and if it is decided to implement it, the programmer studies the existing code to understand how it works before implementing the change. Testing to make sure the existing functionality is retained and the desired new functionality is added often comprises the majority of the maintenance cost. in the dreams of process geeks; not reality
software maintenance is not as well studied as other phases of the software life cycle, despite comprising the majority of costs. Understanding has not changed significantly since the 1980s. really? we have studies showing we didn't study that? studies showing we know as much about maintenance today as we did in the 80s? more BS
Software maintenance can be categorized into several types depending on whether it is preventative or reactive and whether it is seeking to add functionality or preserve existing functionality. less than interesting or useful.
Thanks for providing the before and after links. That makes is easier for me to see exactly where you "added value". Stevebroshar (talk) 15:22, 23 June 2024 (UTC)

Stevebroshar, regardless of who is writing the article it needs to follow what reliable sources say about the subject. Most of the points above are supported by multiple sources and therefore should be included in the article regardless of what Wikipedia contributors think about them, although if you are aware of similarly authoritative sources contradicting those in the article, I would welcome that information. Buidhe paid (talk) 13:43, 24 June 2024 (UTC)

I am also part of the Wiki99 project developing this article. Buidhe above did a major rewrite, and I think it looks great. The overall Wiki99 project has a theme of open source software. Buidhe did not readily identify this theme in the wiki literature review to develop this article, so I asked some academic colleagues to suggest a paper. Here is one that I like.
I would like to include content about maintaining open source software. These researchers interviewed people who maintain this kind of content.

Geiger, R. Stuart; Howard, Dorothy; Irani, Lilly (13 April 2021). "The Labor of Maintaining and Scaling Free and Open-Source Software Projects". Proceedings of the ACM on Human-Computer Interaction. 5 (CSCW1): 1–28. doi:10.1145/3449249.
Here is my own summary of the paper:

The team interviewed 37 developers for an average of an hour each
They attempted to recruit diversity in the interviewee pool, both in terms of demographics of the developer and the class of F/OSS project they maintained
Many of the interviewees reported that the project they maintained depended on volunteer labor
Differences between maintaining open versus closed software include the culture of workers getting paid by paying customers versus volunteer developers in a socio-technical system for non-paying users
Developing F/OSS requires significant socializing, trust, giving thanks, and community membership, including in volunteer contexts
Recognition can lead to F/OSS projects getting more support; lack of recognition even for popular projects can mean less support
Project coordination is a challenge when there are no staff for key elements of an ecosystem
I am posting this here on the talk page because I am paid in this project as described at Wikipedia:WikiProject University of Virginia/2023 Wiki99 for open source software, so I am editing more slowly with more discussion than I do with other projects. For now, I am just floating this additional perspective for software outside commercial corporate development.  Bluerasberry (talk) 21:45, 10 May 2024 (UTC)

Although this is an interesting study, I'm not sure about WP:DUE. I've tried to avoid citing primary sources, in part because of concerns about replication and generalizability. Additionally, I did add a couple sentences about FOSS projects that are already in the article. Buidhe paid (talk) 22:17, 10 May 2024 (UTC)
Related to this issue is the wording of the Intro section, which is very commercially oriented; e.g., "software product after delivery", and "originating from a customer".  BMJ-pdx (talk) 00:07, 29 July 2024 (UTC)

Its fair to say that the sources are focused on commercial software. But open-source projects deliver software to users and take feedback from them. Buidhe paid (talk) 00:14, 29 July 2024 (UTC)
I see that Buidhe changed the wording from "customer" to "end user" which is more aligned with the meaning of the cited sources. @BMJ-pdx: How do you feel about the term "software product"? To me it seems natural to use the word "product" to describe free services from nonprofit organizations, such as when a charity provides food and social support to people with little means. I collaborate with my local Code for America chapter and almost everything we do is free tech development for nonprofits which provide free services, and we call our software and the services offered "products". Do you have an alternative term suggestion? Thanks.  Bluerasberry (talk) 18:54, 29 July 2024 (UTC)
Thanks for your consideration.  I think "product" most often has a commercial connotation; e.g. from WordNet(r) 3.1: "commodities offered for sale".  How about just "software" in place of "a software product"?  BMJ-pdx (talk) 19:31, 5 August 2024 (UTC)