You will most likely hear the word "Agile" used multiple times in the Information Technology Industry. By definition, and according to the English dictionary, “Agile” means: "able to move quickly and easily”.
So, What is Agile really?
Agile is a method/process followed by a software development team to execute its project(s). It is an incremental, and iterative approach that helps teams to overcome the sometimes fast changing requirements/request of their clients. The motive of each iteration (process) is to provide continuous development and improvement.
The Story behind Agile...
In the past, software development between collected business needs and actual delivery of software could take up to 3 years duration, or sometimes even more. By the end of those three years, the business requirements could actually change, leading to either cancellations in project(s), or simply no longer meeting the needs of the client. As this approach became "non-productive", and an apparent problem within the software development practice; there became a need for a quick development, and a quick hands on approach.
The Agile Terminology
An Agile Method is an iterative software development methodology. Each iteration is referred to as "Sprint". This methodology involves continuous participation from business stakeholders (also known as product owners), scrum master, and testing and development team - as illustrated in the diagram above.
Scrum is a lightweight framework that implements Agile Methodology. There are many other Agile Method frameworks such as: Lean or Kanban, Extreme Programming (XP), Crystal, and Adaptive Project Framework (APF). Scrum is the most widely used process framework in Agile due to its less process overhead, and more productive time for useful work.
A Sprint in Agile Methodology is a time frame of an iteration. In this time frame, the work allocated to the team should be completed and be ready for review. The duration of a sprint is set by the team, and is generally kept short, varying from two to four weeks. Each sprint has work items called “Sprint Backlog”.
PRODUCT BACKLOG ITEMS
Product Backlog Items or PBI's are the business needs of the customer. It is a list of all work items to be done for the project. PBI's are created by Product Owners, or Scrum Masters. PBI's are information repositories, and a road-map for the teams to share, track, and deliver the project. PBI's can be written in the form of a user story, epic or even a use case.
PBI's are mostly written in the form of a User Story. A user story is written in simple language to describe, or apprehend a software feature from end user point of view. User stories are generally posted on a project management software shared by the team. It is commonly written by the business stakeholder or product owner.
SCRUM MASTER: A Scrum Master is a facilitator of the Scrum Process, who ensures smooth execution of a project, removes any roadblocks, and organizes the meetings. He/she is responsible for helping the team in decision making, and problem solving, so that the overall productivity of the team is increased. He/she is aware of the expected and actual project progress, has the power to investigate, and can resolve any bottlenecks affecting the project's efficiency.
PRODUCT OWNER: The Product Owner is a liaison between the actual customers, and the development team members. He/she is the only point of contact for all the product related information, such as user stories, implementation plan , bug fix requests, or change requests from customers. He/she also writes the user story, updates the PBI's, plans the release of completed PBI's, as well as checks the quality of the implemented features during demo's before making a final release call.
TEAM MEMBERS: A cross functional team of developers, and testers who are responsible for the development and testing of the product. These teams have a control of work items allocated to them. They are able to create sub tasks, assign tasks among team members, and make decisions on how to perform each task. A group of Team Members, Scrum Master, and Product Owner is called as SCRUM TEAM.
How is Agile Different from Waterfall?
Goals of Agile Approach
Collaboration between the development team and business people for the entire course of the project.
Self organization of teams.
Fast Product Launch in the shortest span of time.
Efficiency of team in terms of working software.
Improved customer satisfaction.
Flexible and adaptive to change requests.
Benefits of the Agile Approach
Focuses on rapid development and delivery of a project.
Shorter Sprints and constant feedback ensure that the client needs are fulfilled.
SCRUM Analytics helps in measuring the project progress and take immediate action in case of any deviations.
Companies can release the product to market while it is being developed. This helps to check the relevance of the product in the market, before the final product is delivered.
busyQA offers a Certified Scrum Master course - a professional development program designed for anyone considering a career in Agile Project Management. Typical career paths includes Scrum Master, Agile Coach, Project Manager, Project Coordinator, QA Lead, Developer Lead, and Product Management. This course runs for 8 weeks, with 3 hours of classroom training, and a 24/7 online lab training session with a working Scrum Master. See the course outline for more information.