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 lateThe 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
Never45%
Always7%
Often13%
Sometimes16%
Rarely19%
Half of the stuffsare never used!
Features and functions used
Standish group study reported at XP2002 by Jim Johnson, ChairmanJirayut Nimsaeng
Large vs. Small
Successful76%
Challenged20%
Failed4%
Small Projects
Failed38%
Challenged52%
Success10%
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 onecustomer 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 developingsoftware 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 onthe right, we value the items on the left more.
Individuals and interactions over processes and toolsWorking software over comprehensive documentation
Customer collaboration over contract negotiationResponding 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 nutshellSplit your organization
Split your product
Optimize business value
$$$
$
Split time
January April
Large group spending a long time building a huge thingSmall 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 ownerWho knows and can turn business into value
TeamWho knows how to build it
SM
Scrum MasterWho will be coach/facilitator/mentorand impediment remover
Stakeholders
Users
Operations
Management
Etc ...
ProductBacklog
------------------------------------------------------------------------------------------
SprintBacklog
---------------------------------------------
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 buyerI want to save my shopping cartSo that I can continue shopping later
As a buyerI want to save my shopping cartSo 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
25
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 backlogNOT 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 problemBacklog = 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