350 likes | 367 Views
L e a d i n g C h a n g e T h r o u g h C o l l a b o r a t i o n. An Overview of Agile. L e a d i n g C h a n g e T h r o u g h C o l l a b o r a t i o n. Pollyanna Pixton Founder, Accelinnova President, Evolutionary Systems Director Institute of Collaborative Leadership.
E N D
L e a d i n g C h a n g e T h r o u g h C o l l a b o r a t i o n An Overview of Agile
L e a d i n g C h a n g e T h r o u g h C o l l a b o r a t i o n Pollyanna Pixton Founder, Accelinnova President, Evolutionary Systems Director Institute of Collaborative Leadership
Agile Manifesto • Individuals and interactions over processes and tools • Working software over comprehensive documentation • Customer collaboration over contract negotiation • Responding to change over following a plan While there is value in the items on the right we value the items on the left more.
Agile Overview Agile Principles: • Customer Involvement • Iterative Development • Embrace Change • Test First • Collaborative Communication Across Organization Boundaries • Simplify: Minimize Documentation
Declaration of Interdependence • Continuous flow of value • Engage customers • Create an environment where individuals can make a difference • Expect uncertainty and manage for it • Context specific strategies, processes, and practices • Group accountability
Iterate • Timebox in which whole features of value are delivered. • Prevents “requirement inventory” • Allows team to respond to changes in business • Allows quicker realization of value from the project • Provide feedback loops to measure progress • Keeps project close to delivery • Ensures that valuable functionality is developed first
Consider Context • Utilize only those practices that make sense for the project and environment • “Barely sufficient” artifacts and methodology • “Appropriate” vs “Best Practices”
Practice Excellence • Agility requires self discipline to lead to improved quality • Relies on the team to practice technical excellence instead of imposing discipline • Adopt technical practices that support the other practices such as: • Continuous integration • Test Driven Development • Refactoring
Reflect and Adapt • Learn from past to improve performance • Retrospectives after each iteration • Harness change for improved efficiency • Multi-Horizon planning allows adaptation
The Process Pendulum Code and Fix Agile Waterfall No Process Empirical Prescriptive • Empirical • Frequent inspection • Collaboration • Adaptive responses • Prescriptive • Defined set of steps to follow • Plan the work, work the plan • Plan is assumed to be correct
Agile Methods • eXtreme Programming (XP) • Scrum • Feature Driven Development (FDD) • Crystal • Kanban (?)
Agile Overview “Agile projects succeed when the team gets the spirit of agility.” – Ron Jeffries (APM Group)
XP Values and Principles • Communication • Simplicity • Feedback • Courage • Quality work
The planning game Small releases Metaphor Simple design Refactoring Testing Pair programming Collective Ownership Continuous Integration Sustainable Pace On Site Customer Coding Standards XP Practices
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
Scrum Roles • Scrum Team • Scrum Master • Carries water and moves boulders • Product Owner • Responsible for maintaining product backlog
Scrum Control Points Meetings: • Sprint Planning • Daily Scrum • Sprint Review(retrospectives)
Feature Driven Development Model-driven short-iteration process that consists of five basic activities: Develop Model Build Feature List Plan By Feature Design by Feature Build By Feature Deploy - Jeff deLuca, 1997
FDD Focus • (Object) Modeling centric • Client centric • Architecture centric • Pragmatic • Functional decomposition • Subject Area • Business Activity • Business Activity Step
FDD Roles • Chief Programmers Team lead, mentor, developer • Class owner Developer with responsibility for a class • Feature teams Temporary groups of developers formed around classes
Frequent Delivery Reflective Improvement Osmotic Communication Personal Safety Focus Easy Access to Expert Users Automated Tests Configuration Management Frequent Integration Crystal Clear
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
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
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
Agile Method’s Focus Methodology Project Management Engineering Scrum Crystal FDD XP Structure Unstructured Structured Crystal FDD Scrum XP
Kanban • Improves the throughput and reduces cycle times • Delivers iterationlessdevelopment • Kanban limits create a pull system • White board provides visualization of flow through to delivery
Kanban Kanban Limit – regulates WIP at each stage in the process Pull Flow – from Engineering Ready to Release Ready
Appropriate Practices What method to use? Don’t use a screwdriver to drive a nail.