Basics of Agile Development
Summarize
Summary of Basics of Agile Development
This guide introduces the fundamentals of Agile Development, focusing primarily on the Scrum framework. Scrum utilizes fixed sprint schedules and regular requirements testing, involving key roles such as product owners, scrum masters, and team members (assignment groups). It is designed to help ServiceNow customers manage product development efficiently by breaking down work into manageable units and maintaining adaptability through iterative cycles.
Show less
Key Concepts and Terminology
- Assignment Group / Agile Team: A group responsible for completing development work. The scrum master within this group ensures proper execution of scrum activities.
- Epic: A high-level business requirement or feature that delivers value, broken down into multiple stories.
- Story: A concise, manageable piece of work derived from an epic, capturing the who, what, and why, enabling accurate effort estimation.
- Scrum Task: Specific tasks required to complete a story, typically taking 4 to 12 hours each.
- Backlog: The prioritized list of work items (features, enhancements, defects) that constitute the source of development tasks.
- Personal Backlog: Customizable filtered views of backlog items created by product owners to manage their work pipeline effectively.
- Sprints: Time-boxed periods (e.g., 1 week or 10 days) during which teams commit to completing a set of stories, enabling flexibility to respond to changing priorities.
- Sprint Backlog: The selected scope of work for a sprint, decided during sprint planning.
- Theme: A business-focused area tied to company goals, used to prioritize work across multiple epics.
- Product: An entity organizing related themes, epics, and stories, representing a feature or item to be developed and released.
- Release: A time-bound period covering multiple development iterations, containing a release backlog of user stories possibly spanning multiple products and teams.
- Defects and Enhancements: Defects track issues found during development or feedback, while enhancement requests log feature improvements. Both are reviewed by product owners to create prioritized stories assigned to relevant teams.
Scrum Activities
- Sprint Planning: The team selects stories to commit to for the sprint and identifies necessary tasks, with product owner involvement for clarifications.
- Daily Standup: Short daily meetings where team members discuss progress, plans, and obstacles, keeping focus aligned and surfacing blockers to the scrum master.
- Sprint Review: Held at sprint end to demonstrate completed work to the product owner and review progress.
- Sprint Retrospective: A session to reflect on what worked well and what can be improved for future sprints, fostering continuous improvement.
Reporting and Analytics
Scrum reports provide insights into team performance and progress across epics, sprints, and releases, offering historical velocity data. The Performance Analytics Content Pack for Agile 2.0 delivers pre-configured dashboards and visualizations to help teams enhance their Agile practices.
Practical Application for ServiceNow Customers
By understanding and applying these Agile Development concepts within ServiceNow, customers can effectively organize and prioritize work, ensure transparent communication among teams, manage defects and enhancements systematically, and leverage analytics to continuously improve delivery processes. Creating products before defining themes, epics, or stories is essential, and personalized backlogs allow tailored views for product owners to manage priorities efficiently.
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.