SlideShare uma empresa Scribd logo
1 de 61
Session 1  The cooperative game AgileDev Tour Duong Trong Tan Hanoi, December  2010 1 TurboBoost your development performance
Objectives Software Engineering trends What is agile development? The agile manifesto The diversity of adoptions Scrum XP TDD Crystal Kanban Agile mashup The cooperative game 2 TurboBoost your development performance
“Agile projects succeed when the team gets the spirit of agility.” 				– Ron Jeffries TurboBoost your development performance 3 AgileDev Basics Image courtesy to Pollyanna Pixton
TurboBoost your development performance 4 Continuous improvement Hyper productive Kaizen Agile Small teams Incremental Lean Changes Earned Value Based Iterative Rapid Adaptive
About Trends TurboBoost your development performance 5 Agile techniques were in use since the beginning. Agile techniques did not show competitive advantage in the 1970s / 1980s,     but did during the 1990s and do now. Trial runs of current agile methodologies, 1993 - 1995 		RAD			 Crystal  		XP 			Crystal  		Scrum 		Kanban In chaos, there are special kinds of controlled pattern => agile methods.
TurboBoost your development performance 6 So, what are software projects?
Partiesand Concerns Users? Customers? BO? Developers? 7 TurboBoost your development performance
TurboBoost your development performance 8 What is agile development?
The Agile Manifesto  We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan 9 TurboBoost your development performance That is, while there is value in the items on the right, we value the items on the left more. AgileAlliance.org
The Twelve Principles of Agile Software  TurboBoost your development performance 10 Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. Business people and developers must work together daily throughout the project. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. Working software is the primary measure of progress. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. Continuous attention to technical excellence and good design enhances agility. Simplicity--the art of maximizing the amount of work not done--is essential. The best architectures, requirements, and designs emerge from self-organizing teams. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly. AgileAlliance.org
AgileDev Plan-driven TurboBoost your development performance Low criticality Senior developers Objectives change very often Small number of developers Culture that thrives on chaos High criticality Junior developers Low objectives change Large number of developers Culture that demands order 11 Home ground comparison
The diversity of methods TurboBoost your development performance 12
A hyper-productive development model TurboBoost your development performance 13 Scrum
Scrum TurboBoost your development performance 14 One of the most successful agile methods because of its hyper-productivity It is management – oriented Somewhat CMM Level 3 equivalence Widely used in various types of projects Google AdWorlds project 3M Universities RnD projects In VN: LogiGear, KPM, FSOFT, FAT, etc.
TurboBoost your development performance 15 Image courtesy to ScrumAlliance
Scrum Roles ScrumMaster ProductOwner Scrum Team Other parties (all kinds of chicken) 16 TurboBoost your development performance
Scrum Team Team is cross-functional and consists of 5-9 people There are no set project roles within the team Team defines tasks and assignments Team is self-organizing and self-managing Maintains the Sprint Backlog Conducts the Sprint Review 17 TurboBoost your development performance
ScrumMaster Holds daily 15 minute team meeting (Daily Scrum) Assures every people related to the project  follow the rules Removes obstacles Shields the team from external interference: “Keep Chickens away from Pigs” Maintains the Sprint Burndown Chart Conducts Sprint Retrospective at the end of a Sprint Is a facilitator, not a manager 18 TurboBoost your development performance
Product Owner (PO) Accountable for product success Defines all product features Responsible for prioritizing product features Maintains the Product Backlog Insures team working on highest valued features 19 TurboBoost your development performance
The Product Backlog List of all desired product features List can contain bugs, and non-functional items Product Owner responsible for prioritizing Items can be added by anyone at anytime Each item should have a business value assigned Maintained by the Product Owner 20 TurboBoost your development performance
A Sprint Time box: 2-4 weeks (why?) An iteration for building a piece of increment (potentially shippable) of the whole system It’s the working time, not planning or asking what to do. The team manages itself during a Sprint The team commits to Product Backlog during the Sprint planning meeting The Sprint Backlog is updated during a Sprint 21 TurboBoost your development performance
The Sprint Backlog Each item is prioritized and estimated 22 TurboBoost your development performance
23 The Scrum Skeleton 2.Daily Scrum Meeting ,[object Object]
 What will you do?
 What is impeding you?3. A Sprint (2-4 weeks) 4. Sprint Review Meeting 1. Sprint Planning Meeting 5. Sprint Retrospective Meeting TurboBoost your development performance
Sprint Planning Meeting Time box: 8 hours Product backlog prepared prior to meeting First Half Team selects items committing to complete Additional discussion of Product Backlog occurs during actual Sprint Second Half Occurs after first half done – PO available for questions Team solely responsible for deciding how to build Tasks created / assigned – Sprint Backlog produced 24 TurboBoost your development performance
Scrum Daily Meeting Held every day during a Sprint Timebox:15 minutes Team members report to each other not Scrum Master Asks 3 questions during meeting “What have you done since last daily scrum?” “What will you do before the next daily scrum?” “What obstacles are impeding your work?” Opportunity for team members to synchronize their work It helps removing burdens between members 25 TurboBoost your development performance
Sprint Review Time box: 4 hours Team presents “done” code to PO and stakeholders Functionality not “done” is not shown Feedback generated – Product Backlog maybe reprioritized ScrumMaster sets next Sprint Review 26 TurboBoost your development performance
Sprint Retrospective Time box: 3 hours Participants ScrumMaster  Scrum Team.  Product Owner is optional Questions What went well and what can be improved? ScurmMaster helps the team in discovery – not provide answers 27 TurboBoost your development performance
The Sprint Backlog A kind o f To-do list for a Sprint Created by the Scrum Team (can be originated by one member, responsibility belongs to another) Product Owner has defined as highest priority Used for synchronizing works between team members 28 TurboBoost your development performance
The Burn-down Chart Burndown Chart shows the Sprint trend,  the performanceelocity of the team through Sprints 29 TurboBoost your development performance
Potentially Shippable Product Selected items are fully implemented, tested and ready for use Small but complete, “it will be bigger” Scrum Team needs to define what does  “done” mean, in what aspects and contexts. “DONE” may be executable, “passed all tests”, “approved by senior engineers”, “reviewed by peers” or just nothing to do more with the item. 30 TurboBoost your development performance
Distributed Scrum Isolated Scrums - Teams are isolated across geographies.  Distributed Scrum of Scrums –Scrum teams are isolated across geographies and integrated by a Scrum of Totally Integrated Scrums – Scrum teams are cross-functional with members distributed across geographies. Sutherland et al.  31 TurboBoost your development performance
Top Distributed Scrum Issues Difficult leveraging available resources, best practices are often deemed proprietary, are time consuming and difficult to maintain Difficulty synchronizing work between distributed sites Lack of effective communication mechanisms Conflicting behaviors, processes, and technologies Incompatible data formats, schemas, and standards Ensuring electronic transmission confidentiality and privacy Sutherland et al.  32 TurboBoost your development performance
From hacking code to a real process TurboBoost your development performance 33 eXtreme Programming
eXtreme Programming Project TurboBoost your development performance 34
XP Values TurboBoost your development performance 35 Simplicity  encourages starting with the simplest solution Communication favors simple designs, common metaphors, collaboration of users and programmers, frequent verbal communication, and feedback Feedback From the system, customer and from the team, to avoid optimism Courage design and code for today and not for tomorrow Respect respect for others as well as self-respect
TurboBoost your development performance 36
XP Roles The Customer Sets project goals and makes business decisions The Developer Turn customer stories into working code The Tracker Keeps track of any metrics used by team The Coach Guides and mentors the team 37 TurboBoost your development performance
TurboBoost your development performance 38 Test Driven Development This is not a complete dev strategy. It is ‘embedded’ into methods. Tests created before coding This strategy focused on quality Derived version: Behaviors Driven Development
“A human-Powered methodology for small team” TurboBoost your development performance 39 Crystal Clear
Crystal Clear Practices Frequent Delivery Reflective Improvement Osmotic Communication Personal Safety Focus Easy Access to Expert Users Automated Tests Configuration Management Frequent Integration 40 TurboBoost your development performance
Crystal Clear “The team can reduce intermediate work products as it produces running code more frequently, as it uses richer communication channels between people.” 				- Alistair Cockburn 41 TurboBoost your development performance
Crystal Clear Every product is slightly different and evolves over time, so the methodology, the set of conventions the team adopts, must be tuned and evolve. 				- Alistair Cockburn 42 TurboBoost your development performance
Crystal Clear Roles Sponsor Allocates money for the project Expert User Lead Designer Lead Technical person, mentors less experienced team members Designer-Programmer Each person designs and programs 43 TurboBoost your development performance
Kanban TurboBoost your development performance 44 Kanban literally means “visual card,” “signboard,” or “billboard.”  Toyota originally used Kanban cards to limit the amount of inventory tied up in “Work In Progress” on a manufacturing floor … Step 1 Done Step 2 Step n In Process In Process In Process Queue Queue Queue … Work Items
TurboBoost your development performance 45 Why use Kanban in Software Development?
Time-boxed iterative development has challenges  46 ,[object Object]
Smaller development items are often too small to be valuable and difficult to identify
Quality of requirements suffers as analysts rush to prepare for upcoming cycles
Quality of current development suffers when busy analysts are unable to inspect software or answer questions during development
Quality often suffers as testers race to complete work late in the development time-box TurboBoost your development performance
The time-boxed iteration drama TurboBoost your development performance 47
TurboBoost your development performance 48 Using a Kanban approach in software drops time-boxed iterations in favor of focusing on continuous flow.
Kanban queue TurboBoost your development performance 49 … Done Step 2 Step n Work Items Step 1 In Process In Process In Process Queue Queue Queue …
Kanban queues (cont’d)  TurboBoost your development performance 50 Large enough to keep the team busy Small enough to avoid premature prioritisation Ideally should be FIFO
Kanban - Work In Progress TurboBoost your development performance 51 Reduce multi-tasking Maximize throughput Enhances teamwork
The multitasking issues TurboBoost your development performance 52 Facts: 20% time lost to context switching per ‘task Sequential yields results sooner A A A B B B C C C A B C Chart courtesy to Yahoo!
Throughput TurboBoost your development performance 53 Organizational overhead goes up as work in progress increases Total Cycle Time = Number of Things in Process    Average Completion Rate to improve cycle time Improve Average Completion Rate Reduce Number of Things in Process
Enhances Teamwork TurboBoost your development performance 54 ,[object Object],[object Object]
Kanban Example 2 TurboBoost your development performance 56

Mais conteúdo relacionado

Mais procurados

Agile scrum fundamentals
Agile scrum fundamentalsAgile scrum fundamentals
Agile scrum fundamentalsDeniz Gungor
 
What is Agile Methodology?
What is Agile Methodology?What is Agile Methodology?
What is Agile Methodology?QA InfoTech
 
Agile Software Development Overview
Agile Software Development OverviewAgile Software Development Overview
Agile Software Development Overviewsunilkumar_
 
Agile Process Introduction
Agile Process IntroductionAgile Process Introduction
Agile Process IntroductionNguyen Hai
 
Agile Scrum software methodology
Agile Scrum software methodologyAgile Scrum software methodology
Agile Scrum software methodologyAbdullah Raza
 
Agile presentation
Agile presentationAgile presentation
Agile presentationinfolock
 
Introduction agile scrum methodology
Introduction agile scrum methodologyIntroduction agile scrum methodology
Introduction agile scrum methodologyAmit Verma
 
Agile Scrum Methodology
Agile Scrum MethodologyAgile Scrum Methodology
Agile Scrum MethodologyRajeev Misra
 
Agile Scrum Training Process
Agile Scrum Training ProcessAgile Scrum Training Process
Agile Scrum Training ProcessClarion Marketing
 
Agile Methodology and Tools
Agile Methodology and ToolsAgile Methodology and Tools
Agile Methodology and ToolsNaresh Gajuveni
 
Introduction to Agile software testing
Introduction to Agile software testingIntroduction to Agile software testing
Introduction to Agile software testingKMS Technology
 

Mais procurados (20)

Agile scrum fundamentals
Agile scrum fundamentalsAgile scrum fundamentals
Agile scrum fundamentals
 
Scrum for Beginners
Scrum for BeginnersScrum for Beginners
Scrum for Beginners
 
What is Agile Methodology?
What is Agile Methodology?What is Agile Methodology?
What is Agile Methodology?
 
Agile Software Development Overview
Agile Software Development OverviewAgile Software Development Overview
Agile Software Development Overview
 
Agile Overview
Agile OverviewAgile Overview
Agile Overview
 
Agile Process Introduction
Agile Process IntroductionAgile Process Introduction
Agile Process Introduction
 
2017 Scrum by Picture
2017 Scrum by Picture2017 Scrum by Picture
2017 Scrum by Picture
 
Agile Scrum software methodology
Agile Scrum software methodologyAgile Scrum software methodology
Agile Scrum software methodology
 
Scrum
Scrum Scrum
Scrum
 
Agile presentation
Agile presentationAgile presentation
Agile presentation
 
Agile (Scrum)
Agile (Scrum)Agile (Scrum)
Agile (Scrum)
 
AGILE METHODOLOGY
AGILE METHODOLOGYAGILE METHODOLOGY
AGILE METHODOLOGY
 
Scrum In 15 Minutes
Scrum In 15 MinutesScrum In 15 Minutes
Scrum In 15 Minutes
 
Introduction agile scrum methodology
Introduction agile scrum methodologyIntroduction agile scrum methodology
Introduction agile scrum methodology
 
Agile Scrum Methodology
Agile Scrum MethodologyAgile Scrum Methodology
Agile Scrum Methodology
 
Agile Scrum Training Process
Agile Scrum Training ProcessAgile Scrum Training Process
Agile Scrum Training Process
 
Kanban VS Scrum
Kanban VS ScrumKanban VS Scrum
Kanban VS Scrum
 
Agile Methodology and Tools
Agile Methodology and ToolsAgile Methodology and Tools
Agile Methodology and Tools
 
Introduction to Agile software testing
Introduction to Agile software testingIntroduction to Agile software testing
Introduction to Agile software testing
 
Agile Scrum Methodology
Agile Scrum MethodologyAgile Scrum Methodology
Agile Scrum Methodology
 

Destaque

Introduction to formal methods
Introduction to formal methodsIntroduction to formal methods
Introduction to formal methodsInzemamul Haque
 
Agile Software Development, Overview
Agile Software Development, OverviewAgile Software Development, Overview
Agile Software Development, OverviewBayard Randel
 
Overview of Agile Methodology
Overview of Agile MethodologyOverview of Agile Methodology
Overview of Agile MethodologyHaresh Karkar
 
Agile Software Development Overview
Agile Software Development OverviewAgile Software Development Overview
Agile Software Development OverviewStewart Rogers
 
Formal methods 4 - Z notation
Formal methods   4 - Z notationFormal methods   4 - Z notation
Formal methods 4 - Z notationVlad Patryshev
 
Formal Verification Techniques
Formal Verification TechniquesFormal Verification Techniques
Formal Verification TechniquesDVClub
 
Intro agile development methodology abhilash chandran
Intro agile development methodology   abhilash chandranIntro agile development methodology   abhilash chandran
Intro agile development methodology abhilash chandranAbhilash Chandran
 
Agile Software Development With SCRUM
Agile Software Development With SCRUMAgile Software Development With SCRUM
Agile Software Development With SCRUMAlexey Krivitsky
 
#1 formal methods – introduction for software engineering
#1 formal methods – introduction for software engineering#1 formal methods – introduction for software engineering
#1 formal methods – introduction for software engineeringSharif Omar Salem
 
Agile Overview Session
Agile Overview SessionAgile Overview Session
Agile Overview SessionBahaa Farouk
 
Formal methods 7 - category theory
Formal methods   7 - category theoryFormal methods   7 - category theory
Formal methods 7 - category theoryVlad Patryshev
 
Classic Formal Methods Model Checking
Classic Formal Methods Model CheckingClassic Formal Methods Model Checking
Classic Formal Methods Model Checkingtyramisu
 
The Use of Formal Methods on the iFACTS Air Traffic Control Project
The Use of Formal Methods on the iFACTS Air Traffic Control ProjectThe Use of Formal Methods on the iFACTS Air Traffic Control Project
The Use of Formal Methods on the iFACTS Air Traffic Control ProjectAdaCore
 
Agile Development Overview (with a bit about builds)
Agile Development Overview (with a bit about builds)Agile Development Overview (with a bit about builds)
Agile Development Overview (with a bit about builds)David Benjamin
 
Formal Methods lecture 01
Formal Methods lecture 01Formal Methods lecture 01
Formal Methods lecture 01Sidra Ashraf
 
Iterative Incremental development
Iterative Incremental developmentIterative Incremental development
Iterative Incremental developmentOliver Schreck
 

Destaque (20)

Introduction to formal methods
Introduction to formal methodsIntroduction to formal methods
Introduction to formal methods
 
Agile Software Development, Overview
Agile Software Development, OverviewAgile Software Development, Overview
Agile Software Development, Overview
 
Overview of Agile Methodology
Overview of Agile MethodologyOverview of Agile Methodology
Overview of Agile Methodology
 
Agile Software Development Overview
Agile Software Development OverviewAgile Software Development Overview
Agile Software Development Overview
 
Formal methods 4 - Z notation
Formal methods   4 - Z notationFormal methods   4 - Z notation
Formal methods 4 - Z notation
 
Formal Verification Techniques
Formal Verification TechniquesFormal Verification Techniques
Formal Verification Techniques
 
Intro agile development methodology abhilash chandran
Intro agile development methodology   abhilash chandranIntro agile development methodology   abhilash chandran
Intro agile development methodology abhilash chandran
 
Agile Software Development With SCRUM
Agile Software Development With SCRUMAgile Software Development With SCRUM
Agile Software Development With SCRUM
 
#1 formal methods – introduction for software engineering
#1 formal methods – introduction for software engineering#1 formal methods – introduction for software engineering
#1 formal methods – introduction for software engineering
 
Agile Overview Session
Agile Overview SessionAgile Overview Session
Agile Overview Session
 
Formal verification
Formal verificationFormal verification
Formal verification
 
Formal methods 7 - category theory
Formal methods   7 - category theoryFormal methods   7 - category theory
Formal methods 7 - category theory
 
Classic Formal Methods Model Checking
Classic Formal Methods Model CheckingClassic Formal Methods Model Checking
Classic Formal Methods Model Checking
 
The Use of Formal Methods on the iFACTS Air Traffic Control Project
The Use of Formal Methods on the iFACTS Air Traffic Control ProjectThe Use of Formal Methods on the iFACTS Air Traffic Control Project
The Use of Formal Methods on the iFACTS Air Traffic Control Project
 
Agile Development Overview (with a bit about builds)
Agile Development Overview (with a bit about builds)Agile Development Overview (with a bit about builds)
Agile Development Overview (with a bit about builds)
 
Z specification
Z specificationZ specification
Z specification
 
Formal Methods lecture 01
Formal Methods lecture 01Formal Methods lecture 01
Formal Methods lecture 01
 
Iterative Incremental development
Iterative Incremental developmentIterative Incremental development
Iterative Incremental development
 
Formal Methods
Formal MethodsFormal Methods
Formal Methods
 
Agile Model for Beginner’s
Agile Model for Beginner’sAgile Model for Beginner’s
Agile Model for Beginner’s
 

Semelhante a The cooperative game: An introduction to agile development techniques

Let’s Play Agile ! 12-09-15-testers_hub
Let’s  Play  Agile ! 12-09-15-testers_hubLet’s  Play  Agile ! 12-09-15-testers_hub
Let’s Play Agile ! 12-09-15-testers_hubOwner Tester's Hub
 
SE18_Lec 05_Agile Software Development
SE18_Lec 05_Agile Software DevelopmentSE18_Lec 05_Agile Software Development
SE18_Lec 05_Agile Software DevelopmentAmr E. Mohamed
 
SE_Lec 04_Agile Software Development
SE_Lec 04_Agile Software DevelopmentSE_Lec 04_Agile Software Development
SE_Lec 04_Agile Software DevelopmentAmr E. Mohamed
 
Introduction into Scrum
Introduction into ScrumIntroduction into Scrum
Introduction into Scrummsorin
 
An Introduction to Scrum
An Introduction to ScrumAn Introduction to Scrum
An Introduction to Scrummbalas2
 
Intro To Scrum
Intro To ScrumIntro To Scrum
Intro To Scrumscottycn
 
Redistributable Intro To Scrum
Redistributable Intro To ScrumRedistributable Intro To Scrum
Redistributable Intro To ScrumErwin Verweij
 
Introduction to Agile & scrum
Introduction to Agile & scrumIntroduction to Agile & scrum
Introduction to Agile & scrumElad Sofer
 
Dot+Net+2010+Features
Dot+Net+2010+FeaturesDot+Net+2010+Features
Dot+Net+2010+Featuresgurbaxrawat
 
Presentation: "Agile methodologies for Project Management - SCRUM" by Varty K...
Presentation: "Agile methodologies for Project Management - SCRUM" by Varty K...Presentation: "Agile methodologies for Project Management - SCRUM" by Varty K...
Presentation: "Agile methodologies for Project Management - SCRUM" by Varty K...varty
 

Semelhante a The cooperative game: An introduction to agile development techniques (20)

Agile methods
Agile methodsAgile methods
Agile methods
 
Scrum and Agile SDLC 101
Scrum and Agile SDLC 101Scrum and Agile SDLC 101
Scrum and Agile SDLC 101
 
Let’s Play Agile ! 12-09-15-testers_hub
Let’s  Play  Agile ! 12-09-15-testers_hubLet’s  Play  Agile ! 12-09-15-testers_hub
Let’s Play Agile ! 12-09-15-testers_hub
 
SE18_Lec 05_Agile Software Development
SE18_Lec 05_Agile Software DevelopmentSE18_Lec 05_Agile Software Development
SE18_Lec 05_Agile Software Development
 
Scrum
ScrumScrum
Scrum
 
SE_Lec 04_Agile Software Development
SE_Lec 04_Agile Software DevelopmentSE_Lec 04_Agile Software Development
SE_Lec 04_Agile Software Development
 
Introduction into Scrum
Introduction into ScrumIntroduction into Scrum
Introduction into Scrum
 
An Introduction to Scrum
An Introduction to ScrumAn Introduction to Scrum
An Introduction to Scrum
 
Intro To Scrum
Intro To ScrumIntro To Scrum
Intro To Scrum
 
Agile project management
Agile project managementAgile project management
Agile project management
 
Agile
AgileAgile
Agile
 
Agile Bootcamp
Agile BootcampAgile Bootcamp
Agile Bootcamp
 
Agile processes scrum
Agile processes scrumAgile processes scrum
Agile processes scrum
 
Redistributable Intro To Scrum
Redistributable Intro To ScrumRedistributable Intro To Scrum
Redistributable Intro To Scrum
 
Agile Project Management training by manohar prasad
Agile Project Management training by manohar prasadAgile Project Management training by manohar prasad
Agile Project Management training by manohar prasad
 
Introduction to Agile & scrum
Introduction to Agile & scrumIntroduction to Agile & scrum
Introduction to Agile & scrum
 
Dot+Net+2010+Features
Dot+Net+2010+FeaturesDot+Net+2010+Features
Dot+Net+2010+Features
 
Agile
AgileAgile
Agile
 
Agile
Agile Agile
Agile
 
Presentation: "Agile methodologies for Project Management - SCRUM" by Varty K...
Presentation: "Agile methodologies for Project Management - SCRUM" by Varty K...Presentation: "Agile methodologies for Project Management - SCRUM" by Varty K...
Presentation: "Agile methodologies for Project Management - SCRUM" by Varty K...
 

Mais de DUONG Trong Tan

Trở thành Agile Coach
Trở thành Agile CoachTrở thành Agile Coach
Trở thành Agile CoachDUONG Trong Tan
 
Coder nên biết thêm gì ngoài việc lập trình
Coder nên biết thêm gì ngoài việc lập trìnhCoder nên biết thêm gì ngoài việc lập trình
Coder nên biết thêm gì ngoài việc lập trìnhDUONG Trong Tan
 
Building a Learning Organization
Building a Learning OrganizationBuilding a Learning Organization
Building a Learning OrganizationDUONG Trong Tan
 
Giáo dục thông minh (Smart Education)
Giáo dục thông minh (Smart Education)Giáo dục thông minh (Smart Education)
Giáo dục thông minh (Smart Education)DUONG Trong Tan
 
A reflection on constructivism and engineering education
A reflection on constructivism and engineering educationA reflection on constructivism and engineering education
A reflection on constructivism and engineering educationDUONG Trong Tan
 
Học cách học (version 2.0) - Learning How To Learn
Học cách học (version 2.0) - Learning How To LearnHọc cách học (version 2.0) - Learning How To Learn
Học cách học (version 2.0) - Learning How To LearnDUONG Trong Tan
 
Người lớn học như thế nào - Nhìn từ tiếp cận kiến tạo
Người lớn học như thế nào - Nhìn từ tiếp cận kiến tạoNgười lớn học như thế nào - Nhìn từ tiếp cận kiến tạo
Người lớn học như thế nào - Nhìn từ tiếp cận kiến tạoDUONG Trong Tan
 
Agile có thể giúp chúng ta những gì?
Agile có thể giúp chúng ta những gì?Agile có thể giúp chúng ta những gì?
Agile có thể giúp chúng ta những gì?DUONG Trong Tan
 
Học cách học (Learning How To Learn)
Học cách học (Learning How To Learn)Học cách học (Learning How To Learn)
Học cách học (Learning How To Learn)DUONG Trong Tan
 
Các nguyên lí giáo dục
Các nguyên lí giáo dụcCác nguyên lí giáo dục
Các nguyên lí giáo dụcDUONG Trong Tan
 
Vì sao các tổ chức không học hỏi
Vì sao các tổ chức không học hỏiVì sao các tổ chức không học hỏi
Vì sao các tổ chức không học hỏiDUONG Trong Tan
 
Học qua dự án (Project-based Learning)
Học qua dự án (Project-based Learning)Học qua dự án (Project-based Learning)
Học qua dự án (Project-based Learning)DUONG Trong Tan
 
Scrum - a tool to achieve agility
Scrum - a tool to achieve agilityScrum - a tool to achieve agility
Scrum - a tool to achieve agilityDUONG Trong Tan
 
Training is not enough - Coaching your agile team
Training is not enough - Coaching your agile teamTraining is not enough - Coaching your agile team
Training is not enough - Coaching your agile teamDUONG Trong Tan
 
Đường vào agile - 2013
Đường vào agile - 2013Đường vào agile - 2013
Đường vào agile - 2013DUONG Trong Tan
 
Practices of an agile developer
Practices of an agile developerPractices of an agile developer
Practices of an agile developerDUONG Trong Tan
 
ScrumDay Vietnam 2012 - Agile adoption - Nhan
ScrumDay Vietnam 2012 - Agile adoption - NhanScrumDay Vietnam 2012 - Agile adoption - Nhan
ScrumDay Vietnam 2012 - Agile adoption - NhanDUONG Trong Tan
 
ScrumDay Vietnam 2012 - Scrum with Team Foundation Server - Quang
ScrumDay Vietnam 2012 - Scrum with Team Foundation Server - QuangScrumDay Vietnam 2012 - Scrum with Team Foundation Server - Quang
ScrumDay Vietnam 2012 - Scrum with Team Foundation Server - QuangDUONG Trong Tan
 

Mais de DUONG Trong Tan (20)

Trở thành Agile Coach
Trở thành Agile CoachTrở thành Agile Coach
Trở thành Agile Coach
 
Coder nên biết thêm gì ngoài việc lập trình
Coder nên biết thêm gì ngoài việc lập trìnhCoder nên biết thêm gì ngoài việc lập trình
Coder nên biết thêm gì ngoài việc lập trình
 
Luyện cách hỏi
Luyện cách hỏi Luyện cách hỏi
Luyện cách hỏi
 
Building a Learning Organization
Building a Learning OrganizationBuilding a Learning Organization
Building a Learning Organization
 
Giáo dục thông minh (Smart Education)
Giáo dục thông minh (Smart Education)Giáo dục thông minh (Smart Education)
Giáo dục thông minh (Smart Education)
 
A reflection on constructivism and engineering education
A reflection on constructivism and engineering educationA reflection on constructivism and engineering education
A reflection on constructivism and engineering education
 
Học cách học (version 2.0) - Learning How To Learn
Học cách học (version 2.0) - Learning How To LearnHọc cách học (version 2.0) - Learning How To Learn
Học cách học (version 2.0) - Learning How To Learn
 
Người lớn học như thế nào - Nhìn từ tiếp cận kiến tạo
Người lớn học như thế nào - Nhìn từ tiếp cận kiến tạoNgười lớn học như thế nào - Nhìn từ tiếp cận kiến tạo
Người lớn học như thế nào - Nhìn từ tiếp cận kiến tạo
 
Agile có thể giúp chúng ta những gì?
Agile có thể giúp chúng ta những gì?Agile có thể giúp chúng ta những gì?
Agile có thể giúp chúng ta những gì?
 
Học cách học (Learning How To Learn)
Học cách học (Learning How To Learn)Học cách học (Learning How To Learn)
Học cách học (Learning How To Learn)
 
Các nguyên lí giáo dục
Các nguyên lí giáo dụcCác nguyên lí giáo dục
Các nguyên lí giáo dục
 
Vì sao các tổ chức không học hỏi
Vì sao các tổ chức không học hỏiVì sao các tổ chức không học hỏi
Vì sao các tổ chức không học hỏi
 
Học qua dự án (Project-based Learning)
Học qua dự án (Project-based Learning)Học qua dự án (Project-based Learning)
Học qua dự án (Project-based Learning)
 
Scrum - a tool to achieve agility
Scrum - a tool to achieve agilityScrum - a tool to achieve agility
Scrum - a tool to achieve agility
 
Agile mindset
Agile mindsetAgile mindset
Agile mindset
 
Training is not enough - Coaching your agile team
Training is not enough - Coaching your agile teamTraining is not enough - Coaching your agile team
Training is not enough - Coaching your agile team
 
Đường vào agile - 2013
Đường vào agile - 2013Đường vào agile - 2013
Đường vào agile - 2013
 
Practices of an agile developer
Practices of an agile developerPractices of an agile developer
Practices of an agile developer
 
ScrumDay Vietnam 2012 - Agile adoption - Nhan
ScrumDay Vietnam 2012 - Agile adoption - NhanScrumDay Vietnam 2012 - Agile adoption - Nhan
ScrumDay Vietnam 2012 - Agile adoption - Nhan
 
ScrumDay Vietnam 2012 - Scrum with Team Foundation Server - Quang
ScrumDay Vietnam 2012 - Scrum with Team Foundation Server - QuangScrumDay Vietnam 2012 - Scrum with Team Foundation Server - Quang
ScrumDay Vietnam 2012 - Scrum with Team Foundation Server - Quang
 

Último

Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationnomboosow
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphThiyagu K
 
Disha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfDisha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfchloefrazer622
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxGaneshChakor2
 
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 💞 Full Nigh...
Russian Call Girls in Andheri Airport Mumbai WhatsApp  9167673311 💞 Full Nigh...Russian Call Girls in Andheri Airport Mumbai WhatsApp  9167673311 💞 Full Nigh...
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 💞 Full Nigh...Pooja Nehwal
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesFatimaKhan178732
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformChameera Dedduwage
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Krashi Coaching
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfchloefrazer622
 
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...Sapna Thakur
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpinRaunakKeshri1
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfsanyamsingh5019
 
9548086042 for call girls in Indira Nagar with room service
9548086042  for call girls in Indira Nagar  with room service9548086042  for call girls in Indira Nagar  with room service
9548086042 for call girls in Indira Nagar with room servicediscovermytutordmt
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactPECB
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeThiyagu K
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3JemimahLaneBuaron
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...fonyou31
 

Último (20)

Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communication
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 
Disha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfDisha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdf
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptx
 
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 💞 Full Nigh...
Russian Call Girls in Andheri Airport Mumbai WhatsApp  9167673311 💞 Full Nigh...Russian Call Girls in Andheri Airport Mumbai WhatsApp  9167673311 💞 Full Nigh...
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 💞 Full Nigh...
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and Actinides
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy Reform
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdf
 
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpin
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 
9548086042 for call girls in Indira Nagar with room service
9548086042  for call girls in Indira Nagar  with room service9548086042  for call girls in Indira Nagar  with room service
9548086042 for call girls in Indira Nagar with room service
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
 
Advance Mobile Application Development class 07
Advance Mobile Application Development class 07Advance Mobile Application Development class 07
Advance Mobile Application Development class 07
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
 

The cooperative game: An introduction to agile development techniques

  • 1. Session 1 The cooperative game AgileDev Tour Duong Trong Tan Hanoi, December 2010 1 TurboBoost your development performance
  • 2. Objectives Software Engineering trends What is agile development? The agile manifesto The diversity of adoptions Scrum XP TDD Crystal Kanban Agile mashup The cooperative game 2 TurboBoost your development performance
  • 3. “Agile projects succeed when the team gets the spirit of agility.” – Ron Jeffries TurboBoost your development performance 3 AgileDev Basics Image courtesy to Pollyanna Pixton
  • 4. TurboBoost your development performance 4 Continuous improvement Hyper productive Kaizen Agile Small teams Incremental Lean Changes Earned Value Based Iterative Rapid Adaptive
  • 5. About Trends TurboBoost your development performance 5 Agile techniques were in use since the beginning. Agile techniques did not show competitive advantage in the 1970s / 1980s, but did during the 1990s and do now. Trial runs of current agile methodologies, 1993 - 1995 RAD Crystal XP Crystal Scrum Kanban In chaos, there are special kinds of controlled pattern => agile methods.
  • 6. TurboBoost your development performance 6 So, what are software projects?
  • 7. Partiesand Concerns Users? Customers? BO? Developers? 7 TurboBoost your development performance
  • 8. TurboBoost your development performance 8 What is agile development?
  • 9. The Agile Manifesto We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan 9 TurboBoost your development performance That is, while there is value in the items on the right, we value the items on the left more. AgileAlliance.org
  • 10. The Twelve Principles of Agile Software TurboBoost your development performance 10 Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. Business people and developers must work together daily throughout the project. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. Working software is the primary measure of progress. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. Continuous attention to technical excellence and good design enhances agility. Simplicity--the art of maximizing the amount of work not done--is essential. The best architectures, requirements, and designs emerge from self-organizing teams. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly. AgileAlliance.org
  • 11. AgileDev Plan-driven TurboBoost your development performance Low criticality Senior developers Objectives change very often Small number of developers Culture that thrives on chaos High criticality Junior developers Low objectives change Large number of developers Culture that demands order 11 Home ground comparison
  • 12. The diversity of methods TurboBoost your development performance 12
  • 13. A hyper-productive development model TurboBoost your development performance 13 Scrum
  • 14. Scrum TurboBoost your development performance 14 One of the most successful agile methods because of its hyper-productivity It is management – oriented Somewhat CMM Level 3 equivalence Widely used in various types of projects Google AdWorlds project 3M Universities RnD projects In VN: LogiGear, KPM, FSOFT, FAT, etc.
  • 15. TurboBoost your development performance 15 Image courtesy to ScrumAlliance
  • 16. Scrum Roles ScrumMaster ProductOwner Scrum Team Other parties (all kinds of chicken) 16 TurboBoost your development performance
  • 17. Scrum Team Team is cross-functional and consists of 5-9 people There are no set project roles within the team Team defines tasks and assignments Team is self-organizing and self-managing Maintains the Sprint Backlog Conducts the Sprint Review 17 TurboBoost your development performance
  • 18. ScrumMaster Holds daily 15 minute team meeting (Daily Scrum) Assures every people related to the project follow the rules Removes obstacles Shields the team from external interference: “Keep Chickens away from Pigs” Maintains the Sprint Burndown Chart Conducts Sprint Retrospective at the end of a Sprint Is a facilitator, not a manager 18 TurboBoost your development performance
  • 19. Product Owner (PO) Accountable for product success Defines all product features Responsible for prioritizing product features Maintains the Product Backlog Insures team working on highest valued features 19 TurboBoost your development performance
  • 20. The Product Backlog List of all desired product features List can contain bugs, and non-functional items Product Owner responsible for prioritizing Items can be added by anyone at anytime Each item should have a business value assigned Maintained by the Product Owner 20 TurboBoost your development performance
  • 21. A Sprint Time box: 2-4 weeks (why?) An iteration for building a piece of increment (potentially shippable) of the whole system It’s the working time, not planning or asking what to do. The team manages itself during a Sprint The team commits to Product Backlog during the Sprint planning meeting The Sprint Backlog is updated during a Sprint 21 TurboBoost your development performance
  • 22. The Sprint Backlog Each item is prioritized and estimated 22 TurboBoost your development performance
  • 23.
  • 24. What will you do?
  • 25. What is impeding you?3. A Sprint (2-4 weeks) 4. Sprint Review Meeting 1. Sprint Planning Meeting 5. Sprint Retrospective Meeting TurboBoost your development performance
  • 26. Sprint Planning Meeting Time box: 8 hours Product backlog prepared prior to meeting First Half Team selects items committing to complete Additional discussion of Product Backlog occurs during actual Sprint Second Half Occurs after first half done – PO available for questions Team solely responsible for deciding how to build Tasks created / assigned – Sprint Backlog produced 24 TurboBoost your development performance
  • 27. Scrum Daily Meeting Held every day during a Sprint Timebox:15 minutes Team members report to each other not Scrum Master Asks 3 questions during meeting “What have you done since last daily scrum?” “What will you do before the next daily scrum?” “What obstacles are impeding your work?” Opportunity for team members to synchronize their work It helps removing burdens between members 25 TurboBoost your development performance
  • 28. Sprint Review Time box: 4 hours Team presents “done” code to PO and stakeholders Functionality not “done” is not shown Feedback generated – Product Backlog maybe reprioritized ScrumMaster sets next Sprint Review 26 TurboBoost your development performance
  • 29. Sprint Retrospective Time box: 3 hours Participants ScrumMaster Scrum Team. Product Owner is optional Questions What went well and what can be improved? ScurmMaster helps the team in discovery – not provide answers 27 TurboBoost your development performance
  • 30. The Sprint Backlog A kind o f To-do list for a Sprint Created by the Scrum Team (can be originated by one member, responsibility belongs to another) Product Owner has defined as highest priority Used for synchronizing works between team members 28 TurboBoost your development performance
  • 31. The Burn-down Chart Burndown Chart shows the Sprint trend, the performanceelocity of the team through Sprints 29 TurboBoost your development performance
  • 32. Potentially Shippable Product Selected items are fully implemented, tested and ready for use Small but complete, “it will be bigger” Scrum Team needs to define what does “done” mean, in what aspects and contexts. “DONE” may be executable, “passed all tests”, “approved by senior engineers”, “reviewed by peers” or just nothing to do more with the item. 30 TurboBoost your development performance
  • 33. Distributed Scrum Isolated Scrums - Teams are isolated across geographies. Distributed Scrum of Scrums –Scrum teams are isolated across geographies and integrated by a Scrum of Totally Integrated Scrums – Scrum teams are cross-functional with members distributed across geographies. Sutherland et al. 31 TurboBoost your development performance
  • 34. Top Distributed Scrum Issues Difficult leveraging available resources, best practices are often deemed proprietary, are time consuming and difficult to maintain Difficulty synchronizing work between distributed sites Lack of effective communication mechanisms Conflicting behaviors, processes, and technologies Incompatible data formats, schemas, and standards Ensuring electronic transmission confidentiality and privacy Sutherland et al. 32 TurboBoost your development performance
  • 35. From hacking code to a real process TurboBoost your development performance 33 eXtreme Programming
  • 36. eXtreme Programming Project TurboBoost your development performance 34
  • 37. XP Values TurboBoost your development performance 35 Simplicity encourages starting with the simplest solution Communication favors simple designs, common metaphors, collaboration of users and programmers, frequent verbal communication, and feedback Feedback From the system, customer and from the team, to avoid optimism Courage design and code for today and not for tomorrow Respect respect for others as well as self-respect
  • 38. TurboBoost your development performance 36
  • 39. XP Roles The Customer Sets project goals and makes business decisions The Developer Turn customer stories into working code The Tracker Keeps track of any metrics used by team The Coach Guides and mentors the team 37 TurboBoost your development performance
  • 40. TurboBoost your development performance 38 Test Driven Development This is not a complete dev strategy. It is ‘embedded’ into methods. Tests created before coding This strategy focused on quality Derived version: Behaviors Driven Development
  • 41. “A human-Powered methodology for small team” TurboBoost your development performance 39 Crystal Clear
  • 42. Crystal Clear Practices Frequent Delivery Reflective Improvement Osmotic Communication Personal Safety Focus Easy Access to Expert Users Automated Tests Configuration Management Frequent Integration 40 TurboBoost your development performance
  • 43. Crystal Clear “The team can reduce intermediate work products as it produces running code more frequently, as it uses richer communication channels between people.” - Alistair Cockburn 41 TurboBoost your development performance
  • 44. Crystal Clear Every product is slightly different and evolves over time, so the methodology, the set of conventions the team adopts, must be tuned and evolve. - Alistair Cockburn 42 TurboBoost your development performance
  • 45. Crystal Clear Roles Sponsor Allocates money for the project Expert User Lead Designer Lead Technical person, mentors less experienced team members Designer-Programmer Each person designs and programs 43 TurboBoost your development performance
  • 46. Kanban TurboBoost your development performance 44 Kanban literally means “visual card,” “signboard,” or “billboard.” Toyota originally used Kanban cards to limit the amount of inventory tied up in “Work In Progress” on a manufacturing floor … Step 1 Done Step 2 Step n In Process In Process In Process Queue Queue Queue … Work Items
  • 47. TurboBoost your development performance 45 Why use Kanban in Software Development?
  • 48.
  • 49. Smaller development items are often too small to be valuable and difficult to identify
  • 50. Quality of requirements suffers as analysts rush to prepare for upcoming cycles
  • 51. Quality of current development suffers when busy analysts are unable to inspect software or answer questions during development
  • 52. Quality often suffers as testers race to complete work late in the development time-box TurboBoost your development performance
  • 53. The time-boxed iteration drama TurboBoost your development performance 47
  • 54. TurboBoost your development performance 48 Using a Kanban approach in software drops time-boxed iterations in favor of focusing on continuous flow.
  • 55. Kanban queue TurboBoost your development performance 49 … Done Step 2 Step n Work Items Step 1 In Process In Process In Process Queue Queue Queue …
  • 56. Kanban queues (cont’d) TurboBoost your development performance 50 Large enough to keep the team busy Small enough to avoid premature prioritisation Ideally should be FIFO
  • 57. Kanban - Work In Progress TurboBoost your development performance 51 Reduce multi-tasking Maximize throughput Enhances teamwork
  • 58. The multitasking issues TurboBoost your development performance 52 Facts: 20% time lost to context switching per ‘task Sequential yields results sooner A A A B B B C C C A B C Chart courtesy to Yahoo!
  • 59. Throughput TurboBoost your development performance 53 Organizational overhead goes up as work in progress increases Total Cycle Time = Number of Things in Process Average Completion Rate to improve cycle time Improve Average Completion Rate Reduce Number of Things in Process
  • 60.
  • 61. Kanban Example 2 TurboBoost your development performance 56
  • 62. Kanban Example 3 TurboBoost your development performance 57
  • 63. Agile Mashup TurboBoost your development performance 58 It is so-called Yet Another Agile Development Method (YAAM) It follows the Agile Manifesto and keeps the sprit of agility It utilizes practices from several methods, for example: Use sprint backlog and user stories with TDD and standup meeting with a kanban liked dashboard. Use stand up meeting in daily Scrum Use Burn down chart in Kanban
  • 64. TurboBoost your development performance 59 Agile Software Development, it is a cooperative game.
  • 65. Face-to-face communication is better Paper 2 people at whiteboard 2 people on phone Communication Effectiveness Videotape 2 people on email Richness of communication channel Slide courtesy to Cockburn. A. 60 TurboBoost your development performance
  • 66. References and Further Readings TurboBoost your development performance 61 Agile Software Development: The Cooperative Game, 2ndEdn. By Alistair Cockburn. Scrum Guide 2010 by Ken Schwaber and Jeff Sutherland Agile Project Management with Scrum by Ken Schwaber  Agile Java Crafting Code with Test-Driven Development By Jeff Langr Test-Driven Development in Microsoft .NET by James W. Newkirk and Alexei A. Vorontsov  Extreme Programming Explained by Kent Beck XP introduction, http://www.extremeprogramming.org/ http://xprogramming.com/ http://www.agilealliance.org/ Kanban Oversimplified http://www.agileproductdesign.com/blog/2009/kanban_over_simplified.html

Notas do Editor

  1. A research and reflection of SomeBody:We are living in chaos: eco crisis, tech boom, changes …
  2. How to create a software from scratch?
  3. Parties:UsersHas problems to be solvedUsually disorganized, chaotic, groupCustomersProvides requirements and validationShould speak with “one voice”Developers Actually builds the stuff Lots of different roles hereBusiness Owner Manages resources and money Often ignored in Development Process…Tech concernsRequirementsDetermine What the Software has to do…Challenge: Satisfy the UsersProduction Actually Build the Software Challenge: Deliver Quality ProductMaintenance Modify Software to satisfy new requirements Challenge: Maintain Quality
  4. For reference and printing if needed, not for presenting
  5. cross-functional = there is no strict role for individualsCode are collectively developed
  6. The importance of planning, not plan documentThe importance of responsibility -> select itemsThe importance of prioritizing -> reduce risksMake things clear
  7. Image , point to position
  8. Architectural spike():very simple program to explore potential solutions, Most spikes are not good enough to keepMetaphor(an du): common vision of how the program works
  9. Courage(kien quyet)
  10. What does it mean?