HOW TOHOW TO
เสร็จเร็วเสร็จเร็ว
https://www.flickr.com/photos/ileohidalgo/12886550354
Jirayut Nimsaeng
Why did your projects succeed or fail?
What caused our projects to fail? What caused our projects to succeed?
Jirayut Nimsaeng
Jirayut Nimsaeng
Most IT projects fail. And are late
The Standish Group has studied over 40,000 projects in 10 years.
http://www.versionone.com/assets/img/files/CHAOSManifesto2013.pdf
Average cost & time overrun: ≈70%
IT project success rate 2004: 29%
Average cost & time overrun: ≈66%
IT project success rate 2012: 39%
Plan: 1,0000,000
Actual: 1,700,000
Plan: 1,0000,000
Actual: 1,660,000
Never
45%
Always
7%
Often
13%
Sometimes
16%
Rarely
19%
Half of the stuffs
are never used!
Features and functions used
Standish group study reported at XP2002 by Jim Johnson, ChairmanJirayut Nimsaeng
Large vs. Small
Successful
76%
Challenged
20%
Failed
4%
Small Projects
Failed
38%
Challenged
52%
Success
10%
Large Projects
http://www.versionone.com/assets/img/files/CHAOSManifesto2013.pdfJirayut Nimsaeng
Henrik’s Lean & Agile
Large = Cannon Ball
Jirayut Nimsaeng
Jirayut Nimsaeng Henrik’s Lean & Agile
Agile = Homing Missile
Agile = Small + Incremental
Don't try to get it all right
from the beginning
Don't build it all at once
Henrik’s Lean & AgileJirayut Nimsaeng
Not “Horizontal” increments but “Vertical”
Henrik’s Lean & AgileJirayut Nimsaeng
Resource optimization vs Time-to-market optimization
Silo Team vs Cross-funtional Team
Client Team
Server Team
Dev Team
Tester Team
User needs
Specialize Tasks
Henrik’s Lean & AgileJirayut Nimsaeng
How long does it take to write a name?
Jirayut Nimsaeng
Setup
Dev Team
Clients
Jirayut Nimsaeng
Round 1
Dev Team
Clients
Never keep a
customer waiting
Policy
Jirayut Nimsaeng
Round 2
Dev Team
Clients
Request one
customer at a time
Policy
Jirayut Nimsaeng
Minimize distance between Maker and User
Jirayut Nimsaeng Henrik’s Lean & Agile
Fastest learner wins!
Delivery frequency = Speed of learning
It is not the strongest
species that survive,
nor the most intelligent,
but the ones most
responsive to change.
Jirayut Nimsaeng Henrik’s Lean & Agile
Jirayut Nimsaeng Scrum Master by Odd-e
We are uncovering better ways of developing
software by doing it and helping others do it.
Through this work we have come to value:
That is, while there is value in the items on
the right, we value the items on the left more.
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
Manifesto for Agile Software Development
Jirayut Nimsaeng http://agilemanifesto.org
เราค้นพบวิธีที่ดีกว่าในการพัฒนาซอฟท์แวร์
จากการลงมือทำาจริงและช่่วยเหลือผู้้อื่น
นั่นคือ เราให้ความสำาคัญกับ
ทั้งนี้ แม้เราจะเห็นความสำาคัญในสิ่งที่กล่าวไว้ทางด้านขวา
แต่เราให้ความสำาคัญกับสิ่งที่กล่าวไว้ทางด้านซ้ายมากกว่า
คนและการมีปฎิสัมพันธ์กัน มากกว่า การทำาตามขั้นตอนและเครื่องมือ
ซอฟต์แวร์ที่นำาไปใช้งงานได้งจริง มากกว่า เอกสารที่ครบถ้วนสมบ้รณ์
ร่วมมือทำางานกับลกกคงา มากกว่า การต่อรองให้เป็นไปตามสัญญา
การตอบรับกับการเปลี่ยนแปลง มากกว่า การทำาตามแผูนที่วางไว้
คำาแถลงอดด้มการณ์์แห่่งอไจล์
Jirayut Nimsaeng http://agilemanifesto.org/iso/th/
Jirayut Nimsaeng Scrum Master by Odd-e
Scrum in nutshell
Split your organization
Split your product
Optimize business value
$$$
$
Split time
January April
Large group spending a long time building a huge thing
Small team spending a little time building a small thing
... but integrating regularly to see the whole
Jirayut Nimsaeng Henrik’s Lean & Agile
Scrum roles
Direct communication
Product owner
Who knows and can turn
business into value
Team
Who knows how to build it
SM
Scrum Master
Who will be coach/facilitator/mentor
and impediment remover
Stakeholders
Users
Operations
Management
Etc ...
Product
Backlog
---------------
---------------
---------------
---------------
---------------
---------------
Sprint
Backlog
---------------
---------------
---------------
Jirayut Nimsaeng Henrik’s Lean & Agile
Scrum team
● Cross-functional with no roles
● Seven plus or minus two
● Self-organizing
● Responsible for committing to work
● Authority to do whatever is needed to meet commitment
● Open, co-located space
● Resolution of conflicts
● Working agreements
Jirayut Nimsaeng
Working Agreements
● Coding standards
● Definition of done
● Time of daily scrum
● Penalty for being late
● Pair programming and TDD rules
● Pomodoro
Jirayut Nimsaeng
Jirayut Nimsaeng
Product Backlog Discovery
Write user stories
As a buyer
I want to save my shopping cart
So that I can continue shopping later
As a buyer
I want to save my shopping cart
So that I can continue shopping later
Focus on Goal
not Solution
Guideline:
● Testable
● Valuable to a real stakeholder
Jirayut Nimsaeng Henrik’s Lean & Agile
Book shelf requirement
● Users can record their books
● Users can specify where the books are
● Users can share their books with other users
● Users can access system via web and mobile
● System must handles at least 100 users at the same time
Jirayut Nimsaeng
Estimate stories
3
2
5
2
2
?
Jirayut Nimsaeng Henrik’s Lean & Agile
Estimating Strategy
● Story point is not man-hour
● Estimate by the people who are going to do the work
● Estimate by relative feature size
● Prefer verbal communication over written
● Story point is depends on individual and team experiences
● Always estimate & re-estimate continuously during project
● Estimate is estimate
Jirayut Nimsaeng
Planning Poker
Break down big stories and prioritize
Break down
Prioritize
Jirayut Nimsaeng Henrik’s Lean & Agile
Jirayut Nimsaeng Henrik’s Lean & Agile
Done Sprint
Planning Part 1!
Jirayut Nimsaeng
Sprint Planning Part 2
● Order the backlog
● What will be done by end of sprint
All of these
Some of these
No way
Jirayut Nimsaeng
Break down big story into tasks
Task are for the sprint backlog
NOT product backlog
Jirayut Nimsaeng Henrik’s Lean & Agile
Progress Indicators
Jirayut Nimsaeng
Burndown Chart
Jirayut Nimsaeng Henrik’s Lean & Agile
Velocity
Jirayut Nimsaeng Henrik’s Lean & Agile
Velocity improvement
Week
Story
point
Jirayut Nimsaeng Henrik’s Lean & Agile
Visualize the problem
Backlog = 230 points
Velocity = 10 points/sprint
Jirayut Nimsaeng Henrik’s Lean & Agile
Daily Scrum
● Daily status meeting (some call daily standup)
● No more than 15 minutes
● Three questions
● What have you done since last meeting?
● What will you do before next meeting?
● What is in your way?
● Synchronization for the team to enable self-management
Jirayut Nimsaeng
Fail fast and recovery
Failure Avoidance Failure Recovery
Jirayut Nimsaeng Henrik’s Lean & Agile
Celebrate failure
Jirayut Nimsaeng Henrik’s Lean & Agile
Velocity FAQ
● No too low velocity
● Only actual velocity with realistic or unrealistic plan
● Dramatic improvements can be made quickly
● You will have a false velocity if
● You skip or postpone test & integration
● You overdo your works
● Velocity won't increase by adding more people to the team
● Strong team will maintain their velocity
Jirayut Nimsaeng
Sprint Review
● Team presents done functionality
● Team cannot present functionality that is not done
● Team discusses with PO and stakeholders
● PO prioritized backlog accordingly
Jirayut Nimsaeng
Retrospective
● Reflect and create actions for improvements
● Good – Bad – Try
● What we can improve?
● Team will decide few actions to do in next sprint
Jirayut Nimsaeng
Jirayut Nimsaeng
Question?
Jirayut Nimsaeng

How to เสร็จเร็ว (Use Agile for your project with team)