As an approach to developing software agile has had a profound impact. There are many great architectures, languages, libraries, frameworks, etc. that have helped software engineering get better. But in my experience almost none of these has been as important as the process of agile. There are many advantages to agile but one of the most important but least articulated (especially to executive leadership...who should care the most) is risk management. Unfortunately, this aspect of agile can also be misunderstood by the practitioners: the development and test team. So why does agile reduce risk? Because the agile process creates transparency. Nothing creates more risk than hiding information. Nobody can make a decision to reduce/avoid risk if they are not operating with good information. This is not to suggest that teams who are developing using waterfall approaches are intentionally hiding the truth of their project's progress. Rather, the p...