Agile project management methodologies have an impressive track record of helping development teams deliver results. While this has led to the enthusiastic adoption among asset management firms, not all practitioners are cashing in on the promises of agile. In observing this trend, I have noticed some common themes among companies that have failed to realize their development goals. Frequent roadblocks to success include not iterating or having too much pressed in an iteration, unclear product goals, lack of management commitment, insufficient training or experience, conflicts with corporate culture, or no clear product owner. However, there is one fundamental issue that I often see: poor enterprise architecture.
Proper engagement of enterprise architecture helps support the overall vision of the company by aligning technology strategy with it. Pundits have many definitions and styles of enterprise architecture, but whether they define it as a methodology or framework or some combination thereof, at the heart of it, enterprise architecture is a means for a company to align technology with the corporate vision. Regardless of how profound or powerful a company's vision may be, technology must be aligned for an asset manager to reach full potential and receive all the promise of their vision.
I often think about enterprise architecture in the context of city planning. A city planner doesn't try to provide blueprints for all the individual buildings, but helps to provide infrastructure, generalized planning, and guidance for how the different areas of the metropolis will work together. The larger the city, the more stipulations around zoning will be required, just as larger asset managers need a better defined architecture that spans the enterprise.
In our recent blog, Lessons in Data Architecture from the Windy City, Derek Pratt discusses the wonderful results of the city planning that went into designing Chicago. With the right vision, a foundation can be built that benefits from a shared infrastructure. In the case of Chicago, each of the buildings was designed and built in separate projects, but they all benefited from the vision of the overall city plan. Not all companies can say the same of their enterprise architecture, and that is where agile often fails.
If the promise of agile is appropriately considered to be increased efficiencies, a global company with separate development teams and limited architectural guidance runs the risk of setting each team speeding off in different directions.
In a prior position, I helped a global company apply enterprise architecture discipline after they had fully implemented agile scrum as their global project methodology. They had been very successful in adopting agile among business units around the globe until the downturn of 2007. Suddenly, the impact of having immature enterprise architecture became very apparent. Instead of smoothly bringing different products together, they had to completely rewrite their code to support the combined processes. The different code bases had been written in a variety of tools, effectively creating a technological Tower of Babel. The effort to apply the architecture post-mortem brought the groups into a common infrastructure, but at a greater cost. I couldn't help but think how much nimbler they could have been if they had employed enterprise architecture before adopting an agile methodology.
If you are interested in pursuing agile or have some agile initiatives that haven't fulfilled your expectations, ensure you have your bases covered with appropriate management buy-in, training, and development of your team structures but don't neglect your investment in enterprise architecture…or you may find your agile teams will be racing toward who knows where.