An Easy Guide to the Basic Units of Agile Software Development
Agile software development is the most user-focused, quality-driven, and fast-delivering software development approach. This approach gives attention from large to minute details of the business requirements. The requirement flow in the process can be explained as a chain process. It starts with Business goals and ends with the subtask and bugs.
Here’s a pictorial representation of the business requirement:
The major components in the agile best practices are:
3. User Stories
The team works on each task to fulfill the end business goal of the product or service.
What is a Business Goal (Initiative)?
This will be a very high-level description of our product or service. In simple words, we can say it as the end result that the team wants to achieve at the end of the project development period.
Achieving this business goal will be a prolonged process as we want to finish several epics to accomplish that. In the normal software development process, the business goal will be an entire project delivery or the completion of a project phase.
E.g. A real estate platform that offers Buy, Sell and Renting services for properties.
What are Themes?
The themes are pieces of the high-level requirements of the product or services. This is a wide focused product/service requirement that is formulated in the very initial stage of the project execution period.
In simple terms, a theme is a group of Epics/user stories that share a common characteristic, elements or idea in the products or service.
E.g. In a real estimate platform, we can say “Buy module” is a theme. There are several functionalities that come under this module but all these parameters are correlated with the parameter “Buying process”.
What are Epics?
The epics are the features/functionalities of the platform that generates a measurable output on completion. In simple terms, an Epic is a combination of the interdependent smaller unit of work called user stories. This is a more defined form of a requirement when compared with the Themes.
In projects, Epics can be a functionality/feature list or a more granular business requirement listing with a brief description of the required output. This is normally prepared by the Product Owner on the requirement elicitation stage once they have a clear projection of the project or the current project phase. Normally It will take more than one sprint to complete an epic as it is a large work unit.
E.g. In a real estate platform, the following can be Epics :
Find properties option for the Buyer: Give an option for the buyer to search or filter the properties in the property listing page for finding the best matching properties from the listing.
Add properties option for the Seller: The seller can list their properties in the platform by entering all the details and it will be listed on the website on admin approval.
What is User Story?
Stories are the most fundamental and widely used unit of agile project development. And this is the most understandable, detailed and non-technical explanation of the requirement that helps the entire team to take a close look at the customer/business need. It answers the ‘who’, ‘what’ and ‘why’ of a feature in a simple language.
When compared with all the above units, it has a very defined structure that explains the functionality from a user’s perspective.
What is Acceptance Criteria?
We normally write acceptance criteria with the user story which helps the team to think through the process while building the feature and will get a clear idea about the expected outcome.
Acceptance criteria can be defined as a checklist that lists out all the parameters of the user story that have to be completed as part of the development. Normally, the Product Owner of the project is responsible for writing the acceptance criteria for each user story.
E.g. Let’s write the user story and acceptance criteria of “Find property feature”
User Story: As a Buyer, I should be able to search for properties in the property listing page using the parameter – Location, Property Name, and Amenities.
• There should be a search bar at the top of the listing page.
• The user should have an option to select the search parameter dropdown menu on the right side of the search
bar. The search parameter options should be Location, Property Name, and Amenities.
• In default, the Location option should be shown as selected in the search parameter dropdown menu.
• Based on the selected parameter, the user should be able to search the property.
• The suggestions should be shown on typing the search keyword in the search bar.
• The user should be able to select the suggestion to receive matching results on the listing page.
What are Tasks?
The tasks are a specific and time-bound piece of work. The scrum team will list out all the tasks coming under the user story during the sprint planning meeting. And the team has to complete all the tasks under the user story for the successful completion of that specific user story.
Agile practices always recommend keeping the tasks small enough so that they can be done in a day or less. So, the task movement will be more frequent helping the scrum team to keep track of the sprint in an effective way.
E.g. API creation of Find property
The foundation of a successful sprint lies with having a good insight into the product requirements. A perfect sprinting helps the team to granularize the business goal into tasks. This requirement granularization helps to simplify the entire sprint processes and make the agile teamwork efficiently and productively.
The Goals, Themes, Epics, Stories, and Tasks are the primary outcomes of this granulation process and this helps the Scrum Team to get a crystal clear idea about the product.