Co-authored by Bill Shoemaker
Consumers today expect faster and better solutions in almost every part of their lives. From retail and healthcare to utilities, banks and airlines, there is not an industry that isn’t being reshaped by the demand for faster, better products and services.
If speed is the call from the market, Agile development is the answer. In fact, with the rise of bi-modal IT, Agile development is quickly becoming the de facto standard for enterprises in almost every industry. But is this highly collaborative approach to managing development projects a contradiction in terms for a global enterprise with services and teams spread around the world? Enterprise IT organizations can’t possibly repatriate all services or co-locate all Agile teams. Integrating the best attributes of a geographically distributed delivery model and Agile development methods into a robust contract that fosters collaboration, feedback, quality and frequent delivery can be a significant challenge.
An Agile delivery team structure is built in “pods”— small, dedicated teams of development and test resources that are responsible for completing stories of new features and functionalities. Agile development pods generally consist of an embedded scrum master, proxy product owner(s), a development team and quality assurance. The team members are one hundred percent dedicated to the sprint or the product.
So how does an enterprise organize itself to take advantage of the accelerated development cycle of these pods? And how do you know if you’re contracting for the right capabilities or paying the right price? As organizations increasingly adopt Agile development practices, they must figure out how to support the unconventional pod-based work model while they govern the IT organization with the conventional business metrics of costs, resources, quality and delivery.
Following these best practices for Agile delivery will help reduce risk and improve success:
- Build right-sized teams. The size of the development pods depends on the needs of the enterprise or project. Small Agile development pods are typically used for mature products and focus on product enhancements and new, self-contained features. A medium-sized Agile development pod is a dedicated team that works on all kinds of projects, including new development or greenfield projects, enhancements, system integrations and legacy systems. Be wary of large Agile development pods; they are generally just capacity plays in which two smaller or medium-sized Agile pods are brought together to leverage scale and share resources to create price breaks. Pods of 10 or fewer with at least two working hours of time zone overlap between onshore and offshore locations have shown to be the most productive.
- Automate, automate, automate. Deploy automated environments and Agile collaboration tools like Jira, Confluence and Rally and continuous integration tools like Maven, Jenkins, Chef and Perforce. Virtualize the application test environments and test data management to allow for faster set up and tear down of environments.
- Bake in strong governance. Carefully monitor, report and manage processes and stakeholder impacts. For each iteration, base acceptance on conformance to a prior agreed-upon acceptance-test set and allow users of the new system to come up with the “definition of done.” Set up a system to ensure that process and delivery are improving over time to reflect lessons learned and productivity improvements via business-driven service-level agreements (SLAs).
- Work from a business-driven project pipeline. Organizations are moving to Agile development to be more responsive to their customers and the business. Putting a product owner in the pod means a person close to the business can determine the most pressing needs. Agile development moves in short sprints so the pod can redirect when needed to more quickly respond to business requirements.
- Define your terms. When it comes to contracting for Agile development, be sure to include Agile-based SLAs that account for fixed duration, cost and estimated scope and that measure collaboration, feedback and quality. Ensure the framework for acceptance is contractually clear.
Organizations that are successful in implementing Agile practices realize it is not only a matter of changing processes and methodologies, but a change in the organization’s culture. Productive Agile teams operate best when enterprise buyers and service providers on the team and at the organization level are open and transparent with each other. ISG helps global enterprises implement Agile development methods and gain competitive advantage. Contact me to discuss how we can help.About the authors
Chuck Walker helps companies mitigate risk, accelerate change and create and preserve value throughout the lifecycle of business transformation. He leads clients in building and developing transformation programs, including new operating models and service delivery approaches. Chuck's core areas of expertise include assessments, strategy development, change management, organizational and operating model design, transformation, sourcing and governance. Clients benefit from his skills in managing relationships and helping business teams achieve transformation goals.
Bill Shoemaker is a Director in the ISG Manufacturing, Communications and Media Industry Vertical Organization performing the role of Vertical Delivery Leader and Global Applications Domain Leader for ISG. He brings extensive experience in strategic outsourcing to ISG’s clients. Bill’s experiences include all aspects of the outsourcing advisory space, including IT Sourcing Strategy, Application Development Maintenance (ADM), Service Level Agreements (SLAs), and Business Process Outsourcing, Governance, offshore delivery, project management and implementation of various software development methodologies. His knowledge comes from practical experience implementing global models and advising clients with their sourcing strategies, transaction and transformation initiatives