Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
Software fails a lot. We spend a lot of time trying to fix failing software... and sometimes we fail at that too. How can we get better at it? Here are some questions that this talk will try -- and probably fail -- to answer: Why do we so often do things wrong when we know how to do things right? How can we create a supportive environment that is tolerant of failure? Why do we keep repeating the same failures? What do other companies do that make them better at responding to failure? What does a company's culture have to do with their ability to respond to failure? How do we observe and reason about failure? Why is it so hard to estimate things that can fail and what can we do to get better at it? Can we measure how efficiently we resolve failures? What sort of failure response strategies could we use and what are their tradeoffs? What can system complexity and human psychology teach us about failure? From systems thinking to project management to the interaction between culture and process, if you've ever wondered why you keep experiencing the same problems writing and shipping software then this talk is for you. Help us caption & translate this video! http://amara.org/v/IPwu/
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, titled 'Why Good Software Goes Bad', presented by Rein Henrichs at Ruby on Ales 2016, explores the frequent failures in software development and aims to uncover the underlying reasons for these failures. Henrichs emphasizes the pivotal role of process and culture in software quality, defining culture as a set of shared beliefs, behaviors, and values, while quality is seen as the value of software to users. He highlights the significance of understanding failure as the gap between expectations and reality, and introduces various patterns of software processes that organizations may follow. Key points discussed include: - **Oblivious Pattern:** Initial stages where individuals are unaware of their process, often leading to quick solutions without structured approaches. - **Variable Pattern:** Recognizes that poor adherence to processes leads to variability based on individual performer’s capability, often resulting in blame shifting. - **Routine Pattern:** Emphasizes planning and management but struggles with adapting to changing software requirements, often leading to rigid adherence to plans that can fail in crisis situations. - **Steering Pattern:** Moves towards control by utilizing feedback to optimize processes, enabling teams to tackle more complex problems. The manager's understanding of why certain processes are in place plays a crucial role here. The talk also elaborates on the impact of feedback and adjustment in managing software processes, using GPT navigational systems as an analogy to illustrate the need for route recalibration. Henrichs discusses non-linear systems and their complexities in software development, highlighting issues like change blindness and the need for continuous feedback to manage known risks effectively. He underscores the necessity for a culture that prioritizes understanding people and their interactions within systems to improve software quality. The talk concludes with a call to recognize the cultural influences on processes and ultimately, the software quality, urging organizations to invest more effort in understanding human behavior within their teams.
Suggest modifications
Cancel