About the Book
Whether it's Agile or Waterfall, RUP or XP, the software story hasn't really changed. We start out with the best of intentions, trying not to repeat the mistakes of the past. We make a commitment to do things "the right way" this time.
Fast-forward to several years later, and we're sitting around a conference table discussing what went wrong. How did we accumulate so much technical debt? Should we rewrite the component? Scrap the entire system and start over? Or just deal with the problems and try to keep on going?
Despite our best efforts with Agile best practices, we get stuck in the software rewrite cycle. With such a clear vision of the practices for success, why do we still end up with an unmaintainable mess?
Our software problems are a reflection of our decision-making habits. We try to improve, but focus on the symptoms in the code, and never fix the decisions that are creating the mess in the first place. We try to explain the problems to leadership, but the business pressure never lets up -- we start over, but keep repeating the same mistakes.
So how do we turn our projects around?
We can't see the problems, but we experience their effects. Disruptions, test maintenance, confusing code, unfamiliar code, and collaboration problems -- they all have a direct impact on developer experience. What if we could make those problems visible?
Idea Flow Mapping is a technique for visualizing the flow of ideas between the developer and the software. Similar to how an EKG helps doctors diagnose heart problems, Idea Flow Maps help developers diagnose software problems.
Once we make the pain visible, improvement becomes a systematic data-driven process. We can:
1. Identify the biggest problems on our software projects
2. Make the case to management for improvement
3. Create a data-driven feedback loop to learn what works
4. Conquer even the hardest challenges on our software projects
With objective feedback on the consequences of our decisions, we can learn how to get better, faster.
About the Author
Her development background is specialized in data-intensive analytic systems from financial core processors to factory automation, supply chain optimization and statistical process control (SPC). Her consulting work has focused on Continuous Delivery infrastructure, database automation, test automation strategies, and helping companies identify and solve their biggest problems with data.
After a 17-year career as a developer, consultant, and CTO, she is now an entrepreneur, founder of Twilight City, Inc public benefit corporation, and a PhD student at University of Victoria. She's pioneering new research on how to make the friction we experience in software development visible, and get managers and engineers all pulling the same direction.