Transitioning To Agile Webinar Presentation
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Transitioning To Agile Webinar Presentation

on

  • 1,832 views

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 ...

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.

Statistics

Views

Total Views
1,832
Views on SlideShare
1,830
Embed Views
2

Actions

Likes
0
Downloads
65
Comments
0

1 Embed 2

http://www.slideshare.net 2

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Transitioning To Agile Webinar Presentation Presentation Transcript

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