Published Jul 27, 2023

SE Radio 574: Chad Michel on Software as an Engineering Discipline

Chad Michel sheds light on viewing software as an engineering discipline, stressing the importance of managing complexity, maintaining a design focus, and fostering leadership to ensure quality and adaptability in software development. He offers insights into juggling evolving requirements, team dynamics, and the need for engineering rigor to meet customer needs effectively.
Episode Highlights
Software Engineering Radio - the podcast for professional software developers logo

Popular Clips

Episode Highlights

  • Requirements

    Managing requirements complexity is a critical aspect of software engineering, as explains. He emphasizes the importance of understanding objective complexity, which involves identifying the true goals of a project beyond just fulfilling requirements 1. adds that defects are often most cost-effective to address during the requirements phase, highlighting the need for early detection 2.

    The cheapest place to find a defect is actually in the requirements.

    ---

    Addressing these complexities early can prevent costly errors and ensure that the software meets the actual needs of the customer.

       

    Solution Management

    Solution complexity management is essential for maintaining agility in software systems. discusses how managing both requirements and solution complexity can lead to greater agility, allowing teams to adapt to changes without major disruptions 3. He stresses that new requirements should not necessitate massive system overhauls, but rather be manageable within existing structures 4.

    We want our software to behave much the same way... we should be able to write a new one and put it in there.

    ---

    This approach ensures that software remains flexible and sustainable over time, accommodating evolving business needs.

Related Episodes