-
Notifications
You must be signed in to change notification settings - Fork 90
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
CC: Implementing Lean Software Development (initial draft) (#1488)
- Loading branch information
1 parent
f6f9940
commit 2dd592a
Showing
1 changed file
with
37 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 | ||
---> |