Talk:Software maintenance

Latest comment: 3 months ago by BMJ-pdx in topic Open source software workforce

What about techniques?

edit

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)Reply

Edit request

edit

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)Reply

Wiki99 summary

edit

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)Reply

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)Reply

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)Reply

Open source software workforce

edit

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:

  1. The team interviewed 37 developers for an average of an hour each
  2. 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
  3. Many of the interviewees reported that the project they maintained depended on volunteer labor
  4. 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
  5. Developing F/OSS requires significant socializing, trust, giving thanks, and community membership, including in volunteer contexts
  6. Recognition can lead to F/OSS projects getting more support; lack of recognition even for popular projects can mean less support
  7. 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)Reply

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)Reply

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)Reply

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)Reply
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)Reply
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)Reply

GA Review

edit

The following discussion is closed. Please do not modify it. Subsequent comments should be made on the appropriate discussion page. No further edits should be made to this discussion.


GA toolbox
Reviewing
This review is transcluded from Talk:Software maintenance/GA1. The edit link for this section can be used to add comments to the review.

Nominator: Buidhe paid (talk · contribs) 03:20, 7 May 2024 (UTC)Reply

Reviewer: Sohom Datta (talk · contribs) 03:46, 11 May 2024 (UTC)Reply

I'll try to tackle this over this weekend. sohom@enwiki 03:46, 11 May 2024 (UTC)Reply

Noting that I had forgotten about this, I'll try to get to it this week. (Feel free to ping me liberally if I don't) Sohom (talk) 03:09, 28 May 2024 (UTC)Reply
No worries, I've been quite busy too! Buidhe paid (talk) 00:44, 29 May 2024 (UTC)Reply
Buidhe paid I've gone through and raised a few concerns :) Sohom (talk) 00:07, 9 June 2024 (UTC)Reply

Note: If you were not already aware, you should know about this comment Buidhe paid (talk) 14:05, 24 June 2024 (UTC)Reply

Review

edit
  • On reading through the article, one thing in particular jumps out to me. It feels like article sort of assumes that the waterfall model is the default (and only) model used in software development. The article very briefly mentions the fact that software is often delivered in a incomplete state nowadays but doesn't address the elephant in the room i.e. the fact that a lot of the software development that happens today happens in a iterative manner utilizing frameworks like the agile software development and often the maintainence phase is done alongside the rest of the phases.
    • My understanding is that waterfall versus agile methodology is more relevant to the pre-delivery software development, rather than the scope of this artile that is about post-delivery changes driven by change requests rather than requirements. Given that the definition for software maintenance is "the modification of a software product after delivery", agile or FOSS products that are delivered early and undergo refinement after delivery could also count as maintenance. However, it does not tend to be called maintenance in sources, making it harder to cover. Also, "the agile software development lifecycle lacks a dedicated maintenance plan" 2024.
I think that fact itself should be mentioned (that newer SDLCs do not actually have a maintainance phase at all)
Done Buidhe paid (talk) 14:04, 24 June 2024 (UTC)Reply
  • The article should probably give some context on where/how the offshoring/outsourcing happens. Currently, the article has a slight bit of a globalization issue, as it mentions offshoring and outsourcing the maintainance of software to other countries without any context of which countries do it when I'm pretty sure it tends to be mostly the anglosphere.
    • I think you're correct that offshoring tends to be from countries with higher cost of living to those with a lower cost of living, but I'm having a really hard time finding sources that say this explicitly for software maintenance.
      • Added
  • that maintenance is not be practical or economical
    • Done
  • The section Alternatives to maintenance should probably be prosified with context on when those list options are chosen.
    • The source does not cover this information; I will look elsewhere. I do think that bullet points are appropriate because each of these does not have enough content to be a separate paragraph.
    • Update: I've added as much information as I can find. Buidhe paid (talk) 14:04, 24 June 2024 (UTC)Reply
  • Sources seem good, there is a extraneous citation above the lede, that could be removed.
The discussion above is closed. Please do not modify it. Subsequent comments should be made on the appropriate discussion page. No further edits should be made to this discussion.

Did you know nomination

edit
The following is an archived discussion of the DYK nomination of the article below. Please do not modify this page. Subsequent comments should be made on the appropriate discussion page (such as this nomination's talk page, the article's talk page or Wikipedia talk:Did you know), unless there is consensus to re-open the discussion at this page. No further edits should be made to this page.

The result was: promoted by Theleekycauldron talk 06:01, 19 July 2024 (UTC)Reply

Improved to Good Article status by Buidhe (talk). Number of QPQs required: 1. Nominator has 247 past nominations.

(t · c) buidhe 00:41, 25 June 2024 (UTC).Reply

  •   The article is new enough (promoted to GA yesteday).
  •   The article is long enough.
  •   The article is well-sourced, neutral, BLP-compliant, and copyvio-free. Earwig at 4.8%, copyvio unlikely.
  •   The article is presentable.
  •   The hook is cited to a reliable source (I assume Ref9 in the article), the source is not linked in the DYK.
  •   Images are in public domain.
  •   QPQ done.

Looks good to me. Vacant0 (talk) 11:58, 25 June 2024 (UTC)Reply