Published Sep 3, 2019

SE-Radio Episode 262: Software Quality with Bill Curtis

Join Bill Curtis as he delves into the crucial aspects of software quality, emphasizing the role of non-functional requirements, and the pitfalls of misapplying Agile methodologies like Scrum. He offers insights into organizational maturity models such as CMMI and their transformative impact on integrating systems for enhanced project management and development.
Episode Highlights
Software Engineering Radio - the podcast for professional software developers logo

Popular Clips

Episode Highlights

  • Agile & CMM

    Agile practices, particularly Scrum, are often misunderstood and misapplied, leading to ineffective implementations. emphasizes that true Scrum requires discipline and adherence to its principles, such as daily stand-ups and regular builds, to achieve successful outcomes 1. He notes that many organizations claim to use Scrum but fail to follow its core practices, resulting in what he calls "undisciplined hacking" 1. Curtis also highlights the importance of formal inspections in software engineering, a practice often overlooked in Agile methodologies 1.

    Scrum, when done properly, is very powerful.

    ---

    The Capability Maturity Model (CMM) and Lean principles are discussed as frameworks to improve software processes. Curtis explains that CMM provides essential guidance for managing software projects, emphasizing the need for control over management and baselines 2. He contrasts this with Lean, which focuses on eliminating non-value-adding practices, highlighting a tension between the two approaches 2.

       

    Agile vs. Waterfall

    The debate between Agile and Waterfall methodologies often centers on their respective strengths and weaknesses. Curtis points out that while Agile offers faster feedback and adaptability, the rigorous discipline of Waterfall has produced some of the finest software, such as the space shuttle avionics system 3. He argues that the failure of Waterfall projects often stems from poor management rather than the methodology itself 3.

    The finest software ever built was built with the software and space shuttle avionics software.

    ---

    Curtis also differentiates between CMM and CMMI, noting that CMM focuses on organizational growth through staged development, while CMMI integrates systems and software practices 4. He criticizes CMMI for its complexity and the burden of satisfying all practices, which can be counterproductive 4.

Related Episodes