SQL – Agile Software Development Methodology vs Waterfall Software Development Methodology

If you are in the process of developing and creating software, a business, or product, the steps to get from point A – the idea – to point B – the finished product – can seem completely overwhelming.  You start brainstorming, you get a great idea and follow it, but if it doesn’t work out, you are back at the beginning, brainstorming.  It might feel like you are going nowhere, you don’t know which way to turn, and all you’d really like is a road map straight to success.

Well, I can’t promise you a road map, but I can get you close.  First – there are two ways of thinking about the development process.  The first is called the waterfall system, because when you draw it out, each idea cascades down to the next logical step  – it will look like a waterfall.  Think of it this way:

SQL - Agile Software Development Methodology vs Waterfall Software Development Methodology waterfall

Each step logically follows the next, and you do not move on to the next step until you have fully completed the step you are one.  For many people, this kind of straight layout helps them think, stay organized, and keep on track.  However, maybe your business model doesn’t fit this type of planning, or maybe your brain doesn’t like this kind of rigid thinking.  In these cases, you might want to try the agile model.  The agile model allows you to try a few different steps, and if something doesn’t work out, you can easily backtrack without losing too much time (and possibly money).  Here is what an agile road map would look like:

SQL - Agile Software Development Methodology vs Waterfall Software Development Methodology agile

In agile planning, you can move on to any step from (almost) anywhere.  You can start with an idea and move to planning, but if things are going well you can jump to implementation.  The description truly is in the name – you will be very agile, that is, graceful, moveable, and quick.

Each of these types of development has its own advantages and disadvantages.  In waterfall planning, you can plan big projects.  It is well suited to the type of project that needs to move slowly and methodically.  However, this is also one of its main drawbacks.  If you are on a tight deadline, slow and methodical may win you the race but lose you the client.  It also has a drawback of leaving important steps, like implementation and testing, to the very end – so if bugs develop, it might be too late to go back and fix things.

Agile planning has the drawback that it can be easy to fritter your time away bouncing from idea to idea.  However, if has the definite advantage that it is quicker and less prone to bugginess – for example, if you are programming some code, you don’t have to wait until the very end to test, you can jump right to testing and determine if you are on the right path or not.  Because of the built-in agility of this system, it is the preferred method of operation for many technological fields.

Here is the question back to you – Which Software Development Methodology do you use and why?

Reference: Pinal Dave (https://blog.sqlauthority.com)

Quest

Previous Post
SQL – Download Database Cheat Sheet for MongoDB, NuoDB, MySQL for FREE
Next Post
MySQL – Learning MySQL Online in 6 Hours – MySQL Fundamentals in 320 Minutes

Related Posts

No results found.

11 Comments. Leave new

  • Waterfall….approach being systematic and we usually take enough time from client for processing debugging etc

    Reply
  • It is a good summary, I would prefer Agile over Water Fall. It has many advantages, some of them are, This gives you early scenario to get a feedback from client, Test out different algorithm’s. Most important is that it lets’s user start using the system early and you prioritize features based on that user needs.
    Thanks.

    Reply
    • You are absolutely right on this. But What about small scale projects, does this method still hold good? I believe this might be an overhead for small projects. So size also is an aspect we should consider.

      Reply
  • Ashwath Kulal
    July 12, 2013 7:26 am

    Agile is better in many ways, one of the most important benefit we I found during product development that it helps bridging the gap of users expectation and development implementation. The development team can take the feedback of users in each roll out, that helps bridging the communication gap..

    Reply
  • luismartinez09
    July 12, 2013 8:34 am

    Waterfall would function in small-easy projects. As they get complex, agile would be better.
    As a matter of fact, the waterfall model is not recommended anymore other than highly accurate projects (CBAP and PMP call it progressive elaboration and rolling wave planning).

    Reply
  • Sourav Maitra
    July 12, 2013 10:31 am

    Short, Precise and to-the-point sir. Can I expect blog(s) on cost estimation on Agile?

    Reply
  • I will go for Agile..
    Success rate in Agile is higher than waterfall. Agile has better management process. Iterative release and customer collaboration is key concepts of agile.

    Reply
  • Yugz (@Yugan_Naik)
    July 12, 2013 5:36 pm

    Agile is definitely the better Methodology

    Reply
  • Usually we will have to go back and forth, for the correct tune. Agile. Even if you recycle waterfall it will require the previous step to move on.

    Reply
  • Agile development is a gradual process, it doesn’t have to be done at the flick of a switch. Start with a thing called Kanban methodology and everything will become easier.

    Reply
  • The article is good.. Could you please give any scenario in real time how it will be implemented in Water fall and Agile and how it is more advantageous with Agile?

    Reply

Leave a Reply