How We Detect Risk Early in Our Iteration

Four Things That Helped our Team to Stop Missing Deadlines

I got promoted to team lead pretty early on in my software development career. I was good at coding. Not great. But I was great at one thing: solving problems for other devs. You know how devs like to write code but not read code? I actually like to read code.

After getting promoted, I realized quickly that it wasn’t good enough to just solve problems for my team. I had to anticipate the problem. When we find problems early, the cost to fix it is exponentially lower. Shift left.

One and Done?

In the last decade, we have realized that we cannot plan everything up front in a linear process to develop software. We are solving complex problems, which requires us to use an empirical process, lean UX practices, and a supporting technology platform that allows us to build, measure, learn and apply the learning in a repeatable fashion. This allows us to move from trying to predict everything about the future towards shared learning from the present.

Although we are getting gains from people using Agile practices to get increments of work done, most enterprise organizations are not taking advantage of developing iteratively. They still put effort to fully polish a feature before releasing to see how customers respond to that feature, primarily because they are funded and managed as a project, instead of a product lifecycle. “If we do not fully build this feature, we may never get the budget again” is the tired excuse I always hear.