48
HOW TO HOW TO เสร็จเร็ว เสร็จเร็ว https://www.flickr.com/photos/ileohidalgo/12886550354 Jirayut Nimsaeng

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

Embed Size (px)

DESCRIPTION

How to เสร็จเร็ว (finish fast) with Agile way. Know the problem and how to solve it. Working as a team and collaboration with Scrum processes.

Citation preview

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

HOW TOHOW TO

เสรจ็เรว็เสรจ็เรว็https://www.flickr.com/photos/ileohidalgo/12886550354

Jirayut Nimsaeng

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

Why did your projects succeed or fail?

What caused our projects to fail? What caused our projects to succeed?

Jirayut Nimsaeng

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

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

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

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

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

Large vs. Small

Successful76%

Challenged20%

Failed4%

Small Projects

Failed38%

Challenged52%

Success10%

Large Projects

http://www.versionone.com/assets/img/files/CHAOSManifesto2013.pdfJirayut Nimsaeng

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

Henrik’s Lean & Agile

Large = Cannon Ball

Jirayut Nimsaeng

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

Jirayut Nimsaeng Henrik’s Lean & Agile

Agile = Homing Missile

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

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

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

Not “Horizontal” increments but “Vertical”

Henrik’s Lean & AgileJirayut Nimsaeng

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

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

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

How long does it take to write a name?

Jirayut Nimsaeng

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

Setup

Dev Team

Clients

Jirayut Nimsaeng

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

Round 1

Dev Team

Clients

Never keep a customer waiting

Policy

Jirayut Nimsaeng

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

Round 2

Dev Team

Clients

Request onecustomer at a time

Policy

Jirayut Nimsaeng

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

Minimize distance between Maker and User

Jirayut Nimsaeng Henrik’s Lean & Agile

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

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

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

Jirayut Nimsaeng Scrum Master by Odd-e

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

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

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

เราค้นพบวิธีที่ดีกว่าในการพัฒนาซอฟท์แวร์จากการลงมือทำาจริงและช่ว่ยเหลือผู้้อืน่

น่ันคือ เราใหค้วามสำาคญักับ

ทั้งน้ี แม้เราจะเห็นความสำาคัญในสิ่ งที่กล่าวไว้ทางดา้นขวาแตเ่ราให้ความสำาคัญกบัสิ่งที่กล่าวไว้ทางด้านซ้ายมากกว่า

คนและการมปีฎิสัมพันธ์กัน มากกว่า การทำาตามข้ันตอนและเครือ่งมือซอฟต์แวร์ท่ีนำาไปใช้งงานได้งจริง มากกว่า เอกสารทีค่รบถ้วนสมบ้รณ์ร่วมมือทำางานกับลกกคงา มากกว่า การต่อรองให้เป็นไปตามสัญญาการตอบรบักับการเปลีย่นแปลง มากกว่า การทำาตามแผูนทีว่างไว้

คำาแถลงอดด้มการณ์์แห่่งอไจล์

Jirayut Nimsaeng http://agilemanifesto.org/iso/th/

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

Jirayut Nimsaeng Scrum Master by Odd-e

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

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

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

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

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

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

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

Working Agreements● Coding standards● Definition of done● Time of daily scrum● Penalty for being late● Pair programming and TDD rules● Pomodoro

Jirayut Nimsaeng

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

Jirayut Nimsaeng

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

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

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

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

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

Estimate stories

3

25

2

2?

Jirayut Nimsaeng Henrik’s Lean & Agile

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

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

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

Planning Poker

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

Break down big stories and prioritize

Break down

Prioritize

Jirayut Nimsaeng Henrik’s Lean & Agile

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

Jirayut Nimsaeng Henrik’s Lean & Agile

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

Done Sprint Planning Part 1!

Jirayut Nimsaeng

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

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

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

Break down big story into tasks

Task are for the sprint backlogNOT product backlog

Jirayut Nimsaeng Henrik’s Lean & Agile

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

Progress Indicators

Jirayut Nimsaeng

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

Burndown Chart

Jirayut Nimsaeng Henrik’s Lean & Agile

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

Velocity

Jirayut Nimsaeng Henrik’s Lean & Agile

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

Velocity improvement

Week

Story point

Jirayut Nimsaeng Henrik’s Lean & Agile

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

Visualize the problemBacklog = 230 points

Velocity = 10 points/sprint

Jirayut Nimsaeng Henrik’s Lean & Agile

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

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

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

Fail fast and recovery

Failure Avoidance Failure Recovery

Jirayut Nimsaeng Henrik’s Lean & Agile

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

Celebrate failure

Jirayut Nimsaeng Henrik’s Lean & Agile

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

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

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

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

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

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

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

Jirayut Nimsaeng

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

Question?

Jirayut Nimsaeng