Five Things to Know About Agile Development
Agile development has emerged at the center of a faster and more responsive approach to IT, but it presents some unique challenges.
By Samuel Greengard
The rapidly accelerating pace of technology change and a desire to achieve a competitive edge are forcing a growing number of organizations—and CIOs—to re-evaluate the conventional approach of simply tossing resources at various enterprise projects and challenges. Agile development, which puts software development on the front burner—focusing on broader and deeper collaboration along with a more iterative approach—has emerged as a key business and IT strategy. A growing number of organizations are adopting this methodology to address the need for more frequent release cycles and higher quality software.
However, agile development is complex and tricky. As a result, many organizations struggle with the concept. Here are five things that CIOs often overlook:
- Agile isn't just about being faster and more responsive, it's about continuous delivery. "As organizations migrate to the cloud, particularly private clouds, and look to deliver ongoing value to internal stakeholders and constituencies, agile methods become more important because they provide IT with a tool for building in incremental and iterative value on a continuous basis," says Walter Sun, principal in the product innovation and development management consulting practice at PwC. In many instances, this translates into delivering small chunks of functionality on a more frequent basis. Mobile apps are a good example of this model in action.
- An enterprise-centric and top-down model doesn't work with agile development. The goal for agile development is to introduce a model that is more responsive to business needs, including customer preferences and desires. As a result, Bill Milleker, director of engineering for Accenture Software says that feedback mechanisms must be at the core of agile development. "The approach revolves around lower overhead, greater flexibility and quicker delivery," he explains. "Direct customer and constituency feedback must drive the process." In fact, building feedback systems into apps and other tools isn't just wise, it's essential.
- The successful use of agile requires a shift in mindset. Traditionally, software development revolves around three basic concepts: scope, resources and schedule. Within this model, scope is largely fixed and the other two factors are variable. However, within an agile framework, Sun points out, the schedule is typically fixed but the scope and resources are variable. "The concept is often difficult for managers to grasp," he says. As a result, a CIO must be deeply involved with organizational change management. Among other things, this means getting everyone to understand that agile is more than a way to reduce overhead and documentation. "It's about adopting the right principles and practices to create value more quickly," Milleker notes.
- An enterprise must adapt agile to the organization's dynamics and footprint. Agile was originally introduced with the notion that highly experienced teams of software developers would work together closely—and often in close proximity, Sun points out. However, global business and development models make this task increasingly difficult. "The plain vanilla approach to agile methodology has limitations. It's important to think about how to adapt practices to the specifics of the situation and the overall needs of the business," Sun says. Milleker adds that it's vital to establish business representation at development sites. "Teams must be connected on a daily basis," he adds.
- Agile requires more than pure development skills. The three-dimensional nature of today's software development environment translates into a need for developers who understand business requirements and strategic goals. They must understand channels, connection points and behavioral patterns. Sun says this means hiring developers with different knowledge and skillsets than in the past. CIOs must also oversee retraining, establish new roles and rethink processes and workflows—sometimes radically. "There are new operating mechanisms, new ways of working, and new ways of thinking that need to be embraced by the stakeholders," he explains.
The challenges of agile development can be intimidating, but the organizations that overcome them are often pleasantly surprised with their improved processes and results.
About the Author
Samuel Greengard is a contributing writer for CIO Insight. To read his previous CIO Insight article, "Fulton County Upgrades Its Mobile Connectivity," click here.