Skip to content

Commit

Permalink
Merge pull request #1490 from bartlettroscoe/1488-cc-impl-lean-soft-dev
Browse files Browse the repository at this point in the history
CC: Implementing Lean Software Development (#1488)
  • Loading branch information
rinkug authored Nov 14, 2022
2 parents f6f9940 + 2dd592a commit 2747e73
Showing 1 changed file with 37 additions and 0 deletions.
37 changes: 37 additions & 0 deletions CuratedContent/ImplementingLeanSoftwareDevelopment.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# Implementing Lean Software Development: From Concept to Cash

<!--deck text start-->
The application and adaptation of Lean project management and manufacturing principles to software development has provided a tangible benefit to many software projects. Lean principles are both consistent and extend Agile software development processes in useful ways.
<!--deck text end-->

#### Contributed by [Roscoe A. Bartlett](https://github.com/bartlettroscoe)
#### Publication date: December ???, 2022

Resource information | Details
:--- | :---
Paper title | [Implementing Lean Software Development: From Concept to Cash](https://dl.acm.org/doi/10.5555/1196372)
Authors | Mary and Tom Poppendieck
Publication | Year 2006, Addison-Wesley, DOI: [https://dl.acm.org/doi/10.5555/1196372](https://dl.acm.org/doi/10.5555/1196372)

This is a fantastic book about the incorporation and adaptation of Lean ideas into Agile software development.
Here, the authors cover several aspects of software development that are not commonly addressed in most books on software development.
One of the biggest things that I took away from the book was the importance of avoiding waste by not implementing any feature that is not absolutely necessary and/or of high priority.
The idea is to find, write, and maintain that 20% of code that satisfies 80% of the desires of your customers.
The whole chapter on "Waste" was excellent and everyone who does or is associated with software development should read this chapter.
Another interesting topic the book covers is how people fit into the software development process and what management practices help to build strong teams (and what management practices work to destroy strong teams, such as individual rankings impacting compensation).
Some other interesting concepts to look for are "technical debt", "automation", and "cycle time".
It was also interesting to read that most mistakes that are made in software development are due to a flawed process and/or supporting tools and not due to bad developers.
Therefore, we should first question and improve the process and/or our development tools to make them more mistake-proof before we point our fingers at individual people for the mistakes they make.
Simply asking people to remember more or giving them a big list of things they have to do is not enough.
Lastly, the "Try this" section of the last chapter "Journey" gives a great condensed summary of the whole book.
If you read nothing else, read this last "Try this" section and go back in the book to look for further details and explanations.

Disclaimer: At the foundation for "Lean" software development is an analogy to the Toyota Production System (TPS) for manufacturing.
As with any such analogy one can go too far (see [Code Complete (2nd edition)](https://bssw.io/items/code-complete-a-practical-handbook-of-software-construction) for a discussion of this issue) but the authors appear to be able to take the manufacturing analogy only as far as it can be usefully applied to software development and not any further.

<!---
Publish: yes
Pinned: no
RSS update: 2022-12-??
Topics: software process improvement, software engineering, requirements, software sustainability, issue tracking, strategies for more effective teams, testing, continuous integration, projects and organizations
--->

0 comments on commit 2747e73

Please sign in to comment.