Agile Software Development - An Overview
Introduction
In this post, I have articulated necessary information to give you an end to end understanding of Agile Software Development essentials at extremely high level. So would I recommend you pick each of the below topics and study in details to get a better understanding of the Agile Framework
In this fast-moving innovation times, one cannot imagine Software Development without Agile!!
Industry has adopted agile software development practices and has seen great values.
Waterfall approach of software development has dominated the industry for a long time. The entire product gets build in one go. First, all the requirements are documented, then entire design is put in place, then entire development happens, then testing, & finally one big product deployed at Live Environment. Customer needs to wait for months and years to experience the product.
That is what has been changed with Agile. Such long waiting time is over & Agile delights customers.
Let us understand the key moving parts in the entire Agile ecosystem.
Agile Drivers – ‘Why’ Agile
Speed to Market
Today’s customers demand an early product release. Speed to market is a differentiator. Every Business desire “I should be first to give the product to my end-users”.
Build small, Release small!
This simply translates to build early. However, it is impossible to build large scope early.
What is the option? Split large scope into multiple smaller scopes. Build a smaller scope in order & priority, test it, deploy it, release in the market.
Early feedback, Less rework
A continuous review by the Business on the incremental scope will prevent rework, promote better alignment, and control wastage of time, effort, money and keep the focus on what is expected.
Production ready stable product
Product is iteratively integrated and tested repeatedly with every new incremental development to continuously generate a releasable stable product.
Agile Key Roles
Product Owner
Product Owner works with business teams & engineering teams to define the requirements, prioritizes requirements, success factors, creates the stories, manage backlogs, explains the context to the developers & finally build the great products used by end customers.
Scrum Master
Scrum Masters are experts of Agile Frameworks & coaches’ developers, product owners and business teams on the agile scrum practices. They always look for improvement opportunities and ensure everyone involved in the execution must follow the agile standard framework.
Developer / Development Team
Developer’s code, test and deliver stories as per the planning. They work in collaboration with scrum master, product owner to decide on the sprint backlogs & shares on what improvements can be made on the agile practice.
Agile Framework – Modelling Business Requirements into Agile Constructs
Agile has defined a specialized framework to map the Business Vision / Strategy / Requirements etc. into a more formal way.
Some of the agile constructs like Themes, Initiatives, Epic and Stories are used to model the business requirements.
Theme
Organizations usually focus on couple of focus areas. You can consider each focus area represents one theme. These are labels aligned to organizational goals.
Initiative
Collection of Epics that drive towards a common goal. Initiatives usually spans over multiple quarters to get completed.
Epic
Large bodies of work that can be broken down into stories. An Epic usually spans over a single quarter to get completed.
Story
The small unit of work written from a user perspective. A story is usually completed within sprint length. Story is assigned to a developer.
Agile Framework – Popular Agile Execution Models
Scrum
It is a small window of preferred 2 weeks length with a fixed start date and fixed end date. The scope of the work is well defined. The scope includes set of stories assigned to developers with each story estimated with defined tasks and sub-tasks in hours.
Kanban
It is not a fixed window instead a running queue of stories picked, worked, and moved to the next step in workflow. It is an ongoing process.
Scrum Board & Kanban Board
It is a pictorial representation which organizes the work items across the pre-defined workflow stage with each stage defined by a column. Example Workflow looks like (To Do Items, InProgress Items, Code Review, Done Items)
领英推荐
Agile Framework – Backlogs
Product Backlog
It is a prioritized list of work for the development team. Product Owners does review this regularly to nail down all the details needed by developers to pick the items for Sprint Backlog.
Sprint Backlog
Represents selected list of stories chosen for the planned sprint.
Agile Framework – Estimations
Story Point
Stories are estimated in Story Points. Roughly 1 working day is considered as 1 Story Point. Example Story Points like 1,3, 5 etc.
T Shirt Sizing
Usually, Epics are estimated using the t-shirts sizes like S, M, L, XL i.e., Small, Medium, Large, Extra Large
Agile Framework – Ceremonies
Backlog Grooming
It is a pre-step to Sprint Planning Meeting primarily between Product Owner and Scrum Master (at times senior developers / dev leads are consulted / included) to review the stories and include additional / missing details to help speed-up the review for sprint planning.
Sprint Planning
During this meeting, Development team with Scrum Master & Product Owner finalizes the scope of the sprint and commit the stories.
Daily Standup
Short meeting of maximum 15 minutes. Conducted once a day among Development Team, Scrum Master and Product Owner. Team speaks what has been done yesterday & what is the plan for today and if there is any blocker.
Sprint Demo
Done conducted at the end of the sprint. Agile team shows the sprint accomplishments to the project stakeholders & collect feedback. Included participants are Development Team, Scrum Master, Product Owner
Sprint Retrospective
It is about what has worked for team & what has not worked. Focus of retrospective is to identify the solution and define an action plan for the identified gaps. This meeting is conducted at the end of sprint.
Agile Reports
Below are the two popular charts used & referred among many others in Agile Software Development.
Burndown chart
It is a pictorial view to show the completed work & the remaining work in a sprint. It indicates the chance of completing the pending work in the remaining time left.
Velocity chart
Track work from sprint to sprint to helps teams determine the velocity and better estimate the work a team realistically achieve in future sprints.
The velocity is determined by the work performed by agile team across multiple sprints. The reference helps in better estimating the work which can be completed in future sprints in a realistic manner.
Agile Tools
Some of the popular and standard Agile Software Development Tools are Jira, Rally, Trello, Azure DevOps.
Trello - https://trello.com/home
Azure DevOps - https://azure.microsoft.com/en-in/services/devops/
Agile Frameworks
Listing some of the popular framework content websites you can refer
SAFE – Scaled Agile Framework
You can refer the details @ https://www.scaledagileframework.com/
Agile Alliance
You can refer the details @ https://www.scaledagileframework.com/
Conclusion
In this post, I have summarized all keys components of Agile Software Development. Everything you need to know to get started in details of the Agile Software Development
.Net Senior Engineer @ Compass
3 年Great info !!
Solution Architect at KONE
3 年Informative post ??
ISTQB Certified Software Test Professional.
3 年Fantastic article for anyone who wants to get started with Agile development.
Digital Technology Advisor | Digital Transformation | Commerce | Marketing
3 年Well written 101 overview Sameer.
ERP Consultant | Data Specialist | Data Architect | Data Manager | IT Consulting
3 年A very informative post.