Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
15 fundamentals for higher performance in software development : includes discussions on CMMI, lean Six Sigma, agile and SEMAT’s essence framework
McMahon P., PEM Systems, 2014. 336 pp.  Type: Book (978-0-990450-83-2)
Date Reviewed: May 8 2015

Readers will find a good bridge between real-world practice and theoretical guidelines and measures for software process improvements for practicing professionals in this book. It begins by highlighting that collectively we fall short of achieving sustainable performance improvements in spite of practices such as Capability Maturity Model Integration (CMMI), lean Six Sigma, or agile. It pushes forward the concept of deliberate practice, a technique that enables personal and organizational performance improvements. Through its chapters, organized under three parts, the book identifies 15 fundamental practices to effect sustainable performance improvements. Note that there is not a one-to-one correlation between the fundamentals and chapters in the book.

Part 1, through five chapters, identifies some foundational aspects. In the first chapter, the author differentiates between deliberate practice and sustainment training, both of which are repeatable, feedback driven, and designed to improve performance, but differ in how they engage people. While deliberate practice is highly demanding from a mental perspective, sustainment training could be a fun activity. Chapter 2 focuses on listening to people to identify a small set of repeating weaknesses, which when specifically focused upon could lead to significant performance improvements and reduce periods of performance degradation. Chapter 3 focuses on capturing the current “as-is,” in terms of processes, and using this to identify repeating weaknesses, which when prioritized and addressed have a high value payback. The chapter highlights that these are often processes that fall between the cracks: those that cross department boundaries. Chapter 4 discusses ways to address these repeating weaknesses that are the key obstacles to achieving sustainable high performance, with a focus on addressing business objectives and emphasizing small changes that can help projects instantly off the blocks. The author highlights that some of the most significant impacts to performance are often due to small things that are left unnoticed or uncorrected for too long. Chapter 5 outlines the need for checkpoints (first level) for the repeating weaknesses (ideally limited to three), and these checkpoints are characterized by nonintrusiveness and support for rapid feedback and continual small corrections. The authors reiterate that aligning these to high-value pain points is essential.

Part 2 consists of seven chapters and is designed to build upon observations collected in Part 1. Chapter 6 emphasizes the oft-rued strategy of collecting more data samples without a corresponding payback in improved performance. It focuses on second-level checkpoints that assess whether we are meeting the intent of the goals of the first-level checkpoints. It calls attention to continuously refining measures and objectives until one is able to confirm the understanding of the observations made and the results from the data collected and subsequent analysis. Chapter 7 focuses on empowering the team to not just collect data, but to collect the right data to assess its impact. It proposes creating a small set of patterns so that these can be effectively remembered by everyone. Chapter 8 proposes the need for different perspectives on the second-level checkpoints, thereby ensuring cross-checks so that we narrow down to the right set of cross-checks. The author indicates that second-level checkpoints help avoid problems before they occur, thereby making them more effective. Chapter 9 promotes integrated practice, and puts forth continuity of practice, with current data given current situations (objectives, critical areas, information correctness and relevance, and so on). This approach, according to the authors, keeps the right patterns in focus and utilizes the right contextual data to support our decisions better. Chapter 10 focuses on the power of making small changes, and the ability for rapidly sensing, and responding to, the effects of these small changes to minimize performance impacts. It puts forth the use of a structured real story that is arrived at using irrefutable objective data and supporting contextual information. Chapter 11 focuses on the failure of organizations to gain promised paybacks from statistical process control investments. It suggests that process improvement should be considered part of the process and not “outside” the development process so the teams can be saved from excessive bureaucratic oversight, which tends to dampen team involvement. Chapter 12 discusses failure and the ability of some weaknesses to defy resolution since there are no simple answers; hence, the challenge is to address them head-on.

Part 3 consists of three chapters, including the conclusions. Chapter 13 suggests that not all small things lead to big improvements; therefore, it is important to focus on those that hold promise and to evaluate these continuously. It promotes the usage of essence checklists rather than existence checklists (which are typical yes/no lists) to support deeper questions and analysis, thereby leading to appropriately highlight the right issues. Chapter 14 stresses the need for management competency in addition to technical competency to support team members in effectively self-managing their work and their approach to it. It proposes coaching, for initial stages, to steer teams in the right direction and framework for future actions. Chapter 15 concludes the book.

In summary, this is good casual reading for software development project managers and software engineering practitioners. It summarizes many issues that these people learn over time by trial and error, such as the idea of focusing on small weaknesses and achieving success in conquering these small weaknesses as a team. Often times in a global environment these lessons are not easily institutionalized, even if the organization claims a level of CMMI maturity beyond level 3. The idea of embedding quality personnel into the teams is a good lesson for modern-day globally distributed software development teams, as it would allow these continuous improvements to be sufficiently institutionalized, be practiced regularly within the teams, and become part of the culture.

More reviews about this item: Amazon

Reviewer:  Srini Ramaswamy Review #: CR143427 (1508-0691)
Bookmark and Share
  Reviewer Selected
Editor Recommended
Featured Reviewer
 
 
Software Management (K.6.3 )
 
 
Software Development (K.6.3 ... )
 
 
General (D.2.0 )
 
 
Performance of Systems (C.4 )
 
Would you recommend this review?
yes
no
Other reviews under "Software Management": Date
What makes a great manager of software engineers?
Kalliamvakou E., Bird C., Zimmermann T., Begel A., DeLine R., German D.  IEEE Transactions on Software Engineering 45(1): 87-106, 2019. Type: Article
Jul 21 2020
Human centered software product lines
Sottet J., Frey A., Vanderdonckt J.,  Springer International Publishing, New York, NY, 2017. 152 pp. Type: Book (978-3-319609-45-4)
May 3 2019
Do not trust build results at face value: an empirical study of 30 million CPAN builds
Zolfagharinia M., Adams B., Guéhéneuc Y.  MSR 2017 (Proceedings of the 14th International Conference on Mining Software Repositories, Buenos Aires, Argentina,  May 20-28, 2017) 312-322, 2017. Type: Proceedings
Nov 2 2017
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright © 2000-2020 ThinkLoud, Inc.
Terms of Use
| Privacy Policy