Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
Software engineering as it's taught in universities simply doesn't work. It doesn't produce software systems of high quality, and it doesn't produce them for low cost. Sometimes, even when practiced rigorously, it doesn't produce systems at all. That's odd, because in every other field, the term "engineering" is reserved for methods that work. What then, does real software engineering look like? How can we consistently deliver high-quality systems to our customers and employers in a timely fashion and for a reasonable cost? In this session, we'll discuss where software engineering went wrong, and build the case that disciplined Agile methods, far from being "anti-engineering" (as they are often described), actually represent the best of engineering principles applied to the task of software development.
Date
Summarized using AI?
If this talk's summary was generated by AI, please check this box. A "Summarized using AI" badge will be displayed in the summary tab to indicate that the summary was generated using AI.
Show "Summarized using AI" badge on summary page
Summary
Markdown supported
The video features Glenn Vanderburg discussing the shortcomings of traditional software engineering practices as taught in universities and by companies. He argues that these practices often do not control costs, ensure quality, or even produce functioning software reliably. Vanderburg highlights a critical misunderstanding among software practitioners regarding both software itself and the true nature of engineering. Key points discussed include: - **The Historical Context of Software Engineering**: The term 'software engineering' gained prominence after the 1968 NATO conference aimed at addressing the 'software crisis' characterized by unreliable and error-prone software projects. - **Misinterpretation of Engineering Principles**: Vanderburg outlines that the practices of software engineering became distorted, leading to defined processes that did not yield effective results, contrasting with engineering fields that utilize proven methods. - **The Waterfall Model**: He uses the introduction and misinterpretation of the waterfall model as a historical example of how reasonable suggestions were misconstrued, illustrating the pitfalls of rigid process adherence. - **Empirical vs. Defined Processes**: Emphasizing the value of empirical processes, Vanderburg discusses the importance of adaptive approaches that can respond to the complexities of software development rather than strictly defined methodologies. - **The Role of Testing and Iteration**: He stresses that effective engineering, including software engineering, involves continuous testing and iteration, allowing for adjustments based on real-world demands. - **Creative Nature of Engineering**: Vanderburg emphasizes that engineering is fundamentally a creative activity that requires flexibility and responsiveness to new discoveries and challenges throughout the development process. In conclusion, Vanderburg proposes that software engineering should be viewed as both a science and an art, demanding elegance and adaptability in system design, which aligns more with true engineering principles. He advocates for a shift towards empirical models that enhance creativity and responsiveness in the software engineering field, urging practitioners to focus on iterative learning and adapting rather than rigidly adhering to predefined processes. Vanderburg's session calls for ongoing dialogue in the engineering community to continually innovate and refine software engineering practices.
Suggest modifications
Cancel