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

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Transitioning To Agile Webinar Presentation

1,213
views

Published on

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.

Published in: Technology, Business

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,213
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
67
Comments
0
Likes
0
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. 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]