Launching Agile strategies at your company involves a lot of behind-the-scenes work to be successful. The first step is to make sure you have the right people and processes in place to set the stage for the Agile culture you want to create.
If you're at the beginning of this process, be sure to check out our article 6 Ways to Create an Agile Culture, which outlines the steps we've taken to create an environment ripe for nimble software development.
But employee hiring, training, and integration are just parts of the Agile equation. How you engage with customers and execute on your Agile vision is what really sets you apart. Once you move a customer from a prospect to a signed client, the temptation is to jump right in to what was promised during the sales process. However, move too quickly, and you could be off and running in the wrong direction -- wasting technical resources, spurring unproductive development cycles, and frustrating the customer you worked so hard to land.
As Abraham Lincoln once said, "Give me six hours to chop down a tree, and I will spend the first four sharpening the axe." In other words, it's all about the preparation -- particularly when it comes to the development of new products and services.
[DevOps and pit crews both rely on speedy teamwork, but that's not the only similarity. Read How DevOps Is Like A Formula 1 Pit Crew]
A study by McKinsey & Co. and the University of Oxford of 5,400 large-scale IT projects (with budgets greater than $15 million) revealed that 56% delivered less value than predicted. We believe it typically boils down to what you do (or don't do) before a strategic IT undertaking that will make or break the results.
When we kick off customer engagements (eNovance is an OpenStack integrator recently acquired by Red Hat), we've found that our contacts often thought the project was a straightforward IT infrastructure development. However, we knew the end result could be so much more -- dramatically changing the customer's business and future development efforts, if done correctly. So we decided to make a fundamental change in how we work with customers out of the gate.
The first step for our new customers is to partake in what we call an Assessment Workshop. Over the course of two days, we bring together all of the key stakeholders -- including those responsible for the customer's network, storage, computing, development, and operations, as well as the people who own the project from a business and technical perspective -- to ensure we have a common understanding of what's involved and where we're headed. The goal is to walk away with the information and buy-in needed to develop a cost-effective cloud architecture that's customized to a tee. To make that happen, we focus on five key activities:
1. Align the vision: An Agile development project built on unrealistic expectations will fail. It's critical to create cooperation among all of the players, with agreement on expected costs, timing, product performance, and functionality. Landing on a common understanding is critical, even if it requires several feedback loops.
2. Build a deep understanding of the technical and business requirements: Technical roadblocks can quickly derail a project, adding months to development time. Remember to identify current customer resources and expertise, as you don't want to reinvent the wheel, but you also don't want to be caught off guard by a lack of tools.
3. Identify and prioritize use cases: This sounds obvious but is often overlooked. All participants should share one to two product use cases
Alexis Monville is Chief Agility Officer of eNovance (now part of Red Hat), a major contributor to the Openstack code and an active player in the open cloud ecosystem. Alexis is charged with creating and nurturing an agile culture that pervades the whole organization.
with the group and then prioritize the top four to five overall on which the development team will focus for the first milestone.
4. Produce a 360-degree project roadmap and schedule: While adaptations during development are inevitable, it's important to start with a roadmap and milestones. This will help team members from the client side stick to their commitments in order to meet our two-week delivery or "sprint" pace.
5. Develop a plan for testing and benchmarking: With all eyes focused on deployment, it can be very tempting to rush product testing, particularly if you're behind schedule. You've put in all of the hard work upfront, so don't hinder the overall success of the project by taking shortcuts at the finish line. Remember: It's much easier to address technical issues in the testing phase rather than in full production.
Regardless of the type of customer, industry, or technology being developed, our workshops have six non-negotiable rules:
The hard work you put in at the beginning of a customer engagement will help you meet customers' needs with minimal cost and time. Picture Abraham Lincoln sharpening the blade. Preparation is everything in Agile development and will help clear a path to a fruitful long-term customer relationship.
Apply now for the 2015 InformationWeek Elite 100, which recognizes the most innovative users of technology to advance a company's business goals. Winners will be recognized at the InformationWeek Conference, April 27-28, 2015, at the Mandalay Bay in Las Vegas. Application period ends Jan. 16, 2015.
Alexis Monville is Chief Agility Officer of eNovance (now part of Red Hat), a major contributor to the Openstack code and an active player in the open cloud ecosystem. Alexis is charged with creating and nurturing an agile culture that pervades the whole organization.Frédéric Lepied is Vice President of Software Engineering at eNovance (now part of Red Hat). He has been involved with the open-source movement since 1996. At eNovance, his team is contributing to OpenStack and responsible for building eNovance's ... View Full Bio