Agile Methodology

What is Agile model?
It is a process/model of continuous integration of development and testing throughout the software development life cycle of the project. It is one of the most widely used process in software development world as it helps teams to deliver the work faster in small increments with less issues.

Agile Process:

Here in Agile process, we can monitor the project progress every day. Every release is implemented in iterations or sprints. Every iteration or sprint consists of 2 or 3 weeks in general. However, this sprint duration varies from project to project and also to sprint to sprint as well sometimes. Many meetings were involved in this Agile process to know the progress of the release in each sprint. However below mentioned meetings are widely conducted. Let’s see about them one by one in detail,

Ø  Sprint Planning meeting is conducted before the start of the sprint to discuss the user stories that can be covered in that particular sprint.

Ø  Daily stand up/Scrum is conducted to know the work done by each in the team. Mainly the below things are discussed,

  • What work is done yesterday
  • What work is planned for today
  • What work is planned for tomorrow
  • Any impediments to complete the work

Ø  Sprint Review meeting is conducted at the end of the sprint to discuss the progress and where does the team stand for that sprint. However this is a optional meeting which is conducted based on the projects/companies as required

Ø  Sprint Retrospective meeting is conducted once a sprint is completed and next sprint got started. Following things will be discussed,

  • What went well in the last sprint
  • What didn’t went well in the last sprint
  • What can be done to improve or perform well in the ongoing sprint

Ø  Defect Triage meeting is conducted to review and have a proper action on the defects. Dev team, testing team and sometimes the Product owner also will be involved in this meeting. Defects identified in the particular sprint will be triaged and assigned to respective team or deferred sometimes depending on the defects.

Ø  Sprint Planning meeting is conducted before the start of the sprint where the user stories for that particular sprint and the timelines for the same would be planned.

General terminologies used in Agile process

Product Backlog – User stories(requirements are split into user stories) will be added here. For any sprint, user stories will be picked from product backlog and worked upon.

Epic – It is the complete feature or requirement which needs to be implemented.

User story – An Epic is split into user stories based on the complexity or work involved in order to develop it. User story is generally part of Epic. In case of small feature, it will be a single user story.

For easy understanding of difference between epic and user story, let’s look at a simple example. Consider if we need to implement a login page functionality, it can be treated as an Epic. “Username, password” fields functionality can be considered as one user story. Any other hyperlinks such as “Forgot password, Need help” can be considered as another user story.

Story points – It is a measurement to define the complexity of the user story from dev and QA perspective. This activity will be done in Sprint planning.

Burn down chart – This is a pictorial graph representation of time and work. This is drawn with the help of the time spent on tasks along with the work. Team need to burn the hours on daily basis for the work accomplished against the tasks.

Differences between Waterfall and Agile

Let’s see what are the basic differences between Waterfall and Agile models.

Waterfall is a traditional model which is also called as Linear Sequential model.

  • This is mainly suitable for small projects or where the requirements are planned prior/freeze.
  • In this model, each phase is done only after previous phase/step is successfully completed.
  • Difficult to initiate change in the requirement once the project is started.
  • Testing is performed only after the completion of development.
  • Each phase has specific deliverable and review process.
  • Documentation is maintained well in each phase and dependencies can be easily addressed.

Agile model is where continuous development and testing is done. Communication is more or we can say involvement of all teams happens in this model.

  • It is an incremental process.
  • This process is known for its flexibility.
  • Changes in the project can be done even if the initial plan is completed.
  • Testing is performed concurrently with software development.
  • Less dependency on the project manager and team member can work on multiple projects in the same moment.
  • Client is involved in every phase and easy to know the updates of the project.

What is Scaled Agile Framework

It is also known as SAFe. This methodology is an agile framework for development teams. The framework is divided into three segments: Team, Program and Portfolio.

Following are allowed in SAFe,

  • To implement Lean-Agile software and systems in enterprise level
  • Gives detailed guidance for work at enterprise
  • Designed based on Lean and Agile principles
  • Designed to meet the needs of organization

Benefits of Scaled Agile Framework

It is lighter in weight and simpler. Also it can be used to handle large size streams. Few of the key benefits are listed below,

  • Increases the productivity
  • Helps in increasing the employee engagement and job satisfaction
  • Decreases time taken for the time to market
  • Increases the quality

How is this different from other Agile practices

  • This is free to use
  • It is lightweight and publicly available to use
  • Maintains most commonly used agile practices
  • Have transparency on all the levels
  • Available on easy and highly approachable form

Best Agile and Scrum Certifications

Following are the best certifications which can help the individuals in their careers,

  • Certified Scrum Professional
  • Certified Scrum Master
  • Agile Certified Coach
  • Agile Certified Practitioner
  • SAFe 4 Agilest

Best Agile Project Management Tools

Following are the most commonly used project management tools,

  • Zephyr
  • Atalssian JIRA
  • SoapUI
  • Kanbanize
  • VSTS
  • Pivotal Tracker

These are some of the basic things about Agile methodology.

This Post is Shared by my friend 'Sneha Latha' who is working as a Team Lead. Thank You Sneha for your efforts...!!!