Software Development Methodology

At Emerio we don’t prescribe a single methodology and try apply it to every project, we choose the methodology we believe is best for the project at hand taking into consideration factors such as complexity of project, timelines required, number of vendors involved, clients involvement level. We will then take these factors then add our experience and skill to determine the best approach.

Agile, Waterfall…What is it all about?

There is a lot of buzz (and buzz-words!) surrounding agile software development and there is also a lot of confusion. What is agile? What is waterfall? How are they different? Which one should I choose and why? Isn’t waterfall bad? Isn’t agile the cure-all for the software industry? The answer is yes, no, that one and maybe!

Agile and Waterfall are both approaches to developing software. The Waterfall methodology has been around since the dawn of software development and was actually borrowed from the construction industry. The Agile methodology is relatively new but is gaining a large following because it solves some of the pain points experienced in using waterfall in certain circumstances. It is a collection of tools and techniques from scrum, extreme programming and other software development methodologies. In fact it can be seen as a toolbox from which you can select the best tools for the job at hand.

The Waterfall Method

Essentially the waterfall approach defines all of the requirements for a system upfront. Then they are used for designing a solution and the team begins developing the solution. The then test it and finally deliver it to the client. All of these steps are executed in sequence and can be viewed as a cascading waterfall.

The Agile Method

Agile is different but has lots in common with waterfall. The main idea is that instead of a single pass over all of the requirements gathering, designing, developing, testing and delivering it can be broken up in smaller pieces (sprints or iterations) wherein we perform all of these tasks on a subset of the overall features.

How we use the methodologies

There are a lot of different elements to each methodology and choosing between them can be confusing however because we have gained a high level of skill practising each methodology through our experience in delivering software projects we believe we can select the right methodology required. We haven’t defined and hard rules around this however we have observed the following table holds true 80% of the time.

Methodology Our experience tells us
Large / Complex Agile If the scope is large or incomplete and/or the solution is complex agile offers us the best solution here to discover and adapt as we build out the solution.
Small / Simple Waterfall If the scope is small and/or the solution is simple then we find a waterfall approach works very well.

 

Alongside all of these choices we will use some of the other tools of scrum that we feel help us control and adapt as we execute a project such as daily stand-ups and Kanban boards etc.

Benefits for you

As a client of Emerio the benefits that you will receive by us choosing the best methodology to deliver your solution relate directly to cost, time and quality.