390 likes | 545 Views
DPR306. The Agile Buffet Tweet and win: #dpr306. Stephen Forte CSO Telerik @ worksonmypc. Joel Semeniuk Executive VP Telerik @joel_semeniuk. About Joel and Steve. Joel Semeniuk @ joel_semeniuk. Steve Forte @ worksonmypc. Microsoft Regional Director Certified Scrum Master
E N D
DPR306 The Agile BuffetTweet and win: #dpr306 Stephen Forte CSO Telerik @worksonmypc Joel Semeniuk Executive VP Telerik @joel_semeniuk
About Joel and Steve Joel Semeniuk @joel_semeniuk Steve Forte @worksonmypc Microsoft Regional Director Certified Scrum Master Microsoft MVP, SQL Azure Telerik CSO • Microsoft Regional Director • Certified Scrum Master • Microsoft MVP, ALM • Telerik Executive VP
Is It Ok…? • Is It Ok To Change Scrum? • Can you combine practices and still be Agile? • Can you be Agile if you don’t to TDD?
Agenda • Back to the basics: Agile Manifesto • Influential Agile Methodologies • Agile Scenarios –Eating from the Buffet Table
Individuals and interactions Responding to change Working software Customer collaboration Following a plan Comprehensive documentation Contract negotiation Process and tools over over over over The Agile Manifesto–a statement of values Source: www.agilemanifesto.org
Back to the Basics • “Agile” is about “values” not “rules” and rigid adherence to a process • Agile is about embracing change
12 Principles of Agile • Early and continuous delivery of software • Welcome changing requirements • Deliver working software frequently • Business people and developers must work together daily • Build projects around motivated individuals • Most effective method of communication is face-to-face • Working software is the primary measure of progress • Agile processes promote sustainable development • Continuous attention to technical excellence • Simplicity — is essential • Self-organizing teams • Reflect on how to become more effective
Agenda • Back to the basics: Agile Manifesto • Influential Agile Methodologies • Agile Scenarios –Eating from the Buffet Table
Influential Agile Methodologies • XP (The Past) • Scrum (The Present) • Kanban (The Future)
Extreme Programming (aka XP) • Team of 5-10 programmers • Single location • On Site Customer • Iterative delivery of releasable software • “Requirements” are specified as user stories • Pair Programming • Strict Code Standards • Unit Testing • Emergent Requirements, architecture, and design
Core Practices of XP • Sit together • Whole team • Informative workspace • Energized work • Pair Programming • Stories • Weekly cycles • Quarterly Cycles • Slack • Ten-Minute Build • Continuous Integration • Test-First Programming • Incremental Design
Prince 2 • Great for governance • Works well w/ Agile Models • http://www.prince2.com/
Scrum • An Agile methodology that stresses communication • Time boxed (sprints) development cycles • By design is a revolutionary process • Rigid by nature • Most popular methodology today
Core Practices of Scrum • Cross functional and collocated teams of 8 or less • Develop in sprints of fixed duration • Each sprint delivers incremental, tested functionality to the user • Work within the sprint is fixed • The scrum master mentors and manages the self-organizing and self-managing teams • All work to be done is carried from the Product Backlog • The product owner manages the product backlog • A daily 15 min stand-up meeting (Daily scrum) is primary communication method • Requirements, architecture, and design emerge over time • Empirical Process Control
Kanban • Japanese for “signal card” • From the Toyoda production system (Lean) • Define a work flow and visualize it • Organize a queue • Limit work in progress (WIP) for each queue • Allows you to constantly evaluate process improvements • Allow work to flow through the system in a controlled way (not iterative) • No sprints! • Evolutionary by design • Change is built into the model • Communication is about progress (not merely results) • Eliminate Daily Scrum
Core Practices of Kanban • Define and visualize the workflow • Limit Work-in-progress • Measure and Manage Flow • Make Process Policies Explicit • Use Models to Suggest Improvement • For more info: http://finance.groups.yahoo.com/group/kanbandev/message/9261
Agenda • Back to the basics: Agile Manifesto • Influential Agile Methodologies • Agile Scenarios –Eating from the Buffet Table
Mixed Methods are the Norm Source: Forrester/Dr. Dobb’s Global Developer Technographics Survey, Q3 2009
Agile is like a buffet table • It is ok to mix and match from different agile methodologies • Just make sure your features are compatible • Just make sure you eat healthy ;) http://www.agileproductdesign.com/blog/2009/kanban_over_simplified.html
Eating from the buffet table Designing an agile methodology
Scenario 1 – New Distributed Project • Characteristics • Remote team in different time zone • Greenfield project • Contractors
Core Practices for Scenario 1 • From XP • User Stories • Pair Programming • Continuous Integration • From Scrum • Use Sprints of fixed duration • Daily (virtual) Scrum meeting • From Kanban • Make Process Policies Explicit • Use Models to Suggest Improvement • Limit work in progress
Scenario 2 - Maintenance • Characteristics • Reactive • Continual evaluation • Continual delivery • Mix of New Requirements and Bugs
Core Practices for Scenario 2 • From XP • Extensive use of Unit Testing • Refactoring and Emergent Design • Continuous Integration • Sit together • Whole team • Informative workspace • Energized work • From Scrum • Daily Standup • Sprints for Improvement Cadences and Reviews • From Kanban • Limit work in progress • Continuous Delivery • Explicit Gates
Scenario 3 – Managed Outsource • Characteristics • Customer / Supplier • Cost and Budget Centric • Supplier takes responsibility
Core Practices for Scenario 3 • From XP • Extensive use of Unit Testing • Refactoring and Emergent Design • Continuous Integration • Incremental Design • Sit together • Whole team • Informative workspace • From Scrum • Daily Standup • Sprint Planning • Sprints and Sprint Reviews • Customer is Product Owner • Product Owner Reprioritizes against value • From Kanban • Explicit Gates
What about the others? • Can you use TDD and use Scrum? • Can you use BDD and use Kanban?
Certain Practices Apply Often • Unit Testing • Automated Builds • Incremental and Continual Releases • Emergent Requirements, architecture, and design • Daily rhythm and standups • Engaged Product Owners • Backlogs Managed by Product Owners
Recommended Resources • Tom DeMarco • Peopleware • Slack • Fred Brooks • The Mythical Man Month • Parkinson's Law
DPR Track Resources • http://www.microsoft.com/visualstudio • http://www.microsoft.com/visualstudio/en-us/lightswitch • http://www.microsoft.com/expression/ • http://blogs.msdn.com/b/somasegar/ • http://blogs.msdn.com/b/bharry/ • http://www.microsoft.com/sqlserver/en/us/default.aspx • http://www.facebook.com/visualstudio
Resources • Connect. Share. Discuss. http://northamerica.msteched.com Learning • Sessions On-Demand & Community • Microsoft Certification & Training Resources www.microsoft.com/teched www.microsoft.com/learning • Resources for IT Professionals • Resources for Developers http://microsoft.com/technet http://microsoft.com/msdn