Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
KANBAN and TEAMWORK Natural User Interface Technology to Business
Erasmus Intensive Programme
LAHTI
HEIKKI PAANANEN - Lecturer, MSc (Econ)
Lahti University of Applied Sciences
THEMES IN THIS LESSON
Flexibility through
Agile project methods
Illustrating team’s work
with Kanban
Todo Ongoing Done
Lesson outline
• WHAT IS AGILE?
• Scrum in nutshell
• Kanban to bring visibility
What is Agile?
• Not trying to accomplish everything at once, but instead, slicing
the big goal into little ”iteration”
Easier to control the process of work
Easier for customer to see actual outcome
Monday
PROJECT START!
Tuesday Wednesday Thursday Friday PROJECT READY!
Illustrating figure outlines Adding background
Adding snowflakes Snow man’s hat adding colors and details
Agile rules & Manifesto
Agile methods drives for reasonable ratio between
documentation, design and implementation
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
The main focus is on customer satisfaction and
system that works
MA
NIF
ES
TO
Waterfall / Traditional Model
• Waterfall model
• Developed in 1970s
• Based on physical process models
• Software development process is seen as ”process flow” that is
hard or even unnecessary to halt & go backwards
Pre study
Analysis
Design
Implementation
Testing
Deployment
Maintenance
Good to understand what is needed in a software development project!
Traditional Waterfall development
R D C T
PR
OJEC
T DEA
DLIN
E
first time customer can see the
working system
All features under test
simultaneously at the end of the
project
Feature 1
Feature 2
Feature 3
Feature 4
As a generalization, waterfall contains 4 stages: Requirement (R) Design (D) Coding (C) Testing (T)
= RDCT
Project Outcome
100% ready
WATERFALL TIMELINE
Project Timeline End Start
Effo
rts
Development efforts
Testing efforts
Backlog Of unresolved defects
Development: • Strong emphasis on the 1st
half of the project Test: • Strong emphasis on the 2nd
half of the project Backlog of unresolved defects • Significant, asymmetric
peak towards end of the project
Does not sound good to have increasing number of defects so late in project?
Chart by: Stober & Hansmann, Agile Software Development, 2010
Evaluation of traditional Waterfall approach
POSITIVE
• Clear and ideallic model - giving information what tasks are needed in a
IT project
• Good for relatively small projects
NEGATIVE
• Customers cannot see working solution before second half of the
project
• Changes in requirements are difficult
• Does not give must flexibility at the end of the project
Agile methods going beyond waterfall
• Agile methods aims to:
• Verify customer wishes really early on the project
• Value & high quality by giving possibility to customer to alter the solution during the
development
• Instead of making all at once, everything is done ready
piece by piece
• Offering possibilities to customer to evaluate each improvement ”puzzle piece”
• Put focus on delivering fully working features
• Keeping current version as ready as possible
1st iteration RDCT
2nd iteration RDCT
3rd iteration RDCT
4th iteration RDCT
Final Product
Agile development approach
RDCT + RDCT + RDCT + RDCT
PR
OJEC
T DEA
DLIN
E
first time customer can see the working
system
”Features” built one by one 100% ready
(working solutions)
Iteration outcomes are always
integrated into main solution
(shippable solution)
MATURE AGILE TIMELINE
Project Timeline End Start
Effo
rts
Development efforts
Testing efforts
Backlog of unresolved defects
Development: • Continous development Test: • Continous testing Backlog of unresolved defects • Curve is quite flat through-
out the project
Agile drives for continous development and tackling of defects in really early Chart by: Stober & Hansmann, Agile Software Development, 2010
Slicing down Agile project [EXAMPLE]
• Project: ”Creating music player software for a customer”
Breaking system into smaller functionality pieces which are
developed and created one by one
Search functionality
Play functions
Browsing collection
Playlist
UI graphics
Further from design to implementation
• Agile gives possibilities to slice down the big system into
smaller parts through defining system with ”user stories”, a full
definition of particular use of the system.
• Customer can see in iterations (RDCT ) a fully functional
small part of the system in hand
PR
OJEC
T D
EAD
LINE
RDCT RDCT RDCT
User story 1: …browsing collection… User story 2: ..searching function
User story 3: …playing songs… User story 4: ..player functions User story 5: ..adding to playlist
User story 6: …playlist functions… User story 7: .. additional graphics…
Lesson outline
• What is agile?
• SCRUM IN NUTSHELL
• Kanban to bring visibility
Scrum in nutshell
24h
Product Backlog (maintained by
customer)
Sprint Backlog Sprint outcome
Increment
- Functionalities of the solution - Technical work, - Knowledge acquisition Priorized list!
Tasks decided in Sprint Planning
Daily Standup MEETING
1-4 weeks
SPRINT
Increments are integrated to earlier sprints’ outcomes
Shippable software product
Daily Standup 15min meeting. Every team member will speak: - What did I do yesterday? - What will I do today? - Are there any obstacles?
Scrum Agile methods in practice 2
Implementation and Developer
testing
Quality Assurance and
Acceptance testing
Evaluation / prioritization
Detailed requirements
Design & Analysis
Deployment
What a Scrum team does
Business owner
Product owner
Scrum master
SCRUM TEAM
SME
SME
SME = Subject Matter Expert
Business Owner: - Supplies resources to the scrum team - Helps resolve blocking points
Product owner: - Represents the Business owner and SMEs in team - Responsible for features, release date and content - Understands profitability of the product (ROI) - Prioritizes
Scrum Master: - Keeps the Process moving - Helps solve bloking points - Responsible for team ”health”
Subject Matter Expert (SME): - People who should be on the team but they are not - Have skills that the team needs
Development team: - Cross-functional (<7 members) - Determines & agrees team’s work - self-organizing
RDCT
Items in the backlog
• Items in the backlog are called User Stories
• ”Requests for valuable items”
• User story template according to Agile Consortium:
”As a <User Role>
I want <Something>
so that <Some value or benefit>”
For Developers, the ”I want” clause is what counts Functionalities
For Product Owner, the ”so that” clause is what counts Value
User Stories [Sample]
Purchase Train ticket Size: Large Value: 40
As a <ticket buyer> I want <to purchase a
train ticket to destination city> so that <I
have some way of paying for it that works>
Agreement:
This story is done when:
- A user can purchase a already-found
route ticket through the web interface
- The code has been peer reviewed
- The code is protected by unit tests, and
all passed in the integrated environment
- Purchasing done after the route is
searched and returned
Analyze shopping cart Size: Timeboxed 2 days
Agreement:
John Doe the analyst will be the Story-
boss:
- Identify SMEs (Subject Matter Experts)
and include them in the contacts list
- Meet SMEs, discuss and document
issues in wiki
-Generate First protype
Values and estimates are done by team
Creating estimates with Planning poker
Product owner
Scrum master
How long this story
will take? (in man-days)
Because…
3 5 1
3 7 3
After showing the cards, team members showing
biggest difference in estimation give their
arguements.
Because…
Every team member thinks of the man-days required
for the story, and then cards are put to table
simultaneously
=4
Team decided that estimation is
4
Lesson outline
• What is agile?
• Scrum in nutshell
• KANBAN TO BRING VISIBILITY
Kanban to bring visibility
• Literally meaning "signboard" or “Visual Card“
• Agile / ultra light method to improve project work visibility
• Pull-system: new work is taken under work when there exists
capabilities to handle it
• Kanban can be used to enhance any software development process
including Scrum, XP, Waterfall, and other methods
TODO ONGOING
DONE
Visualize your work with Kanban
GOAL is to illustrate
• Delivery of value
• “WHERE WE ARE at the moment with the project work”
• “WHAT WE SHOULD DO NEXT”
CORE PRINCIPLES
1. Bring visibility to FLOW OF WORK
• Visual model of your work and workflow
• Delivering tasks that create value
2. Limit unfinished tasks
• Minimizing WIP (Work In Progress), promoting quality, focus and finishing tasks. E.g.
WIP = 2, means that person is allowed to take work only worth 2 units
3. Focus on Flow
• Priorize tasks, executing most urgent work
4. Continuous Improvement
• Teams measure their effectiveness by tracking flow, quality, throughput, lead times
TODO ONGOING
DONE
CREATE TEST#1 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed
Storyboard during sprint
Backlog To Do WIP: 2
Ongoing Done
Bug Problem
Team member#1 Team member#2
Team member#3
Backlog items in user story form: ”as a sales clerk I want to list
customer…”
Tasks are small action items that are needed to create
functionalities for user story
USER STORY#3 As a player when I raise my hand above my head the color of the ellipse is changing to black
USER STORY#2 As a player I want to see two ellipse figures displayed on my hands
USER STORY#1 As a developer I want to connect Kinect into a computer and launch the program the controller ican be used from the SDK
CREATE TEST#2
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed
Connecting Kinect to Visual Studio
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed
Create function X
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed
Create architechture for feature
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed
Verify from customer requirements for feature
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed
Production tests Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed
User story Task
Get kinect drivers
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed
Install Kinect SDK
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed
Swimlanes to indicate work process needed. WIP restricts amount of work
- indicates how many items can be under work
Indicators to show who is doing what and if there exists
problems
CREATE TEST#1 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed
Alternative storyboard during sprint
Backlog To Do Code Done
Bug Problem
Team member#1 Team member#2
Team member#3
FEATURE”1 As a player when I raise my hand above my head the color of the ellipse is changing to black
FEATURE#2 As a developer I want to utilize
CREATE TEST#2
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed
Connecting Kinect to Visual Studio
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed
Create function X
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed
Create architechture for feature
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed
Verify from customer requirements for feature
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed
Production tests Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed
User story Task
Get kinect drivers
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed
Install Kinect SDK
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed
Test Release
In Progress as several columns
Using electronical Kanban Boards http://leankit.com/
Simple Example Starting point at the beginning of iteration
Planned tasks for the project
Simple Example (Work progressed)
Complex Example Starting point at the beginning of iteration
In progress lane organized to illustrate in which development
phase the user story is
• This approach is also possible, but more advanced • Recommendation is to keep the board simple
User Stories are containing all tasks as sub items inside the
card
Complex Example (Work progressed)
TODO for project teams
In teams that have been created, do following tasks:
1. Create your team space in http://leankit.com/
Create identifier / name for the group. It will be used in team space
URL: E.g. NUI_TEAM01.leankit.com …
Add all team members as users into project workspace
Sources for further details
Books
• Peter Schuh, 2005. Integrating Agile Development in the Real World. Charles River Media, Inc.
• Geoffrey Moore, 1991. Crossing the Chasm. (revised 1999). Harper Business Essentials
• Shalloway, Beaver & Trott, 2009. Lean-Agile software development: Achieving enterprise agility
• Welin, M. 2012. Agile Software Development. In publication: New Trends in Mobile and Web Development 2012. Lahti University of Applied Sciences. Tampere: Tampereen yliopistopaino Oy.
• Welin, M. 2012. Kanban in Software Development. In publication: New Trends in Mobile and Web Development 2012. Lahti University of Applied Sciences. Tampere: Tampereen yliopistopaino Oy.
Web resources
• www.crisp.se
• www.scrum.org
• www.scrumalliance.org
• www.kanban101.com
END