Agile 101 – Brief Intro’

Building software can be tantamount to creating a work of art; it requires ample craftsmanship to complete a master piece. When you think you are done, there is always something you feel you have missed.

Due to the continuous customer requirements and changes that pop up during the software development process, it is essential that software becomes malleable and logically incomplete. To deal with these increasing demand and changes you will have to adapt the right development methodology.

In this post I provide a gentle insight into Agile Software development methodology.

So what really is Agile Software methodology?

In building a software products, there are various models that can be  adopted. Such as : Waterfall,Spiral, Rapid Application Development and Agile

Agile  is a software development method which is based on iterative and incremental development, where requirements and solutions evolve through a collaboration of cross-functional teams.

The key  in the Agile technique is compressing the five sequences of the conventional software development phases ( Requirement Analysis, Software Design , Implementation and Integration, Testing /Validation , Deployment and Maintenance)-  to short  and iterative cycle.

It manages to do this by developing a system through repeated cycles (iterative) and in smaller portions (incremental), allowing developers to test and review during development. Speed, lower cost and flexibility are key benefits in Agile

What Are The Key Principles?

  • Customer requirements cannot be fully collected at the beginning of the software development cycle, therefore continuous customer or stakeholder involvement is very important.
  • Welcome changing requirements, even late in development
  • Working software is the principal measure of progress
  • Close, daily cooperation between business people and developers
  • Continuous attention to technical excellence and good design
  • Simplicity is essential

Does Agile Have Certain Characteristics?

Let’s take a look at some few xtics of an Agile development methodology

  • Break tasks into small increments with minimal planning and do not directly involve long-term planning
  • Each iteration involves a cross functional team working in all functions: planning, requirements analysis, design, coding, unit testing, and acceptance testing.
  • At the end of the iteration a working product is demonstrated to stakeholders.
  • Multiple iterations might be required to release a product or new features.
  • A common characteristic of agile development are daily status meetings. Team members report to each other what they did the previous day, what they intend to do today, and what their roadblocks are.

Are There Different Types?

Yes,there are so many variation of  agile software development methodology. You can think of agile as an umbrella term that encompasses other processes such as:

  • Extreme Programming
  • Lean Development
  • Crystal
  • Feature Driven Development (FDD)
  • Adaptive Software Development
  • Scrum

Well, does it for now, just a brief intro. In my next post I focus on Scrum. As usually feel free to drop your comments, feedback or suggestions.

Advertisements

One thought on “Agile 101 – Brief Intro’

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s