Agile Management: What CIOs can Learn from Developers
There is a lot of buzz around the use of Agile methodologies for software development, and Agile is providing quantifiable benefits for companies engaged in large-scale development projects. By applying Agile principles, software development executives have reported multiple benefits, including higher quality software, a product that "hits the mark" in terms of meeting business requirements, and improved collaboration between engineering teams and the business.
Although to date Agile principles have been primarily applied to software projects, some leading industry thinkers believe they may be applicable to other types of business projects and problems, as well. Israel Gat, a BMC Software VP in R&D, is one industry leader who has applied Agile to commercial software development. This article is based in part on conversations with Gat about the results. (For more information on his thoughts and approach, check out his posts at the Agile Thinkers blog: agilethinkers.com/israel_gat_bmc). There are multiple definitions of Agile, but a few key ideas seem to resonate across methodologies and practitioners.
▫ Advocate that software development projects deliver a product in small increments via multiple iterative and incremental cycles, with each cycle delivering a subset of the overall capabilities.
▫ Enable a team to focus on only the most important thing(s) at a given point in time.
▫ Encourage a Darwinian elimination of requirements that will not be implemented.
▫ Provide for flexibility throughout the development cycle, as requirements adapt and evolve.
▫ Promote a highly collaborative approach in which small teams (typically no more than 10 engineers) work closely together and meet frequently (typically 15-20 minutes daily).
▫ Emphasize continuous integration and testing.
▫ Provide for stakeholder involvement throughout the process.
▫ Deliver products frequently and often, with stakeholder acceptance and signoff as project milestones.
There is growing interest in Agile ideology and it appears that Agile is becoming the de-facto standard for software development. In 2004, Gat introduced Agile at BMC.
BMC used Agile techniques to re-architect and re-write some of the products in its business service management (BSM) portfolio. The resulting products are simpler to deploy and manage, easier to integrate to cross-vendor solutions, and easier to use than previous software versions. From both capability and time-to-market perspectives, the results are impressive. The BMC Agile teams won the Application Development Trends 2006 Innovator of the Year Award.
Since investment in innovation always competes with maintenance of existing products for R&D dollars, many vendors in this space consistently lag behind the technology curve. Delays of a year or more are not uncommon. As an illustration, many management vendors are still in the process of adapting to the introduction of .NET to the enterprise.
Gat wanted BMC to be well positioned as an innovator rather than a follower, and introduced Agile methodologies to his teams over four years ago. Agile has now spread far beyond the few teams and BMC now has close to 1000 "scrummers"Agile developers.
Gat further states that this change in the way many product managers, developers and testers approach software development has paid off. He cites a recent study by QSM Associates that found that BMC's time to market is two to three times faster than the industry norm. The BMC development teams studied by QSM Associates produced product releases in four to five month cycles, compared to industry averages of twelve to thirteen months for comparable releases. BMC has managed to deliver these time to market and productivity improvements while maintaining industry standards of quality.
Going beyond software, however, it is also interesting to consider the applicability of Agile methodologies to other areas of the business. From a "big picture" perspective, the same techniques that can transform software development could potentially empower other collaborative efforts within the business as well.
At the highest levels of the business, a short meeting every morning among sales, marketing, and C-level executives could provide an opportunity to talk about what each group did yesterday, what they intend to do today and where they need help. Just as with software development, executive leadership is an ongoing activity that has to flexibly adapt to evolving requirements. A fifteen minute meeting in either setting can synchronize teams, make sure no single contributor gets too far off the mark and provide a time when the team can regroup based on an ever-evolving business climate. Companies such as Rally Software Development in
Agile can be an effective methodology applicable to financial services, healthcare, and other verticals. There are powerful operational advantages to having access to real-time answers from the trenches. Collaborative daily meetings enable business leaders to draw upon the wisdom of the teams. This approach can change a company's mantra from "I'm putting in practice decisions that were made 18 months ago" to "I'm making decisions based on today's trends and objectives." Over time, this change in focus can transform the way an organization functions, turning it, in effect, into a more "agile" business.
Moving from a big-bang, once-yearly budgeting process, for example, to a flexible, team based, iterative approach could potentially result in budgets that truly address the needs of a business throughout the year. This is in contrast to budget projects that are, in effect, a year old before the new budget year even begins.
Gat speaks of Agile as being a disruptive methodology that, over time, permeates across both the industry and the company. Past articles have dealt with similar disruptions, such as SOA, that force changes to the way a business operates. Maximum efficiency gains from SOA, for example, cannot be fully realized without executive sponsorship and organizational change. The governance and business considerations that SOA introduces to the enterprisethings like cross-departmental funding for reusable software services, cross-departmental rules for access to software services and the data they surface, and collaboration on cross-business requirements specifications for new softwaremust be addressed at the executive level, not simply by IT. In many ways, Agile is similar. It introduces new modes of decision-making that can provide significant value to many group endeavors, not just to software development.
Julie Craig is a senior analyst with Boulder, Colo.-based