Talk:Software maintenance
![]() | Software maintenance has been listed as one of the Engineering and technology good articles under the good article criteria. If you can improve it further, please do so. If it no longer meets these criteria, you can reassess it. Review: June 24, 2024. (Reviewed version). |
![]() | This ![]() It is of interest to the following WikiProjects: | |||||||||||||||||||||||||||||||||||||||||||
|
![]() | The contents of the IEEE 1219 page were merged into Software maintenance on 10 August 2017. For the contribution history and old versions of the redirected page, please see its history; for the discussion at that location, see its talk page. |
![]() | A fact from Software maintenance appeared on Wikipedia's Main Page in the Did you know column on 28 July 2024 (check views). The text of the entry was as follows:
| ![]() |
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)
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)
- 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)
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)
- 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)
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:
- 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)
- 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)
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)
Reviewer: Sohom Datta (talk · contribs) 03:46, 11 May 2024 (UTC)
I'll try to tackle this over this weekend. sohom@enwiki 03:46, 11 May 2024 (UTC)
- 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)
- No worries, I've been quite busy too! Buidhe paid (talk) 00:44, 29 May 2024 (UTC)
- Buidhe paid I've gone through and raised a few concerns :) Sohom (talk) 00:07, 9 June 2024 (UTC)
- No worries, I've been quite busy too! Buidhe paid (talk) 00:44, 29 May 2024 (UTC)
Note: If you were not already aware, you should know about this comment Buidhe paid (talk) 14:05, 24 June 2024 (UTC)
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)
- 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
- 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.
that maintenance is not
bepractical 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)
- Sources seem good, there is a extraneous citation above the lede, that could be removed.
- Fixed Buidhe paid (talk) 14:04, 24 June 2024 (UTC)
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)
- ... that maintenance of existing software is estimated to cost more than three times as much as its development? Source: various, see article
(t · c) buidhe 00:41, 25 June 2024 (UTC).
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)
- @buidhe and Vacant0:
book doesn't verify claim. It says that three of the four things to spend on are maintenance compared to one for development, and seems to imply that the levels of spending on each should be equal, but doesn't say at all that that's what happens in practice. We could go with the 90% estimate? theleekycauldron (talk • she/her) 04:53, 19 July 2024 (UTC)
- it's fine if you prefer to use that estimate instead (t · c) buidhe 05:14, 19 July 2024 (UTC)
- Wikipedia good articles
- Engineering and technology good articles
- GA-Class vital articles
- Wikipedia level-5 vital articles
- Wikipedia vital articles in Technology
- GA-Class level-5 vital articles
- Wikipedia level-5 vital articles in Technology
- GA-Class vital articles in Technology
- GA-Class Computing articles
- Mid-importance Computing articles
- All Computing articles
- GA-Class Technology articles
- WikiProject Technology articles
- GA-Class software articles
- High-importance software articles
- GA-Class software articles of High-importance
- All Software articles
- GA-Class Systems articles
- High-importance Systems articles
- Systems articles in software engineering
- WikiProject Systems articles
- Wikipedia Did you know articles