Scrum Development with JIRA & JIRA Agile
The Basics
By scmGalaxy.com
About Me
DevOps@RajeshKumar.XYZ
Who This Course is For
Course Overview
- Concepts
- Agile Development & Scrum
- JIRA & JIRA Agile
- Getting Started
- What do you need?
- Your project
- Sprint Planning & Spring Retrospective
- Get the ball rolling… over and over again (successfully!)
- Epics, stories and tasks & estimates
- Improving your process
Course Overview
- Scrum & Sprints
- Keeping your Project Moving and Under Control
- BurndownChart & Velocity
- Conclusion & Extensibility
- Let’s wrap up
- What if I need something that is not available?
Scrum Development with JIRA & JIRA AgileConcepts
Agile Development
“Agile software developmentis a group ofsoftware development methodsbased oniterative and incremental development, where requirements and solutions evolve through collaboration between self-organizing,cross-functional teams”
Scrum
- Iterative and incremental Agile framework
- Managing software projects and product/application dev
- Focus
- "a flexible, holistic product development strategy where a development team works as a unit to reach a common goal“
vs.
- “Traditional, sequential approach“
- Key principle
- Recognize that requirements can change
- JIRA can help us
JIRA Agile for Scrum
- Issue tracker & extensible platform
- Prioritize, assign, track, report & audit your tasks (issues)
- Projects
- Components
- Versions (milestones)
- Issues
- Issue types
- Subtasks
- And more…
JIRA Agile for Scrum
User Stories, Epics and Themes
- Theme
- Top level objective that spans products/projects
- User story
- Short description of a functionality
- INVEST: Independent, Negotiable, Valuable, Estimatable, Small, Testable requirement
- Epic
- Collection of stories in the roadmap
- Task
- Punctual to do or action item
Product Owner, Scrum Master, Team Member
- Product Owner
- Final authority on requirements
- Prioritize backlog and provide clear requirements
- Team members
- Cross functional, autonomous, self organizing
- Project manager, developer, tester, Swiss Army Knife, CTM, TOC
- Scrum master
- Facilitator, negotiator, responsible for guiding team
- Removes impediments or finds someone that can
Product Backlog
- Feature list → User stories
- Features, bugs, technical work, information, …
- Not required to be complete at the beginning
- Prioritized for the…
Sprint Planning Meeting
- Committed parties involved
- Product owner, team members
- Other parties can attend as listeners
- PO describes highest priorities
- Detailed tasks created and assigned
- Objectives:
- Sprint goal
- Sprint backlog
- Looking ahead recommended
Daily Scrum
- Moderated by scrum master
- 15 min, time boxed, usually in the morning/same location
- Every attendee
- What did you do yesterday?
- What will you do today?
- Is there any impediment on your way?
- Scrum master helps remove impediments
- State of affairs
BurndownChart & Velocity
- Burndownchart
- Graphical representation of work pending vs. time left
- Are you going to make it?
- Velocity
- Amount of work per particular sprint
- Helpful in planning upcoming sprints
- Dynamic
Sprint Retrospective
- Objective: determine ways to improve at end of sprint
- Suggestion: (What should we…)
- Start doing?
- Stop doing?
- Continue doing?
- Prioritize
- Work on improving
Sprint Retrospective
Sprint Review
- Goal: Ship Ready State!
- Scrum → Deliver Potentially Shippable Product
- Hold a meeting to present the outcome
- Typically a demo
- Assessed towards the sprint goal
Sprint Review
JIRA Agile
- JIRA’s way of Agile project management
- Scrum
- Create and estimate stories, build and prioritize backlog, team commitment, velocity, …
- Based on 3 boards:
- Planning Board
- Task Board
- Chart Board
- Details soon!
Scrum Development with JIRA & JIRA Agile
Getting Started
Getting Started With Scrum and JIRA
Welcome to your project!
The Boards
- New boards!
- Plan
- Plan sprints
- Start Sprint to move it into Work mode
- Work
- Transition issues through multiple statuses
- Report
- Monitor progress
- Reports are board specific
- BurndownChart, Control Chart, Cumulative Flow Diagram, Epic Report, Sprint Report, Velocity Report, Version Report
Plan Mode
Work Mode
Report Mode
Create Your Own Board
Classic Boards
- Not actively developed
- Not recommended for new projects
- Use the new boards!
Classic Boards
Project Overview & Administration
- Overview
- Issues, Agile, Reports, Popular Issues, Labels
- Administration
- Issue Types, Versions, Workflows, Components, Roles, Screens, Permissions, Notifications, Fields, Development Tools, Settings, …
Project Overview & Administration
Backlog
- Backlog ready?
- Next step? Plan!
Backlog
Scrum Development with JIRA & JIRA Agile
Sprint Planning & Sprint Retrospective
Sprint Planning Meeting
- Use Plan Mode
- Describe highest priorities on beginning of Sprint
- Create detailed tasks, estimate and assign
- Artifacts: sprint goal and sprint backlog
Sprint Planning Meeting
In Plan Mode You Can...
- Prioritiseyour backlog
- Create sub tasks from stories
- Estimate, assign and rank
- Logically group into epics
- Add to sprints
- Start a sprint
- Come back to do more planning
Let’s take a look...
|
|
Rules of Common Sense
- Scope creep
- Avoid or at least control
- Realistic expectations
- Golden triangle!
|
|
Sprint Retrospective Meeting
- Start-Stop-Continue approach
- Use the Sprint Report
- Define how you will improve next sprint
|
|
Sprint Review
- Usually does not involve JIRA
- Demo mode
- Break a leg!
Summary
- Sprint Planning Meeting gets you started
- Assign, track, estimate, rank
- Commit to a body of work
- Get people working!
- Sprint Retrospective
- Think of it as auditing your own process
- Check if you improved what you committed to in previous retrospective
- Start-Stop-Continue
- Commit to improving
- Sprint Review
- Dog & Pony!
- Show your work
Scrum Development with JIRA & JIRA Agile Scrum & Sprints
Daily Scrum
- Time box, same time/place, usually morning and really standing up!
- Use Work Mode
- Visualize
- What did you do yesterday?
- What will you do today?
- Is there any impediment on your way?
Daily Scrum
In Work Mode You Can...
- Use it during Scrum
- Work on Issues
- Release a version and more...
In Work Mode You Can...
Report Mode
- Visualize and control project progress
- Reports are board specific
- Available Scrum boards only
- BurndownChart, Epic Report, Sprint Report, Velocity Chart, Version Report
- General availability
- Control Chart, Cumulative Flow Diagram
Report Mode
Burndown Chart
- Actual vs. Estimated amount of work for a sprint
- X axis → time
- Y axis → issues
- Objective: determine in advance the possibility of finishing on time
Burndown Chart
Sprint Report
- List of issues for each Sprint
- Useful for the Sprint Retrospective meeting and mid checks
- Shows information on initial team commitment
Sprint Report
Epic Report
- Useful for Epics as they may span multiple Sprints
- List of complete, incomplete and unestimatedissues in an Epic
- Understand progress towards completing an epic over time
Epic Report
Version Report
- Team’s progress towards completion of a Version
- Predicted Release Date
- Based on average rate of progress (Velocity) since start of version
- Estimated amount of work remaining
Version Report
Velocity Chart
- Amount of value delivered in each sprint in Story points
- Helps you predict amount of work for future Sprints
- Useful during Sprint Planning meeting
- Recorded at the time of Sprint start
- Changes are not reflected
Velocity Chart
Control Chart
- Shows “cycle time” or “lead time” for your issues
- Cycle: from start progress to work completed
- Lead: from issue logged until work completed
- Can current sprint data be used to estimate future performance?
- Less variation in cycle time means higher confidence in using an average as metric of future performance
Control Chart
Cumulative Flow Diagram
- Area chart that shows Status over time
- i.e. How many issues in progress on a daily basis
- Widening area → Bottleneck!
Cumulative Flow Diagram
Gadgets
- Dashboards are a very powerful feature of JIRA
- Collection of add-ons plus Agile and Classic Agile gadgets
- Provide status and overview of all sorts of KPI
- Build dashboard specifically to suit your needs
Gadgets
Additional JIRA Reports
- JIRA provides non Agile specific reports
- Available from Project Overview > Reports
- Useful information to keep your project under control
Additional JIRA Reports
Average Age Report
Created vs. Resolved Issues Report
Pie Chart Report
Recently Created Issues Report
Resolution Time Report
Single Level Group By Report
Time Sheet Report
- Hours not used in Agile, only Story points
Time Since Issues Report
Time Tracking Report
- Hours not used in Agile, only Story points
User Workload Report
- Hours not used in Agile, only Story points
Version Workload Report
- Hours not used in Agile, only Story points
Workload Pie Chart Report
- Hours not used in Agile, only Story points
Create Your Own Reports
- Create any report you can think of (and JQL-it!)
- Create a filter
- Create a dashboard
- Add one of the Gadgets
- Get the info you need!
|
|
About Reporting
- JIRA Agile provides vast information in Report Mode
- Also available JIRA’s OOTB reports
- Create your own reports
About Reporting
Scrum Development with JIRA & JIRA Agile Conclusion
JIRA Agile for Agile Scrum Development
- Manage your Agile Scrum Project
- Using JIRA Agile as your ally
- Manage your project vs. letting your project manage you
- Firefighter mode –avoid like the plague
- “Fail to prepare, prepare to fail”
Project
- Start by creating your project in JIRA
- Select type Agile Scrum
Project
The Team
- Committed
- Product Owner
- Scrum Master
- Team Members
- Involved
- Stakeholders
- Customers
- Executive team
|
|
Requirements: User Stories and Epics
Sprint Planning Meeting
- Prioritize, estimate and create sub tasks (every sprint…)
- Sprint goal
- Commit
Sprint Planning Meeting
Daily Scrum
- Time boxed 15 minutes
- Communication & collaboration meeting
- Scrum master moderates and removes impediments
- Every attendee
- What did you do yesterday?
- What will you do today?
- Is there any impediment on your way?
|
|
Sprint Retrospective
- Once Sprint is complete
- Suggestion: (What should we…)
- Start doing?
- Stop doing?
- Continue doing?
- Prioritize, vote, act
|
|
Reports
- Help you understand state of affairs
- Multiple JIRA Agile reports
- JIRA general reports
- Build your own report
Reports
Sprint Review
- Dog & Pony
- Break a leg!
- Show what you’ve done
Multiple Teams –Same Project
- You may want to manage several teams in a single project
- Use Parallel Sprints
- Currently part of JIRA Agile labs
Multiple Teams –Same Project
Issues Not Shown in Columns
- A status not mapped is an issue not shown
- This is an easy to make mistake
Issues Not Shown in Columns
Completing Sprint With Unfinished Subtask
- Cannot complete a sprint if a sub task is open but the parent task is resolved
- I usually convert subtask to task
- Other people reopen parent and move everything to next sprint
- And the complete sprint
Completing Sprint With Unfinished Subtask
Sub-tasks Not Visible in Plan Mode
- They are not visible
- No way around it at this point
Sub-tasks Not Visible in Plan Mode
JIRA Agile Configuration
- JIRA Agile Configuration, Project Templates, Enabled Projects
- Used for configuration of Classic Boards
- Use the new ones
JIRA Agile Configuration
Epic Migration
- Migrate old Epics (Greenhopper) to new Epics
- Once you migrate, old epics are not synchronized
Epic Migration
Keyboard Shortcuts
- Be efficient! Learn the shortcuts
Keyboard Shortcuts
Marketplace
- Don’t reinvent the wheel
- Somebody might have already created what you need
Marketplace
Remote API
- If not available or you want to build it yourself?
- Remote API →Suggest REST
- Deprecated options also available
Remote API
Plugin Framework
- Want to build your own add-on?
- You can also post it to the Marketplace!
Plugin Framework
JIRA Source Code
- Commercial users receive access to JIRA’s source code
- Change, customize and redeploy
JIRA Source Code
Questions?
The End
- Thanks for your time!
- Happy scrumming
- May your project be successful!
Thank You!