There’s a lot of new energy given to discussions about more flexible approaches to software development and project management and none has gained more attention recently than agile approaches to software development.
Agile development is an alternative to traditional project management where emphasis is placed on empowering people to collaborate and make team decisions.
In addition to continuous planning, continuous testing and continuous integration, team members should expect to give frequent feedback upon short-cycle development iterations. So of course, it is essential that client-developer interaction happen throughout the project cycle.
We learned the value of this approach with a recent marketing automation project, which began with a challenge: What do you do when one of your biggest clients asks you to take over a lead nurture process developed by a different vendor? And, more complicated, What do you do when the process that you take over requires importing a batch of remotely-generated lead files, dumped as CSV on an FTP host somewhere?
Now is not the time to launch into heavy project planning. What the the client needs is a quick turn-around so that the lead funnel doesn’t get stopped up. Still more, we needed to not interfere with active timing since records were midstream in Exact Target and moving over to HubSpot workflow functionality.
What's so great about the agile approach?
Well, traditional development methodology is linear, and the most common is referred to as “the Waterfall model.” The way waterfall works is a bit more old school: once a particular phase has been completed, there’s no going back, and we roll to the next level. Obviously there’s a need to get it right in the early phases so that subsequent efforts are based on solid analysis and design.
But back to our story: before we’re even out of the gate, our client is already telling us that they expect some structural changes to their export file. Apparently, these changes will come later, based upon some upstream business considerations that have yet to be worked out. When you hear this and you can already smell the after-go-live code changes coming. The client expects the capability to be in place before all the details have been worked out. Sound familiar? Clearly such assumptions break the old waterfall model described above.
And the need for quick turn-around? That’s not factored into the traditional waterfall approach either. But it’s not time to freak out, iterations like this are built-in to the assumptions of the agile methodology. We built the expectation of change into our process, which in turn informs our development approach -- eg, one based on flexibility and regular engagement. All are requirements for marketing project success.
In fact, it should be said that having the client engaged during key review and assessment phases is important for success. It truly has to be a team effort!
So change is ahead! But using agile means that change isn't our enemy.
And to that point -- we embrace this flexible approach when our clients need an agile approach. As our SaaS and start-up client base can attest, we're able to work together in order to assess, then build, reassess, and then build some more. Never forgetting to document along the way, of course!