Agile Development 101

Published by Jeet Tan on

Agile development is a project management methodology that helps software developers make high quality software to be deployed at fast speed.

In the software world, many changing customer requirements & constant shifts in the marketplace has made a group of developers come together in 2000 to come up with a solution to how to bring in software faster while maintaining high quality. This was called Agile Development.

The problem in the past was that building software was too slow, too rigid and more importantly comes a lack of market testing. This means that when a software is deployed to the market – there will come many features that customers do not want to use, or had no use for. A software that takes 6-8 months to be built can potentially be obsolete by the time of release.

Agile was created to tackle the market’s ever-changing requirements while maintaining quality.

Based on a set of principles where software is developed to meet the market’s ever-changing landscape. When software is built with Agile principles in mind, they are usable, high quality while maintaining a high adaptability to an unstable business environment.

The Waterfall Method vs Agile

To understand Agile, you must first understand what Agile Development was built upon which was Waterfall. There are usually five stages of software development. Previous to Agile, the waterfall method has been the conventional method of software development.

  1. Planning
  2. Design
  3. Implementation
  4. Testing
  5. Shipping

In these five stages, a waterfall method goes through the numbers 1-5 sequentially and consecutively. The problem however is that for big projects, each stage of the software development cycle takes many months to complete.

Each stage is also reliant on the previous stage to be thoroughly completed; if a change occurs in one stage, it results the software being sent back to the previous stage for amendments. In addition to this, by the time a software is shipped, if in the case of a big software for example building an app for the police force, perhaps the police that uses this app has found out that they don’t need specific features, or have the need to use the app at all.

Another example is that if a software engineer finds that in the design phase, something needs to be changed, the tasks will have to be sent back to planning. Or if bugs are found in the testing phase, then the implementation of the software will have to be changed, and also perhaps the design.

This inflexibility and ultimately inefficiency of tackling bigger projects of the Waterfall Method led to the development of Agile.

The Principles Of Agile

In 2001, the founders of Agile came up with 12 principles as a manifesto to follow for future software development. They were:

#1 Satisfy Customers Through Early & Continuous Delivery

#2 Welcome Changing Requirements Even Late in the Project

#3 Deliver Value Frequently

#4 Break the Silos of Your Project

#5 Build Projects Around Motivated Individuals

#6 The Most Effective Way of Communication is Face-to-face

#7 Working Software is the Primary Measure of Progress

#8 Maintain a Sustainable Working Pace

#9 Continuous Excellence Enhances Agility

#10 Simplicity is Essential

#11 Self-organizing Teams Generate Most Value

#12 Regularly Reflect and Adjust Your Way of Work to Boost Effectiveness

These principles were guidelines that formed the cornerstone of Agile.

Agile Methodologies

There are many types of Agile. They are Scrum, Lean, Kanban and Extreme Programming. In this article, we will only be exploring Scrum as this is the most popular framework for Agile Project Management.

So how is Scrum done? Scrum development is all about breaking down a project into something called Sprints. Each Sprint is also known as an iteration of the software. Usually there are 3-5 Sprints for an application. Each of the Sprint contains all of the components of the Waterfall Methodologies: planning, design, implementation, testing and deployment.

The exception is that each Sprint will focus on only one feature to ship to the market. This means that the software development cycle will be much shorter than the conventional Waterfall market.

Each Sprint’s goal is about shipping a Minimum Viable Product (MVP) where the bare minimum requirements of a software feature are to be shipped and tested. This is done to get valuable feedback and to pivot for the next iteration, where even more changes will be done.

Using this methodology, Scrum ensures that since each Sprint consists of all stages of the software development life cycle but simply on a small scale, there is active participation for developers, managers and customers.

Scrum also emphasizes on communication between all parties and the customer’s changing requirements in order to “welcome change at all stages of the cycle.” At any stage at the cycle, can there be replanning and changes.

Features of Scrum

Product backlog

The product backlog is the accumulation of all the tasks needed to complete the project, this is usually created by someone called a Scrum Master and the Product Owner which acts as the managers of the project.

User stories

User stories are short descriptions of a feature told from the perspective of the customer, so that they know what to design.

Sprint backlog

Sprint backlogs are simply the product backlog being divided into Sprints.

End Of Sprint Review Sessions

Meetings and review sessions play a key role in Agile Development. At the end of each Sprint, review and feedback sessions are done to enhance communication.

Popular software that has been developed with Agile

It is said that about 86% of software in today’s markets has been developed with Agile principles in mind. From big tech companies like Google, to YouTube to Facebook, and up-and-coming startups use Agile to rapidly deploy and test their products.

The core of Agile is agility and being able to learn quickly from experience. This allows for rapid deployment of software while maintaining high levels of constant improvement for all parties involved.

Please leave a comment down below your thoughts on this and we are happy to help you out.

Categories: tech

0 Comments

Leave a Reply

Avatar placeholder

Your email address will not be published. Required fields are marked *