Enterprise Development Requires Agility, Not Pure Agile
You will be hard-pressed to find any Silicon Valley companies these days that aren’t using the agile software development methodology. Agile has become the most popular approach to development because it’s effective, and it’s effective because it expects and orchestrates change throughout the development process. By the numbers, 71% of organizations currently prefer agile software development over the traditional waterfall approach – but you already know that.
What you might not know is that agile often does not play nicely with enterprise processes. Agile scrum purists believe it is important to “never deviate from pure agile” and “never blend styles.” But those people probably haven’t had to make agile software development work within the confines and constraints of a large company. That’s where the rubber meets the road and success requires the agility to take a blended approach, as opposed to Agile orthodoxy.
COMPARING METHODOLOGIES
For beginners, here’s the elevator summary on agile vs the waterfall method. Agile generally employs short (1-2 weeks) incremental development cycles called “sprints” to continuously release software and deliver business value in a short period, embracing changes along the way. Traditional software development uses a waterfall methodology, which starts with creating a detailed schedule, defining and freezing requirements, development, testing, and then finally implementing – months or even years after capturing the initial requirements.
There are hybrid methods as well. For example, Disciplined Agile Delivery (DAD), is a blended Agile software development approach (with a fun acronym) where the team gets to choose what best practices they will implement within guidelines. DAD recognizes that not all projects, teams, stakeholders, and companies are alike – often requiring different methods to support effective project delivery.
Another notable example is Rapid Application Development (RAD). RAD and Agile share similar values with respect to flexibility, shorter delivery time, and high customer interaction. RAD is more prototype-driven, while Agile breaks down a project into features which are then delivered in various sprints over the development cycle. There are advantages and disadvantages to each. What’s important is flexibility (or agility) to accommodate the needs of the project and the client because real-world limitations sometimes necessitate a blend of traditional project management practices to be very successful.
WHAT ENTERPRISES NEED
While large enterprises are now embracing collaboration, transparency, and rapid progress over perfectionism, they are generally more constrained than a truly pure Agile software development process allows. Enterprises need to consider timelines, fixed budgets, audits, and IT security requirements. Embracing a hybrid of the waterfall and agile methodologies allows teams to execute projects successfully while accounting for all stakeholder demands and enterprise constraints.
In short, blending development methods can yield the best of both.
One of the keys to a successful blended strategy is when and how you blend. Anyone familiar with cooking will find this concept very easy to understand. Have you ever tried to make hollandaise sauce? Timing temperature and ingredient ratios are everything. Blended Agile is a bit like that.
Project initiation, or how you start your project, will weigh heavily on the outcome. If you get it right, then so many issues are avoided. Rapid application development may be best suited for this phase, however, if you are digitalizing a well-known process, then elements of the waterfall method are useful. Starting a new project with a high-level scope document, risk assessment, and discovery process (“Sprint 0”) supports the iterative agile software development process along the way. This is just one of many ways to pursue a blended strategy.
AT 10PEARLS
Like most technology leaders, Agile is our bread and butter. But we don’t adhere dogmatically to any one methodology. We assess the needs of each client and adopt and/or adapt the methodology based on the culture, needs, and constraints of the client. Ultimately, clients want to see productivity and they need to accomplish their business goals.
If your organization has faced challenges adopting agile software development practices, let’s have a conversation about how we have helped Global 2000 enterprises and high-growth companies see value in using a hybrid approach. There ought to be no religion when it comes to delivery, and the focus should always be on delivering for the customer with full transparency and exceeding their expectations (time, budget and quality).