transitioning to agile webinar presentation

Post on 13-May-2015

1.277 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Transitioning to Agile: In this webinar, attendees will learn how projects can transition to Agile from non Agile environments. This session will throw light on the unique set of challenges and trade-offs that involve cultural, technical and process issues while transitioning to Agile Development.Speaker profile: Vivek Prahlad is a Delivery Manager at ThoughtWorks Studios, where he helps build Twist, a next generation Functional Testing tool. During his career, Vivek has worked as a Technical Lead, Agile Coach and Project Manager. Vivek is also the author of Frankenstein an open source testing tool for Swing applications.

TRANSCRIPT

Copyright ThoughtWorks, 2009

Transitioning to Agile

Vivek Prahlad, ThoughtWorksvprahlad@thoughtworks.com

Copyright ThoughtWorks, 2009

Agenda

• A brief introduction to Agile

Copyright ThoughtWorks, 2009

Agenda

• A brief introduction to Agile• Before starting off a transition

Copyright ThoughtWorks, 2009

Agenda

• A brief introduction to Agile• Before starting off a transition• Getting started with a transition

Copyright ThoughtWorks, 2009

Agenda

• A brief introduction to Agile• Before starting off a transition• Getting started with a transition• What transitioning to agile means for

teams

Copyright ThoughtWorks, 2009

Agenda

• A brief introduction to Agile• Before starting off a transition• Getting started with a transition• What transitioning to agile means for

teams• Myths and Antipatterns

Copyright ThoughtWorks, 2009

What is Agile?

Copyright ThoughtWorks, 2009

Agile is a way of developingsoftware that's all about

acknowledging(and embracing) change

Copyright ThoughtWorks, 2009

Incremental

Copyright ThoughtWorks, 2009

Iterative

Copyright ThoughtWorks, 2009

Adaptive

Copyright ThoughtWorks, 2009

What is Agile?

• Incremental–Build a system gradually–Demonstrate progress

Copyright ThoughtWorks, 2009

What is Agile?

• Incremental–Build a system gradually–Demonstrate progress

• Iterative–Multiple releases (every month or so)–Iterations (usually one or two weeks)

Copyright ThoughtWorks, 2009

What is Agile?

• Incremental–Build a system gradually–Demonstrate progress

• Iterative–Multiple releases (every month or so)–Iterations (usually one or two weeks)

• Adaptive–Accommodate changes to goals–Incorporate feedback, lessons learned

Copyright ThoughtWorks, 2009

The pillars of Agile

• Collaboration• Testing• Automation• Feedback

Copyright ThoughtWorks, 2009

Agile teams

Copyright ThoughtWorks, 2009

Working on a Agile team

• Representation across all roles–Developers, Analysts, Testers, Iteration /

Project Managers• Whole team part of iteration planning• Unit of work is the 'User Story'

– Includes acceptance criteria

Copyright ThoughtWorks, 2009

Example

• As a customer, I'd like to pay for books with a credit card

• Acceptance tests–Check payments with Visa–Check payments with Discovery–Should not allow payments with invalid

card–Should inform about declined payments

Copyright ThoughtWorks, 2009

Release planning

• Involves all stakeholders• Helps set goals for development• Typically 1-3 months horizon• Prototypes, R & D• Final output:

–Release plan (features, stories)–Estimates

Copyright ThoughtWorks, 2009

What do iterations look like?

Analysis - 2 Analysis - 3

Development - 1 Development - 2

Testing - 1

Analysis - 4

Development - 3

Testing - 2

Time

Iteration 1 Iteration 2 Iteration 3

Copyright ThoughtWorks, 2009

What do iterations look like?

Copyright ThoughtWorks, 2009

Flavours of Agile

• Xtreme Programming (XP)• Scrum• Feature Driven Development• DSDM

Copyright ThoughtWorks, 2009

XP practices

Copyright ThoughtWorks, 2009

Starting off a transition

Copyright ThoughtWorks, 2009

Food for thought

• Transitioning to Agile has consequences• Not a silver bullet• Not easy• Take the time to think through practices• And why they exist• Executive commitment is critical

Copyright ThoughtWorks, 2009

Picking a project:

• Choose a significant project• Greenfield vs existing project

Copyright ThoughtWorks, 2009

Picking a team:

• Full representation of all roles• Start small, grow incrementally

–Even for experienced agile teams• Critical to identify a customer• Colocated, if possible• Team needs to be involved in release

planning, introductory sessions

Copyright ThoughtWorks, 2009

What transitioning to Agilemeans for teams

Copyright ThoughtWorks, 2009

Agile for developers:

• Test Driven Development• Incremental design and Architecture• Refactoring• Continuous Integration• Craftsmanship• Discipline

Copyright ThoughtWorks, 2009

Agile for architects:

• Everything we just talked about• No Big Design Up Front

Copyright ThoughtWorks, 2009

Agile for testers:

• Early (and incremental) testing• Collaboration with development• Collaboration with analysts• Automate, automate, automate!

Copyright ThoughtWorks, 2009

Agile for analysts:

• Getting user stories right• Story independence• Incrementally building features

Copyright ThoughtWorks, 2009

Agile for managers:

• Facilitating vs. Controlling• Getting the team what they need• Removing roadblocks• Self organized teams

Copyright ThoughtWorks, 2009

Agile for the team:

• Collaborative software development• Shared workspace• Shared responsibility for quality• Shared responsibility for meeting team

goals

Copyright ThoughtWorks, 2009

Cultural Issues

• Successful agile teams are self-organized• Team members choose tools, what they'll

be working on• Managers as facilitators vs directors• Close collaboration – too close for

comfort?

Copyright ThoughtWorks, 2009

Getting started

Copyright ThoughtWorks, 2009

Getting started

• Starting with a retrospective• Release planning• Picking practices• Retrospectives

Copyright ThoughtWorks, 2009

Starting with a retrospective

• Helps identify issues that need solving• Allows the team to prioritize issues that

need fixing• Can help choose the practices that will

address issues

Copyright ThoughtWorks, 2009

Release Planning

• Involves the whole team• Helps evolve a shared understanding of

what the team is building• Recommend a short release plan

Copyright ThoughtWorks, 2009

Picking practices

• Management and technical practices go hand in hand

• Cherry picking practices requires experience

• Practices are interdependent• Choose an iteration length• An experienced Agile coach can help

Copyright ThoughtWorks, 2009

Picking practices

Copyright ThoughtWorks, 2009

Workspaces

• The design of your workspace matters• Large tables more effective than cubicles• Informal communication requires close

proximity• Large monitors, two keyboards per

workstation can help Pair Programming

Copyright ThoughtWorks, 2009

Quality and Testing

• Testing an integral part of development–Acceptance tests–Unit and Integration tests–Functional –Optional: Performance Tests

• Test early, Test often• Continuous Integration

–Fix the test vs. Raising a bug

Copyright ThoughtWorks, 2009

The Cost of Change

Copyright ThoughtWorks, 2009

The Cost of Change

Defect found during TDD

Copyright ThoughtWorks, 2009

The Cost of Change

Defect found during continuous integration

Defect found during TDD

Copyright ThoughtWorks, 2009

The Cost of Change

Defect found during continuous integration

Defect found during TDD

Defect found dueTo active stakeholder

participation

Copyright ThoughtWorks, 2009

Visibility for stakeholders

• Release plan• Story wall• Agile Project Management tools can help

Copyright ThoughtWorks, 2009

Retrospectives

• Helps bring out issues• Improvement, not assigning blame• Important to fix the top few major issues• Repeated at regular intervals• Can help improve processes, team

structure, productivity, etc• Recommend external facilitators

Copyright ThoughtWorks, 2009

Tools for agility:

• Wikis can help enhance collaboration• Several agile project management tools

now available• Xunit tools• IDEs that support refactoring• Continuous Integration tools (like

CruiseControl)

Copyright ThoughtWorks, 2009

Myths and Antipatterns

Copyright ThoughtWorks, 2009

Myths

• Scrum equals Agile• No documentation• Cowboy coding• Don’t know what’s round the corner

Copyright ThoughtWorks, 2009

Antipatterns

• Trying to force-fit Agile into CMM• Separate testing team• Too much scale• Using the wrong tools

Copyright ThoughtWorks, 2009

Summary

• Transitioning to agile needs (a lot of) homework

• Need to know where you are...• ... and what you'd like to get to• Don't underestimate the cultural impact• Several new skills for everyone to learn• Start small, scale can wait• Iterate, tweak, improve

Copyright ThoughtWorks, 2009

Questions?

vprahlad@thoughtworks.com

top related