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

  • Non-functional Reqs

    Non-functional requirements are often overlooked in software development, yet they are crucial for system reliability and security. highlights that users expect developers to inherently know these requirements, such as preventing SQL injections and ensuring error handling, without explicitly stating them 1. He cites the Obamacare system failure as a prime example of neglecting non-functional requirements, where the system's inability to handle user load led to its downfall 1. Curtis also discusses the challenges Agile methodologies face in addressing non-functional requirements, as they often focus on functionality over structural integrity 2.

       

    Architectural Impact

    Poor architectural design can have dire consequences on software capabilities and business viability. Curtis shares a story of a high-speed trading company that went bankrupt in 30 minutes due to activated dead code, illustrating the dangers of technical debt 3. He emphasizes that quality cannot be achieved through testing alone; a robust architecture is essential from the start 4. Curtis argues that a hybrid development approach, combining traditional and Agile methods, often yields the highest quality outcomes by ensuring architectural soundness and rapid feedback 4.

       

    Quality Measurement

    Measuring software quality is crucial for improving outcomes and requires a data-driven approach. Curtis explains that organizations using statistical measures to manage software processes can see a hundredfold improvement in quality 5. He notes that while traditional methods like CMMI can be cumbersome, they emphasize the importance of management control and structured problem-solving 6. Curtis advocates for a professional software culture where developers uphold quality standards, leading to significant improvements in software quality and organizational efficiency 7.

Related Episodes