Agile and Lean: Recognizing the Synergy

[article]
Summary:
Bob Aiello explains the process to reaching agile comes from more than simply declaring yourself as such. The road to agile is a journal, and one that requires hard work. But once you get there, the benefits can be immense. Making sure everyone on board is dedicated to the cause to reach the goal.

Becoming agile involves a journey that, although challenging at times, will help you achieve success with your software development projects. The path to agility is not without its bumps and curves. First, agile is a completely new way of thinking that will challenge many of your assumptions and prior experiences. Agility is all consuming – you don’t just adopt agile – you become agile. Similarly, lean requires a significant paradigm shift that turns out to have much in common with agility. It is no wonder that many companies are finding that lean agile principles are the key to successfully improving their software development processes.

What’s Changed?
My own roots are in the field of Industrial Organizational Psychology. I also have a degree in Computer Science and I have always been a hands-on software engineer. Yet, early in my career I realized that technical skills alone, without a good way to harness development methodologies, would be less than optimal. Back then, I studied methods for what we called process consultation (which is a collaborative goal driven approach), to design our workflows. We learned about quality and productivity from luminaries such as Deming, Juran and Crosby. Many people in the engineering field, especially in Japan, recognized the value of self-managed teams. –. Unfortunately, many companies in the US did not believe that Quality was all that important and some of those companies no longer exist or have been consumed by larger firms. I learned about these efforts while studying Industrial Psychology at NYU. One of the topics that caught my personal interest was self managing teams. 

Adaptive Teams for Blind People
Self-Managing teams were adaptive and creative – and highly successful. I had a personal reason why these approaches were important to me and that is because back then I was visually handicapped - effectively blind and often had to use a combination of Braille, sound recordings, large print and adaptive equipment. The little vision that I did have would fade after 20 minutes or so (therefore it was realistically only of limited use). I was fortunate in that the field of ophthalmology eventually developed a laser that could correct my vision problems, but even after that I suffered for many years from very severe eye fatigue that made me again functionally blind. Even though I could see for short periods of time and make it through the day,, I could not rely upon my vision to remain stable for any given amount of time.. I had to be adaptive or get use to the idea that I would be either selling newspapers or making brooms in a sheltered workshop. My dream and motivation for learning Industrial Psychology was to be able to design my own job using my knowledge, skills and abilities.

Lessons from Manufacturing
Many of the principles that I read about in agile, and especially Lean, reflect much of the wisdom of improving quality (and productivity) in manufacturing. I realized the importance of these approaches back then and tried to focus on how we could borrow from the best of these practices and apply them to software engineering. My visual handicap motivated me to constantly look for ways to automate and bulletproof my own “personal” processes. I knew that I could not rely upon always being sighted, so creating lean flexible processes, for me, were a personal necessity. In practice, this meant automating my build, deployment and release management practices and that led to me being able to rapidly build and deploy without ever making a mistake. My handicap actually led me to be in charge of release management. Similarly, many of the agile practices help to deal with critical situations where success literally means survival for the firm (and of course everyone involved, as well). Many of the early work in agile describes saving projects (and companies) heading for disaster.

What makes it difficult??
Agile practices are difficult because they are often counter-intuitive and they require a huge leap of faith. Becoming agile is a journey. When I used to go into NYC to visit my ophthalmologist, I had to navigate Fifth Avenue with a white cane and my acute sense of hearing. Helping teams improve the way that they do software development is not without its challenges, risks and certainly rewards, as well. Organizations that fail to realize that self-managed teams do better work have a hard time reaching agility. Organizational politics and a lack of senior management support can make it very difficult to achieve agility? 

What can make it easier?
Having a few successes makes it a little easier by helping you build momentum. Of course, networking with colleagues and hearing their own success stories certainly can help pave the way. As a blind person, I had a ferocious commitment to everything that I attempted – I had no choice. Similarly, a complete commitment and support from the organization helps to achieve success. In an interesting way, necessity can make the journey easier. When organizations see no alternative, then they often commit and achieve great results from their efforts.

What are some of the danger signs to look for along the way?
The biggest danger sign is a lack of commitment and buy-in from all stakeholders. Having a senior member of the team resisting the new approach, can mean trouble. You need to make sure that you manage expectations and relationships to maximize support for your efforts. 

What works?
Lean practices such as eliminating waste, amplifying learning, postponing decisions to the last responsible moment, delivering as fast as possible, self managed teams, building integrity in from the beginning and seeing the big picture are all key Lean Principles. Deciding as late as possible is one of those counterintuitive issues that also require a leap of faith. There are often decisions that need to be made and you may not have all of the information that you need until you are already very much into the project lifecycle. Instead of making the wrong decision, postponing key decisions until the last responsible moment may frequently turn out to actually be the most prudent approach? 

What doesn’t work?
Heavy processes, task switching, and a lack of team commitment can spell disaster for any project. Getting tunnel vision and failing to see the big picture are other risk factors that often can result in failure?

Where can I seek help?
Why, here, of course. We are always glad to share best practices in terms of what works and what doesn’t and we hope that you will share your own best practices as well! 

Conclusion
Agile and lean fit together and can result in right-sized processes that simultaneously help deliver both enhanced quality and increased productivity. You need to follow these principles and work to improve your own processes for success!

About the author

AgileConnection is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.