Monday 11 February 2019

Agile Methodology




What is Agile Methodology and why use it?

There have been a lot of hype for Agile Processes. Agile has become one of the most common and effective methods for developing and delivering software solutions to customers. 
In Development practice, we use the Agile process to run our Salesforce development and Implementation. From the beginning, we have found that Agile not only makes the most sense from an internal perspective but that it helps us deliver the best possible results for our clients.
However most of IT folks are confused about the Agile Ways of Working and proper alignment with this model while working. In this post I will try to guide you through the quick overview of Agile.

Agile VS Traditional

Agile is basically a methodology and project management concept for software development. It is an umbrella under while many different methods live. E.g. Scrum, Kanban etc.
Traditional project development can be thought of a waterfall model. It requires a thorough plan from the beginning, (which can take a lot of time) and then the different parts are developed from the top down. Which this process can deliver quality results, it has enough drawbacks that people began looking for new solutions.
Agile was introduced as a reaction to traditional method. Which everyone realized was in-efficient, wasted resources and could not deliver the needed results. Agile methods allow developers to respond quickly to changing circumstances or new requirements. Rather than running from the top down, Agile processes allow for a fluid development, often based on levels of priority, and allowing for constant re-evaluation of how the project is doing and where it is going along the way.

What are some of the benefits and characteristics of using Agile?
  • Projects are completed faster than traditional development
  • Stakeholders and clients are actively involved, which helps ensure satisfactory results
  • Agile helps us develop the right product – and not be handcuffed to a project that won’t deliver the needed results
  • Project costs are predictable and can be regularly assessed or modified.
  • Results in higher quality results
  • Ongoing development and change allow the project to continue to evolve and meet whatever new requirements may arise
  • Agile creates transparency that holds all peers accountable for their actions.
  • The agile hierarchy is based on competence, not authority 


In this post, we will be explaining 2 practices under Agile: Kanban and Scrum

Kanban

Kanban is primarily a way of organizing, visualizing and prioritizing what work is being done, and when. Kanban is always done on a ‘board’, either virtual or physical. Kanban boards are generally divided into 3 sections, “to-do”, “in progress” and “done”.



Each task that needs to be done will be placed into one of these divisions, allowing us to manage the entire project in this way. By being able to visualize everything in the scope of the project, we can prioritize what needs to be done and have an overall sense of where things are.

Scrum

Scrum is where we get our practice of using sprints to divide and organize what is always being done. Sprints often range from 1 week to 1 month, depending on the project.

At the beginning of each sprint, our team sits down, discusses what was done in the previous sprint, what needs to be done in the next sprint (based on what is remaining “to-do”), and how we are going to go about it. Once roles are assigned and everyone knows what needs to be done, the team can break and get into their individual projects.

The Scrum process has a few major benefits:
  •         It streamlines the project management process
  •         It ensures everyone has something to do
  •         It allows us to regularly evaluate what has been done, and make any changes to the scope or content of the project
  •         The entire project gets done fast!


No comments:

Post a Comment