scrum, agile design, task calendars brent m. dingle, ph.d. “for the last few centuries, …...
TRANSCRIPT
Scrum, Agile Design, Task Calendars
Brent M. Dingle, Ph.D.
“For the last few centuries, … science has been attempting to break matter down into ever smaller bits, in the pursuit of understanding. And this works, to some extent... but putting things back together in order to understand them is harder, and typically comes later in the development of a scientist or in the development of science.”
- Nicholas A. Christakis, M.D., Ph.D.
Setup
• There are many books and theories and strategies on– Agile Design and SCRUM
• Go read them
• What follows is a simplified overview– With specific details for this course
• Every business manages things the same but different– This course is no exception
Main Points and Goals of Teamwork
• Everyone must work
• Communication must exist
• Team Progress must be measurable
• Individual Progress must be measurable
• Everyone is accountable
• Deadlines must be met– Product must be delivered
Traditional vs Scrum Comparison
• Command and Control
• Plan what you expect
• Enforce the plan, sometimes regardless of changing conditions
• Estimate everything up front
• Delivery at end (of contract)
TraditionalOld project management conceptswere not very adaptive
Planning was assumed to be absolutelycorrect at the beginningand nothing would go wrong
Most companies today have
switched to more
AGILEand adaptive management
and planning strategies…
Traditional vs Scrum Comparison
• Command and Control
• Plan what you expect
• Enforce the plan, sometimes regardless of changing conditions
• Estimate everything up front
• Delivery at end (of contract)
• Self-directed teams
• Learn as we go
• Plan for changes
• Embrace change to deliver best product
• Use Inspect and Adapt
• Continuous delivery of working functionality
Traditional ScrumWe will be using a SCRUMbased Agile Design Approach
Sprints
• Our application of SCRUMs and Agile Design
• Divides time into Sprints
– Typically each sprint is 2 weeks long
Summary Point
• Develop from Success to Success
Every Week
• Every week (roughly every Thursday night)
each team MUST create a build– It must be runnable and testable
• If something prevents the project from running– Then it is NOT done and should NOT be in the build– Test everything before committing
• This means– every Friday you have a deliverable product
• features should increase each week
Every Sprint
• The presentation minimally should– Demonstrate what was done/added/improved upon since the previous
sprint• Highlight what each team member contributed for the current sprint
– Indicate what will be done in the next sprint– Briefly mention anything preventing progress– Also
• Every team member should speak• The team should look like a team and act like a team throughout the presentation
• At the End of Every Sprint (roughly every 2 weeks)
each team will– Give a presentation and demo of the game (in-class)– Complete evaluations on other team members– Begin planning for next Sprint– Other tasks as needed
• check with instructors each sprint
What did you get done?
What will you do next?
What is in your way?
Continually think:
• Scrum is an iterative and incremental agile software development framework for managing software projects and product or application development.
• Scrum enables the creation of self-organizing teams by encouraging communication between all team members and disciplines in the project.
What is SCRUM
iterative incremental agile framework managingdevelopment
enables self-organizing teams by communication
• 1986: Scrum was first defined as – a flexible, holistic product development strategy
where a development team works as a unit to reach a common goal• Hirotaka Takeuchi and Ikujiro Nonaka • Paper: New New Product Development Game
ASIDE: In rugby football, a scrum refers to the manner of restarting the game after a minor infraction
How to SCRUM
• SCRUMs occur every day (every class)– Short status report of each team member– Answer 3 questions:
• What did you get done? (since the previous scrum)• What will you do next? (before the next scrum)• What is in your way?
Scrum Roles
• Who are the Participants– Scrum Team Members (“The Team”)– Scrum Master– Product Owner– Stakeholders / Everyone Else
The Students
The Instructor(s)
Sometimes a Student
Scrum Roles: Team and Ground Rules
• The key to Scrum is operating as a team
• The longer a team is together, the more effectively it operates
• Creating a set of “ground rules” may help create a more collaborative environment to operate within as a team
Scrum Roles: Scrum Master
• Facilitates the Scrum Framework– Upholds Scrum values and practices– Oversees the Scrum Meetings
• Helps the team be as efficient as possible– Works for the Team– Facilitates continuous improvement– Helps remove barriers
• Enables the team to accomplish Scrum
Scrum Roles: Product Owner
• Ultimate responsibility and authority– Interface to the customer– Conveys the vision to the team– Determines when a feature is done
• implicit link to quality
– Single person, not a committee– Is available to the team
Framework Overview
ProductBacklog Sprint
Backlog
Daily ScrumMeeting Potentially
Shippable(Incremental)
Product24 hours
1-5 weeks
SprintPlanning
Part 1
SprintPlanning
Part 2
SprintReview
SprintRetrospective
Start HereMove to the Right
Stories in the Product Backlog
• Features and requirements are tracked as Stories in the Product Backlog– Each story must contain
a description, priority, and estimate
For this course
(most) STORIES = ASSETS
Product Backlog = Master Task List
Sprint Planning – Part 1“The What”
What stories (tasks) are going to
be worked on this sprint?
Sprint Planning – Part II“The How”
Do any of the stories need to be
broken into tasks?
If you already decomposed
the game this should
be a simple activity
You now need “volunteers” to
work on each task needed for
the current sprint
The Daily Scrum
Remember to RecordTask Progress
Status your progress to the team
Keep track of
what you have done
what you are doing
and what you will be doing
Sprint Release
Check stuff into D2L
and
Create a marker point in the version
control system
Sprint Review/Demonstration
This is your presentation and
demo at the end of each sprint
Sprint Retrospective
• The Scrum Team– Possibly other stakeholders
• Purpose– Evaluate what is and is not working– Plan ways to improve– Document lessons learned– Inspect and Adapt opportunity – for the sake of the Team
• Output– Ways to improve as a team
• May be a change to process• Can be captured as a Story/Task and added to the product backlog
For this course This will usually (but not always) be
the teammate evaluations
Questions So Far?
INTERMISSION
• And now a word from our sponsors…
• then on to Task Calendars
Previously…
• Game Decomposes into Assets– may be high level placeholders
• scenes, objects, components
Previously…
• Game Decomposes into Assets– may be high level place markers
• scenes, objects, components
• Asset Identification leads toAsset Master List
Previously…
• Game Decomposes into Assets– may be high level place markers
• scenes, objects, components
• Asset Identification leads toAsset Master List
• Which leads toMaster Task List
ASIDE:
There may be tasks that are not asset tasks
ButAssets are the starting place
Previously…
• Master Task List– Priority, Estimated Time, Assigned To
• Set during Sprint Planning
Previously…
• Master Task List– Status and Actual Time
• Updated during SCRUM
Selfishness
• All that is teamwork
• Now it’s about YOU
• YOU must plan YOUR time and YOUR effort
Tasking Work
• At the beginning of each Sprint– roughly every other Monday
• each TEAM– must have an updated Master Task List
• MUST identify all tasks planned to be worked for current sprint– by who, at what priority, and what the estimated time of each is
• MUST show all tasks completed in previous sprints– identifying: who, priority, estimated time and actual time
• each individual– must have an updated task calendar
YOUR Task Calendar
• Your Task Calendar is derived from– your team’s Master Task List
• lists all the tasks you agreed to do for the current sprint• start here
– Consider the following example
• Susan has 8 tasks assigned for Sprint 1Example for Susan
• Susan has 8 tasks assigned for Sprint 1Example for Susan
Reduce to just Susan’s list
• Susan must plan out how to manage those 8 tasksExample for Susan
Reorder and add day info stuffto make aTask Calendar
• Susan must plan out how to manage those 8 tasksExample for Susan
Fill in the Expected Start Daymostly based on Priority
• Susan must plan out how to manage those 8 tasksExample for Susan
• This allows tracking of progress– Each day record the time spent on the task– If a task is completed record the day it happened
• These updates can be done during SCRUM or just before
Susan Task Calendar: Daily SCRUM updates
Asset Name PriorityEstimated
TimeExpectedStart Day
Done OnDay
Day1
Day 2
Day 3
Day 4
Day 5
Day 6
Day 7
Day 8
Day 9
Day 10
Day 11
Day 12
Day 13
Day14
Generic Button Image 1 1 1 1 1Play Game Button 1 1 1 1 1High Score Button 8 1 12 0Settings Button 8 1 12 0Credits Button 8 1 13 0Start Background Image 2 4 5 0Level 01 Background 1 4 2 0Level 02 Background 5 4 8 0
NOTE:Scene, Asset Identifier, Type exist in the table but are not shown so it can fit on the screen
On day 1 Generic Button and Play Game Button were worked on and completed No time was spent on other items
Susan Task Calendar: Daily SCRUM updates
Asset Name PriorityEstimated
TimeExpectedStart Day
Done OnDay
Day1
Day 2
Day 3
Day 4
Day 5
Day 6
Day 7
Day 8
Day 9
Day 10
Day 11
Day 12
Day 13
Day14
Generic Button Image 1 1 1 1 1 -Play Game Button 1 1 1 1 1 -High Score Button 8 1 12 0 0Settings Button 8 1 12 0 0Credits Button 8 1 13 0 0Start Background Image 2 4 5 0 0Level 01 Background 1 4 2 0 1Level 02 Background 5 4 8 0 0
NOTE:Scene, Asset Identifier, Type exist in the table but are not shown so it can fit on the screen
On day 2 Level 01 Background was worked on Nothing was completed No time was spent on other items
Susan Task Calendar: Daily SCRUM updates
Asset Name PriorityEstimated
TimeExpectedStart Day
Done OnDay
Day1
Day 2
Day 3
Day 4
Day 5
Day 6
Day 7
Day 8
Day 9
Day 10
Day 11
Day 12
Day 13
Day14
Generic Button Image 1 1 1 1 1 - -Play Game Button 1 1 1 1 1 - -High Score Button 8 1 12 0 0 0Settings Button 8 1 12 0 0 0Credits Button 8 1 13 0 0 0Start Background Image 2 4 5 0 0 0Level 01 Background 1 4 2 0 1 1Level 02 Background 5 4 8 0 0 0
NOTE:Scene, Asset Identifier, Type exist in the table but are not shown so it can fit on the screen
On day 3 Level 01 Background was worked on Nothing was completed No time was spent on other items
Susan Task Calendar: Daily SCRUM updates
Asset Name PriorityEstimated
TimeExpectedStart Day
Done OnDay
Day1
Day 2
Day 3
Day 4
Day 5
Day 6
Day 7
Day 8
Day 9
Day 10
Day 11
Day 12
Day 13
Day14
Generic Button Image 1 1 1 1 1 - - -Play Game Button 1 1 1 1 1 - - -High Score Button 8 1 12 0 0 0 0Settings Button 8 1 12 0 0 0 0Credits Button 8 1 13 0 0 0 0Start Background Image 2 4 5 0 0 0 0Level 01 Background 1 4 2 0 1 1 1Level 02 Background 5 4 8 0 0 0 0
NOTE:Scene, Asset Identifier, Type exist in the table but are not shown so it can fit on the screen
On day 4 Level 01 Background was worked on Nothing was completed No time was spent on other items
Susan Task Calendar: Daily SCRUM updates
Asset Name PriorityEstimated
TimeExpectedStart Day
Done OnDay
Day1
Day 2
Day 3
Day 4
Day 5
Day 6
Day 7
Day 8
Day 9
Day 10
Day 11
Day 12
Day 13
Day14
Generic Button Image 1 1 1 1 1 - - - -Play Game Button 1 1 1 1 1 - - - -High Score Button 8 1 12 0 0 0 0 0Settings Button 8 1 12 0 0 0 0 0Credits Button 8 1 13 0 0 0 0 0Start Background Image 2 4 5 0 0 0 0 0Level 01 Background 1 4 2 5 0 1 1 1 2Level 02 Background 5 4 8 0 0 0 0 0
NOTE:Scene, Asset Identifier, Type exist in the table but are not shown so it can fit on the screen
On day 5 Level 01 Background was worked on and completed It took 5 total hrs to complete which is 1 more than expected No time was spent on other items So Starting Background Image is behind schedule
Susan Task Calendar: Daily SCRUM updates
Asset Name PriorityEstimated
TimeExpectedStart Day
Done OnDay
Day1
Day 2
Day 3
Day 4
Day 5
Day 6
Day 7
Day 8
Day 9
Day 10
Day 11
Day 12
Day 13
Day14
Generic Button Image 1 1 1 1 1 - - - - -Play Game Button 1 1 1 1 1 - - - - -High Score Button 8 1 12 0 0 0 0 0 0Settings Button 8 1 12 0 0 0 0 0 0Credits Button 8 1 13 0 0 0 0 0 0Start Background Image 2 4 5 0 0 0 0 0 2Level 01 Background 1 4 2 5 0 1 1 1 2 -Level 02 Background 5 4 8 0 0 0 0 0 0Sprint1a Button Test -1 2 7
NOTE:Scene, Asset Identifier, Type exist in the table but are not shown so it can fit on the screen
On day 6 Start Background Image was worked on Nothing was completed No time was spent on other items A new immediate need task was added
Susan Task Calendar: Daily SCRUM updates
Asset Name PriorityEstimated
TimeExpectedStart Day
Done OnDay
Day1
Day 2
Day 3
Day 4
Day 5
Day 6
Day 7
Day 8
Day 9
Day 10
Day 11
Day 12
Day 13
Day14
Generic Button Image 1 1 1 1 1 - - - - - -Play Game Button 1 1 1 1 1 - - - - - -High Score Button 8 1 12 0 0 0 0 0 0 0Settings Button 8 1 12 0 0 0 0 0 0 0Credits Button 8 1 13 0 0 0 0 0 0 0Start Background Image 2 4 5 0 0 0 0 0 2 0Level 01 Background 1 4 2 5 0 1 1 1 2 - -Level 02 Background 5 4 8 0 0 0 0 0 0 0Sprint1a Button Test -1 2 7 7 - - - - - - 2
NOTE:Scene, Asset Identifier, Type exist in the table but are not shown so it can fit on the screen
On day 7 Sprint1a Button Test was worked on and completed No time was spent on other items
Susan Task Calendar: Daily SCRUM updates
Asset Name PriorityEstimated
TimeExpectedStart Day
Done OnDay
Day1
Day 2
Day 3
Day 4
Day 5
Day 6
Day 7
Day 8
Day 9
Day 10
Day 11
Day 12
Day 13
Day14
Generic Button Image 1 1 1 1 1 - - - - - - -Play Game Button 1 1 1 1 1 - - - - - - -High Score Button 8 1 12 0 0 0 0 0 0 0 0Settings Button 8 1 12 0 0 0 0 0 0 0 0Credits Button 8 1 13 0 0 0 0 0 0 0 0Start Background Image 2 4 5 0 0 0 0 0 2 0 1Level 01 Background 1 4 2 5 0 1 1 1 2 - - -Level 02 Background 5 4 8 0 0 0 0 0 0 0 0Sprint1a Button Test -1 2 7 7 - - - - - - 2 -
NOTE:Scene, Asset Identifier, Type exist in the table but are not shown so it can fit on the screen
On day 8 Start Background Image was worked on Nothing was completed No time was spent on other items Level 02 Background start is behind schedule
Susan Task Calendar: Daily SCRUM updates
Asset Name PriorityEstimated
TimeExpectedStart Day
Done OnDay
Day1
Day 2
Day 3
Day 4
Day 5
Day 6
Day 7
Day 8
Day 9
Day 10
Day 11
Day 12
Day 13
Day14
Generic Button Image 1 1 1 1 1 - - - - - - - -Play Game Button 1 1 1 1 1 - - - - - - - -High Score Button 8 1 12 0 0 0 0 0 0 0 0 0Settings Button 8 1 12 0 0 0 0 0 0 0 0 0Credits Button 8 1 13 0 0 0 0 0 0 0 0 0Start Background Image 2 4 5 9 0 0 0 0 0 2 0 1 1Level 01 Background 1 4 2 5 0 1 1 1 2 - - - -Level 02 Background 5 4 8 0 0 0 0 0 0 0 0 1Sprint1a Button Test -1 2 7 7 - - - - - - 2 - -
NOTE:Scene, Asset Identifier, Type exist in the table but are not shown so it can fit on the screen
On day 9 Start Background Image was worked on and completed Level 02 Background was worked on No time was spent on other items
Susan Task Calendar: Daily SCRUM updates
Asset Name PriorityEstimated
TimeExpectedStart Day
Done OnDay
Day1
Day 2
Day 3
Day 4
Day 5
Day 6
Day 7
Day 8
Day 9
Day 10
Day 11
Day 12
Day 13
Day14
Generic Button Image 1 1 1 1 1 - - - - - - - - -Play Game Button 1 1 1 1 1 - - - - - - - - -High Score Button 8 1 12 0 0 0 0 0 0 0 0 0 0Settings Button 8 1 12 0 0 0 0 0 0 0 0 0 0Credits Button 8 1 13 0 0 0 0 0 0 0 0 0 0Start Background Image 2 4 5 9 0 0 0 0 0 2 0 1 1 -Level 01 Background 1 4 2 5 0 1 1 1 2 - - - - -Level 02 Background 5 4 8 0 0 0 0 0 0 0 0 1 2Sprint1a Button Test -1 2 7 7 - - - - - - 2 - - -
NOTE:Scene, Asset Identifier, Type exist in the table but are not shown so it can fit on the screen
On day 10 Level 02 Background was worked on Nothing was completed No time was spent on other items
Susan Task Calendar: Daily SCRUM updates
Asset Name PriorityEstimated
TimeExpectedStart Day
Done OnDay
Day1
Day 2
Day 3
Day 4
Day 5
Day 6
Day 7
Day 8
Day 9
Day 10
Day 11
Day 12
Day 13
Day14
Generic Button Image 1 1 1 1 1 - - - - - - - - - -Play Game Button 1 1 1 1 1 - - - - - - - - - -High Score Button 8 1 12 0 0 0 0 0 0 0 0 0 0 0Settings Button 8 1 12 0 0 0 0 0 0 0 0 0 0 0Credits Button 8 1 13 0 0 0 0 0 0 0 0 0 0 0Start Background Image 2 4 5 9 0 0 0 0 0 2 0 1 1 - -Level 01 Background 1 4 2 5 0 1 1 1 2 - - - - - -Level 02 Background 5 4 8 0 0 0 0 0 0 0 0 1 2 2Sprint1a Button Test -1 2 7 7 - - - - - - 2 - - - -
NOTE:Scene, Asset Identifier, Type exist in the table but are not shown so it can fit on the screen
On day 11 Level 02 Background was worked on 5 hrs now have been spent, so time estimate was low(?) Nothing was completed No time was spent on other items
Susan Task Calendar: Daily SCRUM updates
Asset Name PriorityEstimated
TimeExpectedStart Day
Done OnDay
Day1
Day 2
Day 3
Day 4
Day 5
Day 6
Day 7
Day 8
Day 9
Day 10
Day 11
Day 12
Day 13
Day14
Generic Button Image 1 1 1 1 1 - - - - - - - - - - -Play Game Button 1 1 1 1 1 - - - - - - - - - - -High Score Button 8 1 12 0 0 0 0 0 0 0 0 0 0 0 0Settings Button 8 1 12 0 0 0 0 0 0 0 0 0 0 0 0Credits Button 8 1 13 0 0 0 0 0 0 0 0 0 0 0 0Start Background Image 2 4 5 9 0 0 0 0 0 2 0 1 1 - - -Level 01 Background 1 4 2 5 0 1 1 1 2 - - - - - - -Level 02 Background 5 4 8 12 0 0 0 0 0 0 0 0 1 2 2 3Sprint1a Button Test -1 2 7 7 - - - - - - 2 - - - - -
NOTE:Scene, Asset Identifier, Type exist in the table but are not shown so it can fit on the screen
On day 12 Level 02 Background was worked on and is completed but 8 hrs now have been spent, so time estimate was very low(?)No time was spent on other items Play Game and High Score buttons start is now behind schedule
Susan Task Calendar: Daily SCRUM updates
Asset Name PriorityEstimated
TimeExpectedStart Day
Done OnDay
Day1
Day 2
Day 3
Day 4
Day 5
Day 6
Day 7
Day 8
Day 9
Day 10
Day 11
Day 12
Day 13
Day14
Generic Button Image 1 1 1 1 1 - - - - - - - - - - - -Play Game Button 1 1 1 1 1 - - - - - - - - - - - -High Score Button 8 1 12 13 0 0 0 0 0 0 0 0 0 0 0 0 1Settings Button 8 1 12 13 0 0 0 0 0 0 0 0 0 0 0 0 1Credits Button 8 1 13 13 0 0 0 0 0 0 0 0 0 0 0 0 1Start Background Image 2 4 5 9 0 0 0 0 0 2 0 1 1 - - - -Level 01 Background 1 4 2 5 0 1 1 1 2 - - - - - - - -Level 02 Background 5 4 8 12 0 0 0 0 0 0 0 0 1 2 2 3 -Sprint1a Button Test -1 2 7 7 - - - - - - 2 - - - - - -
NOTE:Scene, Asset Identifier, Type exist in the table but are not shown so it can fit on the screen
On day 13 Play Game, High Score, and Setting buttons were worked on and completed No time was spent on other items
Susan Task Calendar: Daily SCRUM updates
Asset Name PriorityEstimated
TimeExpectedStart Day
Done OnDay
Day1
Day 2
Day 3
Day 4
Day 5
Day 6
Day 7
Day 8
Day 9
Day 10
Day 11
Day 12
Day 13
Day14
Generic Button Image 1 1 1 1 1 - - - - - - - - - - - - -Play Game Button 1 1 1 1 1 - - - - - - - - - - - - -High Score Button 8 1 12 13 0 0 0 0 0 0 0 0 0 0 0 0 1 -Settings Button 8 1 12 13 0 0 0 0 0 0 0 0 0 0 0 0 1 -Credits Button 8 1 13 13 0 0 0 0 0 0 0 0 0 0 0 0 1 -Start Background Image 2 4 5 9 0 0 0 0 0 2 0 1 1 - - - - -Level 01 Background 1 4 2 5 0 1 1 1 2 - - - - - - - - -Level 02 Background 5 4 8 12 0 0 0 0 0 0 0 0 1 2 2 3 - -Sprint1a Button Test -1 2 7 7 - - - - - - 2 - - - - - - -
NOTE:Scene, Asset Identifier, Type exist in the table but are not shown so it can fit on the screen
On day 14 All assigned tasks were already completed so no tasks needed to be worked
And this is expected It is a presentation and planning day
Summary
• Teams– Maintain a Master Task Schedule
• All tasks should have a description sheet– Best to create/draft them as a team during Sprint Planning– Asset sheets describe
what is expected to be produced for asset based tasks– Other tasks should also have a description sheet of some kind
• But For “obvious” things the description sheet is often skipped
• Individuals– Maintain a Task Calendar
• Update these during SCRUM
The End
• Questions?
• Additional material may exist past this slide– For practice and/or references