SlideShare a Scribd company logo
Agile Project Management: Embracing Change Sinaporn Suebvisai Agile Evangelist
Speaker’s Background Bachelor Degree in Computer Engineering from Chulalongkorn University in 2001 Master Degree from School of Computer Science, Carnegie Mellon University, in 2004 Joined Thomson Reuters as Software Engineer Became Development Group Leader in 2007 Led the effort to adopt Agile process into the team One of the main Agile advocates in Thomson Reuters Collaboration Team Joined Proteus Technologies as Agile Evangelist late 2008 [email_address]
What is Agile? The Agile Manifesto – Utah 2001 Individuals and interactions   over processes and tools Working software   over comprehensive documentation Customer collaboration   over contract negotiation Responding to change   over following a plan
What is Software Project Management? Software Project Management   is the art and science of planning and leading software projects .  It is a sub - discipline of   project management   in which   software   projects are  planned, monitored and controlled .   [wikipedia] We will control four variables in our projects —  cost, time, quality, and scope . Of these,  scope  provides us the most valuable form of control.   [“E xtreme Programming Explained:  Embrace Change”, Kent Beck] Without management, project teams may pursue the wrong project, may not include the right mix of personalities or skills, may be impeded by organizational dysfunctionality, or may not  deliver as much value as possible . [“The Need for Agile Project Management”,  Mike Cohn and Ken Schwaber ]
Why are there changes? Software is a  brain product  only (from Philosophy of the Course, Software Project Management course at SEI). We’re implementing things that have never been done before. Project uncertainties Budget changes Market changes Resource changes We can’t predict the future
Cost of Change Curve http :// www . ambysoft . com / essays / whyAgileWorksFeedback . html
Why Agile Maybe Your Solution Agile allows you to make changes by utilizing Best Practices Evolutionary Delivery vs. All at Once Barry Boehm’s Spiral Model User Stories Kent Beck’s Xtreme Programming Short, Focused, Meetings of Cross Functional Teams Jeff Sutherland, et al, SCRUM Agile   advocates Transparency Always provide information as early as possible which allows making decision faster Agile is completely Value Driven Agile focuses on Working Software at all time Agile Estimating & Planning automatically embodies uncertainties
Agile Techniques User Stories Estimating & Planning  Scrum Test Driven Development  Continuous Integration  Iteration Close-down and Demo Retrospective
Agile Techniques User Stories Estimating & Planning  Scrum Test Driven Development  Continuous Integration  Iteration Close-down and Demo Retrospective
User Stories A User Story is a Brief statement of Functionality but told from the User’s perspective. INVEST in User Stories Independent Negotiable Valuable Estimable Small Testable As a  <stakeholder> , I want to  <goal>  so that  <reason> .
Story Card User Story Description http :// www . agilemodeling . com / images / models / userStoryFormal . jpg   Story ID From Discussion Story Points Exit Criteria
How User Stories Help? Let the customers explain the product in the way they understand Can easily be changed, thrown away when no longer valid, and  Prioritized State why customer wants the feature to make an understanding between developer and customer Leave room for discussion Can easily make sure that we finish what we are asked to do
Agile Techniques User Stories Estimating & Planning   Scrum Test Driven Development  Continuous Integration  Iteration Close-down and Demo Retrospective
Why Traditional Planning Fails Planning is by Activity rather than Feature Activities don’t finish earlier than planned Lateness is passed down the schedule Activities are not dependent Estimates become Commitments This has to be done by this date and with all these features. Features are not developed by Priority Uncertainty is ignored
Estimating & Planning Story Point Estimation Planning Poker Prioritization Planning a Release Burndown Chart
Story Point Estimation
Story Point Estimation Measure Relative Complexity of User Stories Considers the Entire Efforts of  Dev & Test Use the Fibonacci Sequence in order to prevent arguments over a 10% estimate difference. 1, 2, 3, 5, 8, 13, 21, etc… Far less likely for management to successfully play “Time Math” with.
Planning Poker
Planning Poker Every team member is given a deck of Planning Poker cards The moderator gives an overview of a given feature The team members ask question and discuss to clarify assumptions and risks. Discussion is recorded When everyone is ready, they simultaneously vote for the estimate If estimates differ, the high and low estimators explain their estimates After another discussion, the team members revote The vote continues until the estimates converge or everybody can agree on one estimate
Prioritization Face the Fact:  You may not get everything you want in the time you want BUT  you can get what you really want first Prioritization is the key to getting the features that will give the most value to the product Prioritization can change as we learn more about the project Increase Value and Decrease Risks earlier in project
Prioritization in Agile Projects Prioritization in Agile projects is just where you put your story card in the stack Prioritization can be in many levels: Project, Release, Iteration At the end of each Iteration or Release, Priorities can be revised Prioritization is set by  Customers   with  input from the team
Planning a Release A Release (Customer decides what makes a Release) User Stories The one higher to  the top has higher priority Iteration Length = Shovel size Velocity = The average amount of sand you can carry in the shovel Release Length = How long it takes to get the sand out with the shovel   (DISCOVER)
Burndown Chart 150 125 100 75 50 25 0 1 2 3 4 5 6 7 8 9 10 With estimated velocity, we can estimate how long the release may take. The Burndown chart needs to be updated every iteration to reflect the actual situation.
Burndown Chart (later) http :// www . mountaingoatsoftware . com / system / asset / file / 65 / PredictiveBurndownChart . jpg
Planning an Iteration Start every iteration with an iteration planning meeting Decide on what the team will focus on: We should not move stories in and out during an iteration     Distraction: only 2 hours is never 2 hours Usually, the highest priorities from the Release  Split stories to smaller stories if they cannot fit within an iteration The team makes the commitment and sets the expectation for customer
Why Agile Planning Works Instead of creating the perfect plan, create a plan that is useful right now BUT update plan when necessary Effort Size and Duration are separated Duration estimate is harder to match Plans are made at different levels: Project, Release, Iteration State Uncertainty in no Uncertain terms Tracking is at the Team level, not Individual Plans are by Features, not Tasks Transparency Builds Trust and Credibility!
Agile Techniques User Stories Estimating & Planning  Scrum Test Driven Development  Continuous Integration  Iteration Close-down and Demo Retrospective
Scrum http://www.mountaingoatsoftware.com/system/hidden_asset/file/17/ScrumLargeLabelled.png
Daily Scrum Meeting Status update from team member Development, QA, Project Manager participitate Customers and users can attend, but cannot speak Start at the same time everyday Keep it short Not more than 30 minutes Stand-up helps to keep it short Each team member: What have you been doing since last SCRUM meeting? What are you doing next? Are there any issues?
Daily Scrum Storyboard
Special Thanks to K.Kulawat W. & K.Werachai P. from Thomson Reuters
How Scrum Helps Small Releases Learn before your budget is used up Give your customers a chance to change their mind    They will love you for this   Transparency of Project Status Everybody knows what everybody else is doing Shippable Product at All Time
Agile Techniques User Stories Estimating & Planning  Scrum Test Driven Development   Continuous Integration  Iteration Close-down and Demo Retrospective
Test Driven Development Developer is responsible for Unit Tests Testers/QAs also write tests    Functional Tests Encourage developers to make changes without fears The changes that come into the project will require you to make design improvement (refactor) often People like to pay technical debt by hacking things in If you have unit tests, you will feel more at ease in moving things around Refactoring should be every developer’s job and should be done ALL THE TIME
Agile Techniques User Stories Estimating & Planning  Scrum Test Driven Development  Continuous Integration   Iteration Close-down and Demo Retrospective
Continuous Integration Continuous integration makes sure you find problems faster In every change that developers make (into the source control system), Continuous Integration must be run If the Continuous Integration fails, the developer MUST fix it immediately Take out the code or Fix the code to pass the fail tests Automation is the KEY
Continuous Integration Unit Tests Functional Tests Integration Tests Deployment Tests Coding Standard Check Code Coverage Notification on Failure and Success
Agile Techniques User Stories Estimating & Planning  Scrum Test Driven Development  Continuous Integration  Iteration Close-down and Demo Retrospective
Iteration Close-down meeting Conclude the Iteration Look at the stories that have been closed in this iteration (in the storyboard) Everybody in the team and Customer see the same picture of the project Team feels accomplished Update the Progress in relation to the Release Update Burndown Chart Demo Shippable Software Customers are happy when they see progress Early feedback from customers, which can be used for the next iteration planning
Burndown Chart (later) http :// www . mountaingoatsoftware . com / system / asset / file / 65 / PredictiveBurndownChart . jpg
Agile Techniques User Stories Estimating & Planning  Scrum Test Driven Development  Continuous Integration  Iteration Close-down and Demo Retrospective
Retrospective Meeting At the end of each Iteration and Release The only way we know where we are is that we know where we’ve been Learn from mistakes, Learn from success Gives a chance for people to speak up Do not let problems pile up Time to Eliminate Wastes Time for Improvement Stop to Breathe
Do s  and Don’t s Do s Create Safe Environment Identify Wastes Define Improvement Goals (prioritize your goals also) Define Tracking Method for Improvement Goals Assign the person to track the improvement Don’t s Find people to blame for failure Only a few people speak Not including everybody in the team Do not have any improvement goals at the end of the meeting Decide that the problem is outside the team
Agile Techniques User Stories Estimating & Planning  Scrum Test Driven Development  Continuous Integration  Iteration Close-down and Demo Retrospective
Cost of Change Curve http :// www . ambysoft . com / essays / whyAgileWorksFeedback . html
Adopting Agile Start with adopting practices that are easier to bring into the project Understand what your goal is in doing each practice before you start doing them Start with a smaller team, and expand to more teams later Each team may not need the same Agile practices Keep improving and adjusting (through retrospective) to find what’s best for your project
References Agile Estimating and Planning Mike Cohn Principles of Software Engineering Management Tom Gilb Agile Retrospectives: Making Good Teams Great Esther Derby, Diana Larsen, Ken Schwaber Extreme Programming Explained: Embrace Change Kent Beck Many other websites, just search for it  
Q&A Thank you ka’   Does anybody have any question?

More Related Content

PDF
Estimation Agile Projects
PDF
Scrum agile process
PPT
Agile Methodologies And Extreme Programming
PPTX
Agility and planning : tools and processes
PDF
Succeeding with Agile
PDF
Agile and the Seven Sins of Project Management
PDF
ADAPTing to Agile for Continued Success
PPT
Agile Development
Estimation Agile Projects
Scrum agile process
Agile Methodologies And Extreme Programming
Agility and planning : tools and processes
Succeeding with Agile
Agile and the Seven Sins of Project Management
ADAPTing to Agile for Continued Success
Agile Development

What's hot (20)

PPT
Agile Executive Briefing - Situational Assessment + 50k Ft View
PPTX
The Essence of Sprint Planning : Presented by Sprint Planning
PDF
Getting Agile with Scrum
PPTX
Estimating and planning Agile projects
PDF
Becoming an Effective Product Owner
PPTX
Agile Progress Tracking and Code Complete Date Estimation
PDF
Agile Estimating - NDC 2014
PPTX
Introduction to Agile
PDF
The Zen of Scrum
PDF
Agile Project LifeCycle
PDF
12 principles for Agile Development
PPTX
Lean Software Delivery
PDF
Agile and Scrum for Video Game Development
PPTX
Agile project management with scrum
PPTX
Agile Values, Principles and Practices
PPTX
Agile planning
PDF
ADAPTing to Agile Development
PDF
Lean Software Development - Part I
PDF
ADAPTing to Enterprise Agile
Agile Executive Briefing - Situational Assessment + 50k Ft View
The Essence of Sprint Planning : Presented by Sprint Planning
Getting Agile with Scrum
Estimating and planning Agile projects
Becoming an Effective Product Owner
Agile Progress Tracking and Code Complete Date Estimation
Agile Estimating - NDC 2014
Introduction to Agile
The Zen of Scrum
Agile Project LifeCycle
12 principles for Agile Development
Lean Software Delivery
Agile and Scrum for Video Game Development
Agile project management with scrum
Agile Values, Principles and Practices
Agile planning
ADAPTing to Agile Development
Lean Software Development - Part I
ADAPTing to Enterprise Agile
Ad

Viewers also liked (12)

PPTX
03 fse agiledevelopment
PPT
Lecture 6 agile software development
PPT
ThoughtWorks Approach 2009
PPTX
Agile in Medical Software Development
PDF
Executing Change Management with Agile Practices
PDF
Agile Change Management
ZIP
Agile Software Development Methodologies
PPT
Agile Development | Agile Process Models
PPT
Agile presentation
PDF
Kanban boards step by step
PPTX
Overview of Agile Methodology
PDF
Agile Software Development Overview
03 fse agiledevelopment
Lecture 6 agile software development
ThoughtWorks Approach 2009
Agile in Medical Software Development
Executing Change Management with Agile Practices
Agile Change Management
Agile Software Development Methodologies
Agile Development | Agile Process Models
Agile presentation
Kanban boards step by step
Overview of Agile Methodology
Agile Software Development Overview
Ad

Similar to Agile Project Management (20)

PPT
Scrum overview
PPT
Agile scrum induction
PPTX
Ssw forte-agile-seminar
 
PPTX
Close to agile
PPTX
Software Development Process Models (SCRUM Methodology)
PDF
CampusSDN2017 - Jawdat: Product Management and Agile Development
PPT
Agile Manifesto & XP
PDF
The Business Analyst’s Critical Role in Agile Projects
PPT
Best Practices When Moving To Agile Project Management
PPT
Agile Development Overview
PPTX
Agile Truths and Misconceptions
PPT
Agile Pmi 102108 Final
PPT
The Agile Process - Taming Your Process To Work For You
PPT
Agile Development Overview
PPTX
Agile Project Management - Course Details
PPTX
Benefits of Agile Software Development for Senior Management
PPTX
Introduction to Scrum.ppt
PPTX
Agile software development
PPT
Introduction to Agile & scrum
PPTX
Agile estimation
Scrum overview
Agile scrum induction
Ssw forte-agile-seminar
 
Close to agile
Software Development Process Models (SCRUM Methodology)
CampusSDN2017 - Jawdat: Product Management and Agile Development
Agile Manifesto & XP
The Business Analyst’s Critical Role in Agile Projects
Best Practices When Moving To Agile Project Management
Agile Development Overview
Agile Truths and Misconceptions
Agile Pmi 102108 Final
The Agile Process - Taming Your Process To Work For You
Agile Development Overview
Agile Project Management - Course Details
Benefits of Agile Software Development for Senior Management
Introduction to Scrum.ppt
Agile software development
Introduction to Agile & scrum
Agile estimation

Recently uploaded (20)

PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
KodekX | Application Modernization Development
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Modernizing your data center with Dell and AMD
PDF
Encapsulation theory and applications.pdf
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Electronic commerce courselecture one. Pdf
PDF
Machine learning based COVID-19 study performance prediction
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Reach Out and Touch Someone: Haptics and Empathic Computing
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
KodekX | Application Modernization Development
Review of recent advances in non-invasive hemoglobin estimation
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Network Security Unit 5.pdf for BCA BBA.
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Modernizing your data center with Dell and AMD
Encapsulation theory and applications.pdf
Digital-Transformation-Roadmap-for-Companies.pptx
Per capita expenditure prediction using model stacking based on satellite ima...
Unlocking AI with Model Context Protocol (MCP)
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
The AUB Centre for AI in Media Proposal.docx
The Rise and Fall of 3GPP – Time for a Sabbatical?
Electronic commerce courselecture one. Pdf
Machine learning based COVID-19 study performance prediction
Agricultural_Statistics_at_a_Glance_2022_0.pdf

Agile Project Management

  • 1. Agile Project Management: Embracing Change Sinaporn Suebvisai Agile Evangelist
  • 2. Speaker’s Background Bachelor Degree in Computer Engineering from Chulalongkorn University in 2001 Master Degree from School of Computer Science, Carnegie Mellon University, in 2004 Joined Thomson Reuters as Software Engineer Became Development Group Leader in 2007 Led the effort to adopt Agile process into the team One of the main Agile advocates in Thomson Reuters Collaboration Team Joined Proteus Technologies as Agile Evangelist late 2008 [email_address]
  • 3. What is Agile? The Agile Manifesto – Utah 2001 Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan
  • 4. What is Software Project Management? Software Project Management   is the art and science of planning and leading software projects . It is a sub - discipline of   project management   in which   software   projects are planned, monitored and controlled . [wikipedia] We will control four variables in our projects — cost, time, quality, and scope . Of these, scope provides us the most valuable form of control. [“E xtreme Programming Explained: Embrace Change”, Kent Beck] Without management, project teams may pursue the wrong project, may not include the right mix of personalities or skills, may be impeded by organizational dysfunctionality, or may not deliver as much value as possible . [“The Need for Agile Project Management”, Mike Cohn and Ken Schwaber ]
  • 5. Why are there changes? Software is a brain product only (from Philosophy of the Course, Software Project Management course at SEI). We’re implementing things that have never been done before. Project uncertainties Budget changes Market changes Resource changes We can’t predict the future
  • 6. Cost of Change Curve http :// www . ambysoft . com / essays / whyAgileWorksFeedback . html
  • 7. Why Agile Maybe Your Solution Agile allows you to make changes by utilizing Best Practices Evolutionary Delivery vs. All at Once Barry Boehm’s Spiral Model User Stories Kent Beck’s Xtreme Programming Short, Focused, Meetings of Cross Functional Teams Jeff Sutherland, et al, SCRUM Agile advocates Transparency Always provide information as early as possible which allows making decision faster Agile is completely Value Driven Agile focuses on Working Software at all time Agile Estimating & Planning automatically embodies uncertainties
  • 8. Agile Techniques User Stories Estimating & Planning Scrum Test Driven Development Continuous Integration Iteration Close-down and Demo Retrospective
  • 9. Agile Techniques User Stories Estimating & Planning Scrum Test Driven Development Continuous Integration Iteration Close-down and Demo Retrospective
  • 10. User Stories A User Story is a Brief statement of Functionality but told from the User’s perspective. INVEST in User Stories Independent Negotiable Valuable Estimable Small Testable As a <stakeholder> , I want to <goal> so that <reason> .
  • 11. Story Card User Story Description http :// www . agilemodeling . com / images / models / userStoryFormal . jpg Story ID From Discussion Story Points Exit Criteria
  • 12. How User Stories Help? Let the customers explain the product in the way they understand Can easily be changed, thrown away when no longer valid, and Prioritized State why customer wants the feature to make an understanding between developer and customer Leave room for discussion Can easily make sure that we finish what we are asked to do
  • 13. Agile Techniques User Stories Estimating & Planning Scrum Test Driven Development Continuous Integration Iteration Close-down and Demo Retrospective
  • 14. Why Traditional Planning Fails Planning is by Activity rather than Feature Activities don’t finish earlier than planned Lateness is passed down the schedule Activities are not dependent Estimates become Commitments This has to be done by this date and with all these features. Features are not developed by Priority Uncertainty is ignored
  • 15. Estimating & Planning Story Point Estimation Planning Poker Prioritization Planning a Release Burndown Chart
  • 17. Story Point Estimation Measure Relative Complexity of User Stories Considers the Entire Efforts of Dev & Test Use the Fibonacci Sequence in order to prevent arguments over a 10% estimate difference. 1, 2, 3, 5, 8, 13, 21, etc… Far less likely for management to successfully play “Time Math” with.
  • 19. Planning Poker Every team member is given a deck of Planning Poker cards The moderator gives an overview of a given feature The team members ask question and discuss to clarify assumptions and risks. Discussion is recorded When everyone is ready, they simultaneously vote for the estimate If estimates differ, the high and low estimators explain their estimates After another discussion, the team members revote The vote continues until the estimates converge or everybody can agree on one estimate
  • 20. Prioritization Face the Fact: You may not get everything you want in the time you want BUT you can get what you really want first Prioritization is the key to getting the features that will give the most value to the product Prioritization can change as we learn more about the project Increase Value and Decrease Risks earlier in project
  • 21. Prioritization in Agile Projects Prioritization in Agile projects is just where you put your story card in the stack Prioritization can be in many levels: Project, Release, Iteration At the end of each Iteration or Release, Priorities can be revised Prioritization is set by Customers with input from the team
  • 22. Planning a Release A Release (Customer decides what makes a Release) User Stories The one higher to the top has higher priority Iteration Length = Shovel size Velocity = The average amount of sand you can carry in the shovel Release Length = How long it takes to get the sand out with the shovel (DISCOVER)
  • 23. Burndown Chart 150 125 100 75 50 25 0 1 2 3 4 5 6 7 8 9 10 With estimated velocity, we can estimate how long the release may take. The Burndown chart needs to be updated every iteration to reflect the actual situation.
  • 24. Burndown Chart (later) http :// www . mountaingoatsoftware . com / system / asset / file / 65 / PredictiveBurndownChart . jpg
  • 25. Planning an Iteration Start every iteration with an iteration planning meeting Decide on what the team will focus on: We should not move stories in and out during an iteration  Distraction: only 2 hours is never 2 hours Usually, the highest priorities from the Release Split stories to smaller stories if they cannot fit within an iteration The team makes the commitment and sets the expectation for customer
  • 26. Why Agile Planning Works Instead of creating the perfect plan, create a plan that is useful right now BUT update plan when necessary Effort Size and Duration are separated Duration estimate is harder to match Plans are made at different levels: Project, Release, Iteration State Uncertainty in no Uncertain terms Tracking is at the Team level, not Individual Plans are by Features, not Tasks Transparency Builds Trust and Credibility!
  • 27. Agile Techniques User Stories Estimating & Planning Scrum Test Driven Development Continuous Integration Iteration Close-down and Demo Retrospective
  • 29. Daily Scrum Meeting Status update from team member Development, QA, Project Manager participitate Customers and users can attend, but cannot speak Start at the same time everyday Keep it short Not more than 30 minutes Stand-up helps to keep it short Each team member: What have you been doing since last SCRUM meeting? What are you doing next? Are there any issues?
  • 31. Special Thanks to K.Kulawat W. & K.Werachai P. from Thomson Reuters
  • 32. How Scrum Helps Small Releases Learn before your budget is used up Give your customers a chance to change their mind  They will love you for this  Transparency of Project Status Everybody knows what everybody else is doing Shippable Product at All Time
  • 33. Agile Techniques User Stories Estimating & Planning Scrum Test Driven Development Continuous Integration Iteration Close-down and Demo Retrospective
  • 34. Test Driven Development Developer is responsible for Unit Tests Testers/QAs also write tests  Functional Tests Encourage developers to make changes without fears The changes that come into the project will require you to make design improvement (refactor) often People like to pay technical debt by hacking things in If you have unit tests, you will feel more at ease in moving things around Refactoring should be every developer’s job and should be done ALL THE TIME
  • 35. Agile Techniques User Stories Estimating & Planning Scrum Test Driven Development Continuous Integration Iteration Close-down and Demo Retrospective
  • 36. Continuous Integration Continuous integration makes sure you find problems faster In every change that developers make (into the source control system), Continuous Integration must be run If the Continuous Integration fails, the developer MUST fix it immediately Take out the code or Fix the code to pass the fail tests Automation is the KEY
  • 37. Continuous Integration Unit Tests Functional Tests Integration Tests Deployment Tests Coding Standard Check Code Coverage Notification on Failure and Success
  • 38. Agile Techniques User Stories Estimating & Planning Scrum Test Driven Development Continuous Integration Iteration Close-down and Demo Retrospective
  • 39. Iteration Close-down meeting Conclude the Iteration Look at the stories that have been closed in this iteration (in the storyboard) Everybody in the team and Customer see the same picture of the project Team feels accomplished Update the Progress in relation to the Release Update Burndown Chart Demo Shippable Software Customers are happy when they see progress Early feedback from customers, which can be used for the next iteration planning
  • 40. Burndown Chart (later) http :// www . mountaingoatsoftware . com / system / asset / file / 65 / PredictiveBurndownChart . jpg
  • 41. Agile Techniques User Stories Estimating & Planning Scrum Test Driven Development Continuous Integration Iteration Close-down and Demo Retrospective
  • 42. Retrospective Meeting At the end of each Iteration and Release The only way we know where we are is that we know where we’ve been Learn from mistakes, Learn from success Gives a chance for people to speak up Do not let problems pile up Time to Eliminate Wastes Time for Improvement Stop to Breathe
  • 43. Do s and Don’t s Do s Create Safe Environment Identify Wastes Define Improvement Goals (prioritize your goals also) Define Tracking Method for Improvement Goals Assign the person to track the improvement Don’t s Find people to blame for failure Only a few people speak Not including everybody in the team Do not have any improvement goals at the end of the meeting Decide that the problem is outside the team
  • 44. Agile Techniques User Stories Estimating & Planning Scrum Test Driven Development Continuous Integration Iteration Close-down and Demo Retrospective
  • 45. Cost of Change Curve http :// www . ambysoft . com / essays / whyAgileWorksFeedback . html
  • 46. Adopting Agile Start with adopting practices that are easier to bring into the project Understand what your goal is in doing each practice before you start doing them Start with a smaller team, and expand to more teams later Each team may not need the same Agile practices Keep improving and adjusting (through retrospective) to find what’s best for your project
  • 47. References Agile Estimating and Planning Mike Cohn Principles of Software Engineering Management Tom Gilb Agile Retrospectives: Making Good Teams Great Esther Derby, Diana Larsen, Ken Schwaber Extreme Programming Explained: Embrace Change Kent Beck Many other websites, just search for it 
  • 48. Q&A Thank you ka’  Does anybody have any question?

Editor's Notes

  • #6: Brain product includes creativity and talent Brain = complex
  • #7: Barry Boehm ในปี 1981
  • #8: Advocates ชอบให้เกิดการโปร่งใส One of the key ideas behind agile software development is providing information as early as possible to allow the business to best make decisions .
  • #17: Absolute estimation จะขึ้นอยู่กับมุมมองของแต่ละคน junior, senior developer จะเอาเครื่องวัดไปนั่งวัดก็ได้ แต่ก็คงใช้เวลานาน คล้ายๆกับใช้เวลา plan project 3 เดือน แทนที่จะเอาเวลาไปทำงานจริงๆ แต่ถ้าให้คาดเดาแล้วล่ะก็ relative estimation เหมาะกับมนุษย์มากกว่า
  • #18: Management มักจะบอกว่า ทีมมี 4 คน ใช้เวลา 2 เดือน ถ้าใส่เข้าไปอีก 4 คนก็ต้องเหลือเดือนเดียวสิ งานบางอย่าง share ไม่ได้ communication &amp; process overhead - งานไม่จบถ้า test ไม่เสร็จ จากครั้งที่แล้ว dev &amp; test คิดต่างกัน แต่ point เท่ากัน possibility ที่จะเกิดอย่างนั้นมีได้หน่อย ก็แค่ estimate ผิดพลาดก็คือการเรียนรู้ เมื่อเทียบกับการที่มีคนที่ไม่ได้ทำงานจริง estimate มาให้ โอกาสที่จะได้คุยกันในแบบนี้มีมากกว่า
  • #23: ไม่ใช่การคาดเดา แต่เป็นการค้นพบ Customer defines the scope เราจะเอาทรายใส่แค่ไหน ถังใหญ่แค่ไหน
  • #24: ณ วันที่เริ่ม project ใช้ velocity จากโปรเจคเก่า ที่มีลักษณะใกล้เคียงกัน หรือ เลือก stories ที่อยู่ใน highest priorities ที่คาดว่าน่าจะทำเสร็จได้ใน iteration แรก แล้วเอา story point ตรงนั้นมาเป็น estimated velocity
  • #25: Burndown chart ก็คงจะไม่ราบเรียบเหมือนชีวิตคนเรา ที่ขึ้นก็คือ requirements ที่เพิ่มเข้ามา เห็นชัดเจน transparent
  • #26: highest priorities from the Release (after customer has re-prioritized if it’s the later release) Switching task takes more time than you think Stories ไม่ควรจะข้ามพาด iteration เพราะนานเกิน ไม่ได้ test ไม่ได้ feedback
  • #27: Duration estimate is harder to match  ยากที่จะทำให้ได้ตามนั้น ถ้ากำหนดเป็นวันที่ Plans are made at different levels: Project, Release, Iteration เราเห็นภาพของแต่ละ level อย่างชัดเจน และสามารถย้อนจาก level ที่แคบกว่า ขึ้นไปมอง level ที่กว้างกว่าได้ ให้เห็นความสัมพันธ์ e.g. burndown chart is a must because sometimes can lose track State Uncertainty in no Uncertain terms ใน agile เราบอกไปตรงๆเลยว่า แน่นอน project นี้มันมีความไม่แน่นอน ทุกคนต้องยอมรับความจริงในจุดนี้ Plans are by Features, not Tasks We want the features not the tasks Tracking is at the Team level, not Individual ตัดปัญหา ถ้ามีคนป่วย ลาออก
  • #30: People who make the product happens participate
  • #35: Testers can write tests while developers write code มี tool ช่วยเยอะนะ เดี๋ยวนี้ สามารถแปลง user story exit criteria มาเป็น test cases ได้เลย ถ้าเกิดส่งนี้ใน state นี้ของโปรแกรม จะต้องได้สิ่งนี้ออกมา exit criteria เป็น functional tests Junior developer can make changes to old code  encourage growth Technical debt may appear faster at first, but things that hidden underneath the carpet will creep back at you later ทำแล้วไม่ผิด แต่ไปตามเก็บด้วยนะเออ
  • #37: the developer MUST fix it immediately  ถ้าไม่ทำอย่างนี้ก็ไม่มีประโยชน์ ไม่ว่าจะเป็น test ใดๆ ถ้าต้องทำซ้ำๆ automation is the key ไม่งั้นก็ไม่มีวันทันต่อการเปลี่ยนแปลง
  • #38: บางทีม เปิดเพลงเมื่อ success เปิดเสียงหวอ เมื่อ fail Fail นี่ต้องบอกอยู่แล้ว แต่อาจจะมี success notification ใน step ย่อยๆได้ เพื่อให้คนที่เกี่ยวข้องสบายใจ หรือจะเลือก test เป็น set set เพื่อให้ test เสร็จเร็วช้า แล้วแต่ต้องการ
  • #41: Burndown chart ก็คงจะไม่ราบเรียบเหมือนชีวิตคนเรา ที่ขึ้นก็คือ requirements ที่เพิ่มเข้ามา เห็นชัดเจน transparent สีแดงคือ worst case สีน้ำเงิน คือ best case สีดำคือ average ใช้ average velocity
  • #43: Learn from mistakes, Learn from success – ไม่ได้ learn from failure อย่างเดียวนะ อะไรที่ทำแล้วดี ก็ควรทำต่อ แต่ถ้าบางทีเราไม่หยุดมาดู เราจะไม่รู้ ว่าอะไรทำแล้วดี ช้าไป ทุกอย่างอาจจะสายเกินแก้ Time for improvement ถ้าเราหยุดอยู่กับที่ ก็เท่ากับเดินถอยหลัง Stop to Breathe ไม่หยุดมันเหนื่อย
  • #44: Define Improvement Goals – only a few because we want to be able to see progress in the next retrospective
  • #45: สรุป ก็จะเห็นว่า มีหลายอย่างที่มีประโยชน์ และเอามาเลือกใช้ได้ แล้วแต่ nature ของ project ของคุณ ในแต่ละอันก็มี technique ย่อยๆ ลงไปอีก
  • #47: มีเป้าหมายก่อนว่าจะทำ practice เหล่านั้นเพื่อมาแก้ปัญหาอะไร