Your SlideShare is downloading. ×
0
Transitioning To Agile
Transitioning To Agile
Transitioning To Agile
Transitioning To Agile
Transitioning To Agile
Transitioning To Agile
Transitioning To Agile
Transitioning To Agile
Transitioning To Agile
Transitioning To Agile
Transitioning To Agile
Transitioning To Agile
Transitioning To Agile
Transitioning To Agile
Transitioning To Agile
Transitioning To Agile
Transitioning To Agile
Transitioning To Agile
Transitioning To Agile
Transitioning To Agile
Transitioning To Agile
Transitioning To Agile
Transitioning To Agile
Transitioning To Agile
Transitioning To Agile
Transitioning To Agile
Transitioning To Agile
Transitioning To Agile
Transitioning To Agile
Transitioning To Agile
Transitioning To Agile
Transitioning To Agile
Transitioning To Agile
Transitioning To Agile
Transitioning To Agile
Transitioning To Agile
Transitioning To Agile
Transitioning To Agile
Transitioning To Agile
Transitioning To Agile
Transitioning To Agile
Transitioning To Agile
Transitioning To Agile
Transitioning To Agile
Transitioning To Agile
Transitioning To Agile
Transitioning To Agile
Transitioning To Agile
Transitioning To Agile
Transitioning To Agile
Transitioning To Agile
Transitioning To Agile
Transitioning To Agile
Transitioning To Agile
Transitioning To Agile
Transitioning To Agile
Transitioning To Agile
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Transitioning To Agile

2,586

Published on

A presentation on: …

A presentation on:
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

Published in: Technology, Business
0 Comments
12 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,586
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
12
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1.  
  • 2. Transitioning to Agile Vivek Prahlad, ThoughtWorks [email_address]
  • 3. Agenda
    • A brief introduction to Agile
  • 4. Agenda
    • A brief introduction to Agile
    • Before starting off a transition
  • 5. Agenda
    • A brief introduction to Agile
    • Before starting off a transition
    • Getting started with a transition
  • 6. Agenda
    • A brief introduction to Agile
    • Before starting off a transition
    • Getting started with a transition
    • What transitioning to agile means for teams
  • 7. 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
  • 8. What is Agile?
  • 9. Agile is a way of developing software that's all about acknowledging (and embracing) change
  • 10. Incremental
  • 11. Iterative
  • 12. Adaptive
  • 13. What is Agile?
    • Incremental
      • Build a system gradually
      • Demonstrate progress
  • 14. What is Agile?
    • Incremental
      • Build a system gradually
      • Demonstrate progress
    • Iterative
      • Multiple releases (every month or so)
      • Iterations (usually one or two weeks)
  • 15. 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
  • 16. The pillars of Agile
    • Collaboration
    • Testing
    • Automation
    • Feedback
  • 17. Agile teams
  • 18. 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
  • 19. 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
  • 20. 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
  • 21. 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
  • 22. What do iterations look like?
  • 23. Flavours of Agile
    • Xtreme Programming (XP)
    • Scrum
    • Feature Driven Development
    • DSDM
  • 24. XP practices
  • 25. Starting off a transition
  • 26. 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
  • 27. Picking a project:
    • Choose a significant project
    • Greenfield vs existing project
  • 28. 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
  • 29. What transitioning to Agile means for teams
  • 30. Agile for developers:
    • Test Driven Development
    • Incremental design and Architecture
    • Refactoring
    • Continuous Integration
    • Craftsmanship
    • Discipline
  • 31. Agile for architects:
    • Everything we just talked about
    • No Big Design Up Front
  • 32. Agile for testers:
    • Early (and incremental) testing
    • Collaboration with development
    • Collaboration with analysts
    • Automate, automate, automate!
  • 33. Agile for analysts:
    • Getting user stories right
    • Story independence
    • Incrementally building features
  • 34. Agile for managers:
    • Facilitating vs. Controlling
    • Getting the team what they need
    • Removing roadblocks
    • Self organized teams
  • 35. Agile for the team:
    • Collaborative software development
    • Shared workspace
    • Shared responsibility for quality
    • Shared responsibility for meeting team goals
  • 36. 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?
  • 37. Getting started
  • 38. Getting started
    • Starting with a retrospective
    • Release planning
    • Picking practices
    • Retrospectives
  • 39. 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
  • 40. Release Planning
    • Involves the whole team
    • Helps evolve a shared understanding of what the team is building
    • Recommend a short release plan
  • 41. 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
  • 42. Picking practices
  • 43. 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
  • 44. 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
  • 45. The Cost of Change
  • 46. The Cost of Change Defect found during TDD
  • 47. The Cost of Change Defect found during continuous integration Defect found during TDD
  • 48. The Cost of Change Defect found during continuous integration Defect found during TDD Defect found due To active stakeholder participation
  • 49. Visibility for stakeholders
    • Release plan
    • Story wall
    • Agile Project Management tools can help
  • 50. 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
  • 51. 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)
  • 52. Myths and Antipatterns
  • 53. Myths
    • Scrum equals Agile
    • No documentation
    • Cowboy coding
    • Don’t know what’s round the corner
  • 54. Antipatterns
    • Trying to force-fit Agile into CMM
    • Separate testing team
    • Too much scale
    • Using the wrong tools
  • 55. 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
  • 56. Questions? [email_address]
  • 57. All responses to questions will be posted at http://thoughtworker.com/masterclass To know more about our events and up coming webinars please visit www.thoughtworker.com/events To get in touch with us, please email us at [email_address]

×