Basics of Agile Development
Summarize
Summary of Basics of Agile Development
This guide introduces the fundamentals of Agile Development, focusing on the Scrum methodology widely used for iterative product development. Scrum emphasizes fixed sprint schedules, continuous requirement testing, and defined roles such as product owner, scrum master, and team members to effectively manage and deliver value in software projects.
Show less
Key Concepts and Terminology
- Assignment Group/Agile Team: A group responsible for delivering Agile product development, with a scrum master ensuring adherence to Scrum activities.
- Epic: A high-level business requirement that delivers significant value and is broken down into smaller Agile stories.
- Story: Concise, manageable work units derived from epics, describing who, what, and why, to help with estimation and implementation.
- Scrum Task: Specific tasks needed to complete a story, generally requiring 4 to 12 hours each.
- Backlog: The prioritized list of work items including features, enhancements, and other development activities; it serves as the single source of work for a team or product.
- Personal Backlog: Customized work queues defined by product owners using flexible filters, enabling tailored prioritization.
- Sprints: Time-boxed periods where teams commit to completing a set of stories, allowing adaptability to changing priorities.
- Sprint Backlog: The collection of stories selected for a sprint during sprint planning.
- Theme: Business-focused areas that align with company goals and prioritize work across multiple epics.
- Product: Organizational entity grouping themes, epics, and stories related to a specific item or feature to be developed and released.
- Release: A development timeframe containing several iterations, managed by product owners, with associated stories forming the release backlog.
- Defects and Enhancements: Mechanisms to report issues and feature requests, which product owners review and convert into stories for development.
Scrum Activities
- Sprint Planning: Team collaboration to select and commit to stories for the sprint, defining necessary scrum tasks with product owner input.
- Daily Standup: Brief daily meetings for progress updates, planning work for the day, and identifying blockers.
- Sprint Review: End-of-sprint meetings to demonstrate completed work to product owners and gather feedback.
- Sprint Retrospective: Reflective sessions aiming to improve future sprint processes by discussing successes and challenges.
Reporting and Analytics
Scrum reports provide insights into team performance and progress across epics, sprints, and releases, offering historical velocity data. ServiceNow’s Performance Analytics Content Pack for Agile 2.0 includes pre-configured dashboards to support continuous Agile practice improvements.
Practical Application for ServiceNow Customers
By understanding these Agile Development basics and utilizing ServiceNow’s Agile Development 2.0 features, customers can effectively organize work through products, themes, epics, and stories, manage sprints with clear roles and activities, handle defects and enhancements systematically, and leverage reporting tools to optimize team performance and delivery timelines.
Scrum is one of the popular methodologies of Agile Development, which includes a fixed sprint schedule and regular requirements testing. These activities are performed by common roles such as product owner, scrum master, and group members. Learn about the basics of Agile Development process.
Scrum framework
- Assignment group or Agile team
Group of users who are involved in working on and completing the development for an Agile product. In Agile Development 2.0, this team is called as an assignment group.
In an assignment group, a user is designated as the scrum master, who is responsible to ensure that all the scrum activities are properly performed for a release. For more information, see Assignment groups in Agile Development 2.0.
- Epic
High-level definition of a requirement that provides value to the business, such as a new feature or a significant enhancement. Epics are broken down into Agile stories and can be worked on by a single or multiple teams.
- Story
Short, manageable pieces of work that are related to an epic. Stories capture the who, what, and why of a requirement in a simple and concise way. Using the description and criteria mentioned in the stories, teams can accurately estimate the effort required to implement the work in it.
- Scrum task
Distinct tasks that are required to complete a story. A task might require from 4 through 12 hours to complete.
- Backlog
List of work that must be implemented, as part of achieving specific outcomes. Backlog contains work related to new features, enhancements to existing features, and other activities of product development.
Backlog is considered as the single source of work for a product or team. Anything that is not included in the backlog would not be prioritized for development.
- Personal Backlog
Product owners define a personalized work pipeline called personal backlog, by applying relevant filter criteria. In Agile Development 2.0, product owners can define as many personalized backlogs as necessary. The criteria used to create the personalized backlog is flexible and can be modified at any time.
- Sprints
Short, fixed periods, in which team members pick and complete a set number of stories. These short, time-boxed cycles provide the teams the flexibility to adapt to changing priorities.
The cadence of recurrence for a sprint is decided by the development teams and the product owners. For example, a 10-day sprint, or a 1-week sprint.
- Sprint backlog
Scope of work for a sprint. Product owners and their development teams use the sprint planning activity to review their backlog and decide on the stories to be picked up for a sprint.
- Theme
Area of focus with an associated business value. A theme is related to one or more of the company's goals. Themes help you prioritize your work at a high level and can be associated with multiple epics.
- Product
Entity to organize themes, epics, and stories of similar functionality into a single context. A product represents an item or a feature that is to be developed and released to the market.
- Release
A release has a start and end date during which several development iterations are completed. Releases are created by a product owner and contain user stories, sometimes from multiple products and can also involve multiple teams. The stories associated to a release form its release backlog.
Note:In Agile Development 2.0, ensure that you create a product before you create themes, epics, or stories. You cannot submit these records without attaching them to a product.After creating stories and scrum tasks for your products, you can create a personalized backlog containing the stories from one or more of these products.
- Defects
-
Defects can be used to report and track the resolution of issues that are noticed during the development of a new feature, or as a feedback for existing features. Product owners then review these defects and decides on creating stories for them, which are assigned to the relevant assignment groups.
Using the Agile Development — Unified Backlog, you can set up a triage board to maintain a centralized backlog for records of different task types, such as defects, stories, and enhancements. For more information, see Agile Development — Unified Backlog.
- Enhancements
-
Enhancement requests can be used to log feature enhancements for a product. These requests can arise from internal requirements or customer feedback. Product owners review these logged requests and decides on creating stories for them based on priority. These stories are then assigned to the relevant assignment groups for development.
Using the Agile Development — Unified Backlog, you can set up a triage board to maintain a centralized backlog for records of different task types, such as defects, stories, and enhancements. For more information, see Agile Development — Unified Backlog.
Scrum activities
- Sprint planning
Assignment group members meet to decide on the stories that they can commit to deliver in the sprint. Typically, they commit to the top ranked stories first. The group decides which scrum tasks are necessary for each story. The product owner should be present to answer any questions.
- Daily standup
Assignment group members meet to discuss the progress of their work from the previous day, work planned for the current day, and any blockers. The daily standup keeps the group members focused on completing the stories for the current sprint and informs the scrum master of any blockers.
At the end of the sprint, all its stories should be complete. Any incomplete stories are moved back into the backlog, or a future sprint.
- Sprint reviews
Sprint review meetings are held at the end of each sprint. In these meetings, the assignment group reviews the work that they completed and demonstrate the newly developed features to their product owner.
- Sprint retrospectives
A retrospective meeting is conducted at the end of each sprint, to facilitate discussion between the group members on what went well and what did not. The goal of a sprint retrospective is to discuss ways to improve the execution of future sprints.
For details on how Agile Development 2.0 can help you manage your efforts of product development, see Agile Development process flow.
Scrum reports
Scrum reports help you analyze the performance and progress of your agile team. These reports can be related to an epic, sprint or release, and provide historical data of your team's work velocity. Performance Analytics Content Pack for Agile 2.0 provides pre-configured dashboards with data visualizations to help you improve your Agile practices.
For more information, see Performance Analytics Content Pack for Agile 2.0.