Making a case for using agile for automotive site development
The Landscape
Back in September 2008 Lehman Brothers collapsed. The resulting shockwave had immediate and damaging consequences across the financial markets and, ultimately, the entire economy. An already struggling automotive industry was pushed to the breaking point.
Why should we start a discussion on agile here? To survive, the decision makers in the automotive industry had to take a hard and honest look at the way they were doing business. They needed to adjust not only to the rapidly changing financial situation but also to the increasing expectations of their customers, who were demanding more and more from their vehicles.
One opportunity that presented itself was to look at better ways to manage the approach to digital marketing, specifically website development. This article looks at one of the Detroit Three automaker’s adoption of an agile approach to website development.
So what challenges did the business have?
This Razorfish automotive client was dealing with the obvious chaos in the marketplace, huge fluctuations in gas prices and the rapidly changing expectations of automotive consumers. The following desires were also identified by the key business stakeholder as key to the company’s success in development of a significant consumer website:
- A need to reduce costs across their infrastructure.
- A need to find new opportunities to grow.
- A need to promote new vehicle features and services within an ever-growing product range that had increasing integration with technology, such as vehicle diagnostics and navigation.
- A need to provide ongoing education about those new and ever-more-complicated vehicle features.
- A need to retain repeat site visitors.
- A need to do it all NOW!
Why Agile?
Based on the macroeconomic environment and the more specific micro-level business desires listed above, our project team and the client quickly determined that a traditional waterfall approach was not going to work.
Traditional waterfall approaches to website design start by defining a large feature set, creating a workplan during the first weeks of an effort and then blindly driving toward that goal over periods lasting nine to 18 months.* Instead, agile aims to tackle work in short sprints, which typically last from one to four weeks, during which the most important work is always delivered upfront and the goals of the project are constantly reassessed throughout the project lifecycle. Realistically, it means that feature updates can be pushed to market within two months adding immediate value to the consumer and the business. More importantly, it means that the business can constantly react to changing environmental and business factors throughout the lifecycle of the project.
So how does it work?
Simply, agile can be defined by the following six steps:
Define → Prioritize → Establish acceptance criteria → Build → Review → Launch
Define: The complexities of the work at hand are broken down into manageable feature sets. Led by the User Experience team, the other disciplines of the project also contribute to this breakdown. In the case of our website, those features aligned with core functions of the site such as Global Navigation, Support Content and Managing Vehicle Service. Each one of those features are further broken down into user stories that provide the design team with flexibility to develop a solution without extremely specific restrictions. Stories conform to a simple structure, as follows: As a <type of user>, I want to <perform a task> so that I might <achieve a result>. Stories at this time are also scoped and sized to determine how much effort is required across the team to deliver the solution.
Prioritize: Once features and user stories have been defined, the business owners can prioritize them based on business needs. The business chooses what is worked on first. This prioritization activity is carefully balanced with determining how much work can be consumed during a sprint. Once a team’s work velocity is calculated, only the top-priority items — which must equal the amount of work that the team can consume within a sprint — is tackled. Ongoing prioritization throughout the sprint for items that are on the backlog is facilitated through a process called backlog grooming. This ensures that any subsequent sprint is always tackling the most urgent set of features.
Establish acceptance criteria: While the notion of defining requirements via open-ended stories may immediately make some leap to the conclusion that the client never gets to fully define what they need, the reality is that each user story being tackled in a sprint also has specific acceptance criteria. Acceptance criteria are defined before the sprint starts during a sprint-planning session, which allows the business to clearly articulate the expectations of how the solution should work without hampering the solution approach.
Build: Once the business chooses which features to work on, prioritizes the work and defines acceptance criteria, the sprint begins and the work really starts. The team members are challenged with performing a full set of activities from user experience development, design development, copy development and front-end code build within the constraints of the four- to six-week period. The sprint approach to tackling work ensures that the team stays focused on the specific defined features rather than focusing on the entire site.
Review: At the end of the sprint the feature set is reviewed with the client. The user stories and acceptance criteria are compared to the solution to determine if the project team members hit their goals. One of the truly great efficiencies of Agile comes to bear here. If the work is green-lighted by the business stakeholder, it can be readied for launch, which results in priority features getting placed in market very quickly. If the work didn’t hit the mark, the client didn’t lose months and months of time — they lost four to six weeks. The unapproved work can be placed on the backlog again and, more interestingly, it can be assessed again against the current business priorities. If the market conditions have changed since the project started, new work can be prioritized.
Launch: From a website-development perspective, once a feature is approved for launch, the launch cycle allows for any necessary last-minute adjustments and finalization of QA and launch sequencing. This is actually where the rubber hits the road and the feature is rolled to the live environment.
Working within the process
Agile and the notion of an Agile team was new to our team. We set up a “scrum” room and set out on an unknown adventure.
What at first felt like organized chaos quickly turned into a rhythm that the team became comfortable with. Unlike the traditional waterfall model, there is no formal Microsoft Project-style plan. Instead the project facilitator, or scrum master, manages the workflow and work tracking with low-tech solutions: Work is tracked on pin boards where tasks, associated owners and estimated times to complete those tasks are transparently shared with the entire team. Progress toward the sprint end is managed via a sprint burndown chart (see example at right). At any given point in the sprint, members of the team can know whether they are on track.
Communication is quick, transparent and efficient. Because everyone is in a single room, people can quickly engage in discussions taking place, should they feel the need to do so. Conference calls are held in the scrum room and everyone gets to listen in. This immediate exposure to information means email and ambiguity is minimized. Every day the team also huddles in a process called the “scrum” where they address three questions: 1) what did you work on yesterday; 2) what will you work on today; and 3) what stands in your way of being successful. The third question is important as inhibitors are owned by the scrum master and it’s his or her job to close them.
The workflow is dynamic. If an approach to reaching a solution is not working, the team can quickly try new methods. They are not constrained by rigid project-management processes or waterfall dependencies.
Drawbacks
OK, so it’s not all good. Managing expectations with the client can be hard as there are fewer progressive steps for approval -– there are no wireframes or copy decks; these deliverables get folded into a working prototype.
Keeping focused on a fixed-price contract and determining when you’ve fulfilled your obligations can be difficult as the priorities keep changing. You need an active and engaged key stakeholder for it to work. The constant pressure to deliver sprint after sprint can be tiring. Unlike a normal waterfall initiative where there are natural peaks and valleys for different teams, agile is all go, all of the time, for all teams.
In Retrospective
Our team is now one year into this journey. We’ve launched a large, complicated site within six months of starting the project and subsequently launched four significant updates. The client has been delighted with the results and the site has received critical acclaim from external industry experts.
Agile was right for our client. They were able to appropriate funding and start a project in the midst of unprecedented turmoil in the financial market. They could do this because they were able to start the project knowing that they had the flexibility to change course at any time. Agile enabled everyone to assess and re-assess the integration strategy throughout the lifecycle of the project, both at a sprint-by-sprint level and at a long-range level. To date we’ve had two significant reviews of our long-range strategy and have been able to make course changes as necessary.
Agile has also enabled us to iterate on features within the site. We launched designs that met client needs early and then enhanced them later. This allowed the business to deliver initial value to the market but still monitor and react to its function in later sprints. A key to success here is ensuring expectations regarding features and feature quality are clearly set with the client.
Agile enables the quicker integration of information onto a baseline site than waterfall. Take the increasing level of electronics on modern vehicles. Unlike more traditional engineering on vehicles, which has a long lead time, electronics has a much shorter lifecycle from conception to development. As such, consumers need education and support content much more rapidly. Agile supports an ability to build and integrate such content into production quickly and efficiently. Consumers get the information they need, when they need it.
Agile has also enabled us to deal with the complexities of separate workstreams outside of the project. This is especially important when the backend infrastructure you rely upon is constantly changing and growing. New features become available and with Agile you can prioritize integration with those features ensuring that the latest feature or service is available to the client and consumer.
In closing, agile has become an incredibly important approach to delivering websites to our automotive client. It enabled them to be nimble in a massively unpredictable market, to get the most important features to market early and to react throughout the lifecycle of the project.
*The Standish Group, a respected digital development analysis firm, found that roughly 65 percent of features designed in traditional waterfall projects never get used.
Related link:
Image credits:
From top to bottom: Conference call and presentation in the scrum room, located in Razorfish’s New York office; burndown chart; wireframe pinup session in the scrum room. All three images appear courtesy of the author. The agile development thumbnail image appears courtesy of Software Quality Engineering.
Posted in Web development on October 19, 2009
Share: Digg
| Facebook
| Del.icio.us
| StumbleUpon
| Technorati
| Twitter
Tags: agile, automotive site development, case study, razorfish, scrum, sprint
comments
5 Responses to “Making a case for using agile for automotive site development”
Leave a Reply



Social comments and analytics for this post…
This post was mentioned on Twitter by KSCollective: RT @Razorfish: An agile approach to website development in automotive: new post from @Razorfish @Headlight blog http://tinyurl.com/ylsg7sj...
I agree with the author that the greatest benefit of Agile methodology is the ability to get to market really fast. However, Agile is not an all-or-none phenomenon. Organizations cannot implement Agile overnight and there is a learning curve associated to the process. Even after applying the Agile best practices on a project, not everything can go right the first time. Organizations and project teams need to continuously monitor their progress and apply the findings from the sprint retrospective to the subsequent sprints. The white paper ‘Maturing Agile Processes’ addresses this issue in detail.
Very informative article, Andy! I’ve worked on automotive web dev projects for years, mostly in the traditional waterfall approach. Due to the length of time required, we often found ourselves trying to hit a moving target as the client changed/added/deleted requirements during the project timeline. Agile methods use a more strictly defined set of requirements for each four- to six-week sprint, reducing the number of client change requests.
Clients being clients, I’d be interested to know how the team managed the inevitable change requests. Were they incorporated into the current sprint or added to future effort?
Great job on this!
Rose - I think there were really a couple of approaches we used. Firstly, let’s look outside of the current sprint and the tracking of chnages against upcoming work. Backlog grooming; the process of prioritising work for up comming sprints is key. You can constantly work with the client and associated client teams to plan futre work. If you are locked into a fixed price contract like we were you can easily see what falls in and out of scope of your baseline and then work with the client to agree upon change orders. They can be based on the fact that key features defined in the contract have been moved in or out of scope, or they can be based on the fact you have more work than the defined team can accomodate.
Internally to the sprint if work was not finished or work was added back to the backlog because it needed re-work we tackled this in 2 ways. If it was small enough to consume quickly we’d tackle it before the next sprint began - This was possible because we defined a 1 week break between sprints. If it was larger it was added to future sprints via the backlog grooming prcess.
We have been using the agile scrum method for building automotive websites for a couple of years now. I think it would be difficult in today’s fast moving environment to work any other way. The key is to hire an experienced manager that can implement this type of process. It becomes a total change in culture. It also requires 100% buy-in from management.
Rose had some great comments on dealing with client changes. A well defined agile process will accommodate this while creating true transparency in the process for the clients. In the end you are able to capture more revenue because the client clearly sees the changes that are outside the originally scope. Client input gets entered into a document called a TA22 (this is done during the 210 stage). The client signes off on it and is clearly aware of the direction for development. Significant changes after the TA22 are done through a CR and may cause a delay in the deliver, add extra cost or both, but the transparency the process itself creates makes these changes and delay’s the client’s responsibility. At the end of the day everyone is happy.