Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

What Are the Benefits of Agile Development Methodology?

DZone's Guide to

What Are the Benefits of Agile Development Methodology?

In this article, Lana Pavkovic takes a look at the real, measurable benefits of using the Agile project management methodology.

· Agile Zone
Free Resource

See how three solutions work together to help your teams have the tools they need to deliver quality software quickly. Brought to you in partnership with CA Technologies

Are the benefits of Agile measurable, comparable to other methodologies? Yes. This article discusses real, measurable benefits of using the Agile project management methodology.

There is an interesting demonstration of the benefits of Agile against Waterfall on a game we all know and love: Battleship! Both you and your opponent have 20 shots, each costing $5,000 (that’s $100,000 of initial expenses for both). Here’s the catch: you have to plan all your shots before any action and your opponent fires their shots “normally” – take a shot, see what happens, then take another shot.

At the end of the game, guess who scored more hits?

Benefit 1: Save time and money by building the right product.

Image title

What Exactly Are We Building?

We started Yanado with very limited resources: two founders and some ramen cash. We had to get it right from the get-go because we had already wasted our money on previous projects.

The moment that we validated our idea of building the project management solution into an email client (we used the Lean approach to do so), we switched to Agile for further product development.

We had a lot of competition from the start, and it was clear that Yanado’s development had to hit all the right notes with our users. The best way to do this was to include the users into the development, as regular, highly valued feedback and critics. We focused on what our users needed from our tool, not what part of it they liked best. 

Industry stats show us that 45% of features per tool nobody ever uses. It takes a lot of time and effort to create these features, and all of it is time wasted. Imagine if you could have used that time to faster develop tools that actually do have the value for your users?

This is the important thing to keep in mind: the world doesn’t need yet another tool. It needs a solution to a problem. Customers are happiest when we present them with products that serve their needs.

Users have no problem placing their trust in first iterations of a product if they know that it is going to improve over time. This trust also encourages the user to participate in the development process by providing feedback. This is the essence of the kind of partnership Agile brings.

Benefit 2: Faster Time to Market Brings Early ROI

Image title

When Can We See the Results of Our Work?

We pumped out new versions as soon as we heard the needs. This led to a lot of engagement: 30% weekly active users and 50% monthly active users in the early days. This, in turn, gave us fantastic reviews and feedback even though the application was incomplete. And this, in turn, gave us the assurance and reliability to get investments.

The traditional approach taught people to expect long delivery cycles with wildcard products at the end. On the other hand, the iterative Agile development guarantees that features will be delivered incrementally, with some benefits released early on in the development.

The market is fast, and you can bet your competition is just as fast–you just need to be the fastest to deliver working products.

By using Agile development practices, businesses can free themselves from their dependence on roadmaps proposed many months ago and adjust themselves to the market’s needs.

Our ROI came soon thanks to these rapid releases. By listening to our user’s needs, the engagement was off-the-charts. We didn’t have to wait for six months to see ROI upon final release.

Our iterations were as fast as 15 days sometimes, with whooping engagement and weekly and monthly active users helping us sleep soundly.

Benefit 3: Better Product Quality

"Quality is more important than quantity. One home run is much better than two doubles." – Steve Jobs

Quality Over Quantity

Short cycles and fast delivery meant that the amount of work per cycle wasn’t huge. Our developers were focused on smaller, manageable tasks, thus making more time to perfect them.

This also let us find and fix bugs faster and identify expectation mismatches early. Sure, mistakes happen, and we made them as well, but we were very strict about not sending things to production if they were not done right.

The end result is that Yanado is the best product we have ever built in our career.

Agile development focuses above all on integrated testing throughout the project lifecycle. Regular inspections of working software become possible, as well as the adjustments and early improvements.

It’s quite simple: embrace responsibility, own what you do, and have only one acceptance criteria – quality.

Benefit 4: Predictability reduces the risks.

"Risk comes with not knowing what you are doing." – Warren Buffet

What Does the Future Bring? Can We Anticipate Risks?

The development team can regularly deliver smaller increments of the product, making them visible to everybody involved, and allowing for faster improvements and timely suggestions.

This offers clarity, which helps to ensure that necessary decisions can be made early on, while there’s still room to optimize the outcome.

Agile does not shy away from risk. It stands as a functional risk management method. Early delivery and feedback reduce the risk of building the wrong product.

Architectural risk is tackled in the early iterations, so that building a solution can be done in time–or you’ll know that it is impossible early on. Continuous integrations and making of working software reduces the chances of not having a perfect product to bring to the market.

What can you tell your customer if there is no predictability? How do you coordinate business and development without predictability?

While we were in the software development outsourcing business, we had to give precise time and budget estimates for a client’s project, based on their requirements. A few years later, I could reduce the estimating errors to 20% max.

We were able to cover the costs and make money, but the end client wasn’t super happy because this meant that they could hit the market and make money three to five months later. And that’s not the worst thing at all; only once they were already on the market did reality check in and show them they worked on the wrong idea all along.

Think of all the wasted time and money.

By introducing the Agile project management methodology as a mandatory approach, we were able to provide problem-solving, working software much faster. Although those early products were a little skinny, feature-wise, they had enough value for our clients to test their business model.

We took into account user feedback and made small improvements, and our clients were able to bring value to their users constantly, and they knew when to schedule their marketing and sales campaigns.

They were able to manage their expectations towards their users, and the business success rates of those projects increased exponentially. They were successful not because we built the product on time, but because they started making money on time.

Working with short cycles and relying on early feedback is what feeds you with confidence to make predictable and certain steps.

Benefit 5: Visibility Makes Predictability Possible

Image title

Knowing Progress When You See It

Other than achieving predictability, Agile also let the clients participate in and understand the project from its early iterations. They also know and understand what we were doing and why–which was essential for them to be assured that their business would make it.

It was “no” to waiting rooms and “yes” to hands-on participation, where they could direct us where they wanted the project to go early on. These are the main reasons projects we did with the Agile approach had a lot more success than some projects we did the traditional way.

Our clients had very good insight into the development of the project. They weren’t stuck in the waiting room with us popping by once a month to tell them what was up. They didn’t have to wait for 6 months for us to wrap things up so that they could debut on the market.

If we did otherwise, it would have been frustrating for everybody, and nobody would know if the product was even solving user problems or not.

This active, involved, collaborative approach paints a clear roadmap for key stakeholders, which then helps everybody manage expectations. Working software is the only measure of progress.

Benefit 6: Adaptability (The Main Characteristic of Survivors)

Image title

How Do You Feel Your Way Forward?

We did a project for a marketing agency that was creating a couponing system for restaurants, a loyalty program for their customers. It was their idea to make a website and a mobile app for Android and iOS so that they could see their coupons on their phones. The whole project was 12 months of work with $300,000.

At first, we weren’t sure how to create some of the features for the mobile app. We needed to test a few assumptions, which was both expensive and time-consuming, and we didn’t know how to do it and stay within the budget.

So we made a regular web app for mobile phones and then realized we never really needed a native mobile app–the mobile web version did everything fine. We saved almost $100,000 and finished the project much faster.

In the traditional approach, you plan everything out first, write the documentation, and tell the clients how expensive changes will be, especially later in the project.

In the Agile approach, with every iteration, you are wiser for everything you’ve learned in the previous ones. You gradually have a better idea where the project strengths and weaknesses are, and how to handle all future situations more efficiently.

Agile development principles not only accept change, but they expect it. Changes are bound to happen, and you can count on having a procedure for dealing with them, and adapting your project when they happen.

Clearly, it is very important for your actively involved stakeholder to understand this, and make decisions as soon as he is confronted with them.

You cannot know what will happen down the road, but you can teach everybody how to adapt to any potential crisis.

Benefit 7: Alignment Boosts the Team Morale

Image title

How Does Everyone in the Team Get the Big Picture?

At some point, we had to upgrade our Google calendar integration within Yanado for security reasons. At first, all projects had one shared calendar, but as our customers started adding more and more teams it became a security risk. Not all teams need to know about executive meetings etc. It was clear that we needed to update the integration so that each project has it’s own Google calendar.

This was a very complex operation and the entire development team was under huge pressure. If we hadn’t explained the ultimate goal of this operation and had the entire team aligned with it, we would end up with unhappy co-workers due to the unclear pressure and poorly done job (edge cases would have been missed).

It is important to determine how to organize your company–people don’t actively need some form of “alignment,” but they want to see the results of their efforts.

Therefore, alignment is achieved by putting everyone on the same page so that there is the same understanding of the roadmap and the vision that we are trying to achieve.

This way you ensure the transparency needed when working so closely so that everyone is able to ask the right questions at the right time in order to stay aligned–which is essential for supporting people in their way of taking responsibility.

It is very important to us that people take responsibility for the work that they do and work independently to solve problems they come across. In order to achieve this, we’ve set up common goals.

When we were creating the billing module, our goal was not to complete the billing module but to create revenue. We wanted our first buyers ASAP. We released it two months later, and when the first customer came, our CEO personally congratulated every team member who worked on the module for their collective success.

We were truly happy and fulfilled because this was a common goal, and a successful one at that.

Agile promises teams of empowered individuals, where everybody works with a common sense of purpose. Done properly, Agile forms a pleasant work environment. Nothing beats the sense of belonging to a team of independent but communicative achievers, united under a common goal.

Benefit 8: High Efficiency at Getting Work Done

Image title

What Drives the Team's Success?

Agile teaches us to ditch the baggage and get down to the business of building and releasing working software.

The key to our efficiency lies in the way we organized ourselves. We focused on small, rapid iterations, put out our first release quite soon, and got user feedback which we based all future iterations on. By adopting the Agile approach, we made an Android mobile app, a Gmail plugin, and a web app, all within a year with €75,000. How neat is that?

This is what you call efficiency. Agile is centered on open collaboration–everybody knows their priorities, and everybody works together to keep the constant delivery.

Discover how TDM Is Essential To Achieving Quality At Speed For Agile, DevOps, And Continuous Delivery. Brought to you in partnership with CA Technologies

Topics:
project management ,agile ,waterfall ,methodology

Published at DZone with permission of Lana Pavkovic. See the original article here.

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}