Seventy-one percent of organizations use Agile to drive their app development process. By now, most of you have already heard agile-fanatics screaming from the rooftops and corporate execs using the word “agile” as if it’s the most modish term on the planet. But what is agile, really? It can be difficult to wade your way through the dense forest of hype artists and the trendy alphabet soup of “agile-like” acronyms to discover the real, tangible meaning of agile.
So, let’s cut through the red tape, ignore the trendy buzzwords, and uncover the truths of agile. No. It isn’t a catch-all development solution, and it certainly isn’t perfect for every development project. In fact, agile has some serious downfalls that seem to be excluded from those 25-page long “Agile Manifestos” that developers and companies are putting out at the speed of light.
To be clear, we’re agile “fanatics.” We’re SAFe certified, and our entire motto (i.e., PUSH) is driven by agile-thinking, and we’ve used agile methodologies to execute massive-scale projects like NASA.gov 2.0 and The United Service Organizations‘ app. However, we’re going to take a step back. Let’s put away the biased hats, ignore the hype, and dig into the nitty-gritty of today’s most popular engagement model. Here’s everything you need to know about the agile engagement model.
What is an Agile Engagement Model?
Engagement models are frameworks that define the relationship between an outsourced development team and your company. In other words, engagement models are “how” your app is getting executed, and your project is being delivered by your development team. There are a wide variety of engagement models, and each of them has specific pros and cons.
Agile engagement involves rapid-fire iterations, immense flexibility, and plenty of collaboration. The overarching goal of agile is (as the name suggests) marketplace agility. So, when the environment outside of your development team changes, agile gives them the tools to quickly react to those changes. Typically, agile development teams have daily meetings, use tools like Kanban boards to execute bite-sized chunks of development, and have the flexibility to rapidly change requirements and needs based on internal and external factors.
In today’s fast-paced, digitally-drenched software development lifecycle, agile brings a ton of value to the table — especially on long-term projects that have to cross that oh-so-scary “pit of scaling.” According to PMI, 70% of organizations use agile development today, so it’s certainly a popular and results-bearing approach to software development.
When Does Agile Make Sense?
Since agile requires strong cultural structures, unparalleled collaboration, and iterative-driven strategies, it’s best for outsourced projects that leverage in-house teams. In internally-driven development cycles with in-house teams, agile is often used to execute from start-to-finish. However, when you’re leveraging outsourced developers, start-to-finish projects may work better with more traditional engagement models like firm-fixed — since they prevent cost-traps and unnecessary cost scaling.
Agile really starts to shine when either:
- Your outsourced development team sends over in-house developers.
- You have a product already in the wild.
In the first scenario, your outsourced team will send boots-on-the-ground to your location (or Zoom-on-platform in today’s ecosystem). These are people who integrate themselves into your business, so you can push cultural and collaborative requirements onto them. In the second scenario, it doesn’t matter as much if you have in-house or external outsourced teams — since you don’t have to worry about cost-traps or over-the-scope project requirements. To be clear, agile is very powerful in these two situations. In fact, we would argue that agile can completely change your delivery cycle and help you create more fantastic customer experiences. But there are also plenty of situations where agile isn’t strong.
Understanding the Pitfalls of Agile
We love Agile. Being SAFe certified, we leverage agile to execute massive government projects and huge client apps. But, despite the hype, there are very real situations where agile simply doesn’t make sense. In particular, agile engagement models — meaning you are using outsourced development to execute and grow a project — are tricky to leverage on from-the-ground-up projects. For starters, agile’s iterative and flexible processes don’t lend themselves well to budgetary projections. You don’t get a firm, upfront quote like you would with firm-fixed. Since project requirements change throughout the lifecycle, agile can breed unpredictability and budgetary concerns into off-the-ground launches (i.e., costs change with the growth of the project and as new demands hit your outsourced team.)
Also, there’s a tangible scope issue. Agile development doesn’t have a set-in-stone scope. So, it’s easy to overthink and over-scope projects with agile. You may start feeding new requirements to your outsourced team on a regular basis. And while these requirements may be things you desperately want, they also incur additional costs. Over time, your budget may grow out-of-control. This can also cause relationship frictions between you and your outsourced partner. The raw flexibility and scalability of agile are exactly what makes it so dangerous for some projects. Requirements can spiral out-of-control.
Which Engagement Model Works for Your Business?
There’s no such thing as a perfect engagement model. But there is a perfect engagement model for your unique project. Obviously, agile is the most hyped, utilized, and championed engagement model in today’s fast-paced development ecosystem. And for good reason. It’s amazing. But it isn’t ideal for every project. Unfortunately, the disadvantages of agile often get drowned out by the agile fanatics. Not every project fits with agile, especially full builds that leverage outsourced talent.
Will agile work for you? It depends! If you’re looking to support an ongoing app or bring over an internal team of outsourced experts, agile could help you execute faster, smarter, and with more purpose. But if you want an off-the-ground app via outsourced talent, agile may put you in a dangerous cost-cyclone that’s detrimental to your finances, forecasting, and relationship with your outsourced solution. Are you looking to create an amazing project?
Contact us. We have the skills, experience, and frameworks you need to execute projects across a variety of engagement models. From firm-fixed to agile and beyond, we’re here to hand-pick the best solution for your business.