• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Robert Mc Geachy Common Pitfalls Agile
 

Robert Mc Geachy Common Pitfalls Agile

on

  • 2,218 views

Common pitfalls moving to Agile

Common pitfalls moving to Agile

Statistics

Views

Total Views
2,218
Views on SlideShare
2,189
Embed Views
29

Actions

Likes
1
Downloads
50
Comments
0

4 Embeds 29

http://www.linkedin.com 21
https://www.linkedin.com 4
http://www.slashdocs.com 3
http://www.slideshare.net 1

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
  • The previous slide and this slide go right to the heart that big upfront requirements and design work (without client validation and course correction as you go) results in waste. In order words, requirements get implemented that are rarely or never used.
  • This hits on Executable Architecture Release (EAR) The purpose of the EAR is to do the minimum amount of work to understand the problem and commit to a solution To achieve this each team must assess what combination of requirements, analysis, development and design activities are necessary to mitigate both requirement and technical risks associated with the project Release Planning Release every 3-5 iterations (never more than 3 months) Work with client to identify target functionality for first release: what is their “minimal marketable feature set?” The smallest subset of the solution’s capabilities that would have value for the client Know that the mid-level plan will change, don’t try to get too precise Iteration Planning An iteration length is typically 2 weeks, but never longer than 4 weeks Focus on “Done is Done” while talking about iteration planning Deliverables must be production-ready at end of every iteration No separate “clean up” phase Forces decision making and closure on the things of immediate concern Need to leave time to do closeout within the iteration
  • Speaker notes: When we sit with the client we are not necessarily saying that each kickoff we need to reprioritise scope. We are showing them what was originally planned for the iteration, and then providing them with the option to swap scope if they feel it is necessary. It is providing this choice that is very powerful. We have seen from our pilot projects that many times, after seeing what was delivered, clients have made scope choices that they may not have if they had not seen working code. This happened in Avatar.
  • Speaker notes: While these are the Agile Principles in the ideal world, not all of these will work for the environment that Sapient works in. We have taken what we can, and made adjustments where the principles do not fit out business model. For example, our clients are more often than not available to work side by side with us, as indicated in the point „Business people and developers must work together daily“. This is not always a luxury that we have. Our clients do not always want to or have the time to be working side by side with us, and can only spend very limited time with us. Addtionally, we live in a GDD world, so most of the time we do not have the luxury of all team members being in the 1 location (as aluded to in the last bullet). Face to face conversations are most of the time not possible when the majority of the team (if any) are not at the client location.

Robert Mc Geachy Common Pitfalls Agile Robert Mc Geachy Common Pitfalls Agile Presentation Transcript

  • Common Pitfalls When Moving to Agile Presented by : Robert McGeachy, PMP Thursday April 17, 2008
  • Learning Objectives
    • Learn the key benefits of Agile Methodologies versus more traditional approaches
    • Understand the major issues organizations face when adopting agile processes
    • Recognize the critical success factors that are needed to be successful with Agile
      • Moving your organization to Agile is akin to moving to a new country with a new language and culture. No amount of training can prepare you for every challenge.
    • Issues in IT Development Today
    • Waterfall versus Agile
    • The Reasons Waterfall Fails
    • The Principles and Benefits of Agile
    • Common Pitfalls in Adopting Agile
    • Critical Success Factors for Your Organization
      • Agenda
  • Who is the presentation for?
    • The people or organizations that are looking to improve on the efficiency of their development processes and the quality and alignment to business requirements
    • Generally, these methodologies are applied to the software or IT project. But Agile approaches can be adopted for other types of projects.
    • Some basic or general understanding of Agile Methodologies is assumed
    • We wont solve all the problems, but will point out the areas organizations should focus on when making a change to Agile
    • Issues in IT Development Today
    • Waterfall versus Agile
    • The Reasons Waterfall Fails
    • The Principles and Benefits of Agile
    • Common Pitfalls in Adopting Agile
    • Critical Success Factors for Your Organization
      • Agenda
  • Current state of IT development (What’s the Problem)
    • The Standish Group reports that nearly two-thirds of the features built are rarely or never used , in other words, waste
    • The root cause of this waste is fundamentally driven by the ways that teams engage with their clients
    • Customers have been burned and aren’t willing to wait before seeing ROI – they want to know the solution will meet their needs
  • What we’ve been told about projects today….
    • Too slow
      • “ My needs are changing, but IT can’t keep up”
      • “ Nothing gets done in less than a year”
    • Not valuable enough
      • “ Project scope is wrong. And we’ve already coded half the system”
      • “ I’ve got lots of documentation that no one uses for a system that doesn’t meet my needs.”
      • “ We waste time designing and building features that are never used”
    • Not responsive
      • “ Projects force the business to close on requirements before they really know what they want”
      • “ Every little modification results in a change order”
    • Not in control
      • “ Don’t know what’s going on with the project”
      • “ I’m stuck with a development team that don’t provide value”
    • Issues in IT Development Today
    • Waterfall versus Agile
    • The Reasons Waterfall Fails
    • The Principles and Benefits of Agile
    • Common Pitfalls in Adopting Agile
    • Critical Success Factors for Your Organization
      • Agenda
  • Waterfall vs. Agile
    • A project is broken into releases (a release should occur no less frequently than every 4 months)
    • Releases are broken into short (1-4 week) iterations
    Discovery Design Implementation Manage Waterfall Define Release 1 Release 2 Agile It 1 It 2 It 3 It 4 It 5 It 6 Release 3 It 7 It 8 It 9 Release 4 It 10 It 11 It 12 Iteration N Mon Local team: acts as interface to client, does some dev work team: develops and tests Fri Mon: Iteration kick-off with client Fri: End-of-iteration checkpoint with client Go Live Go Live
    • Issues in IT Development Today
    • Waterfall versus Agile
    • The Reasons Waterfall Fails
    • The Principles and Benefits of Agile
    • Common Pitfalls in Adopting Agile
    • Critical Success Factors for Your Organization
      • Agenda
  • The Two Major Reasons Waterfall Projects Fail
    • Too much emphasis on project scope
      • There is a tendency to scope everything up front
      • As the project progresses, to view scope changes as hard and negative.
      • With business environments changing faster than ever, the over-emphasis on scope may slow the pace of change.
    • Lack of Flexibility
      • Waterfall techniques depend on completing one phase before moving on to another.
      • Requirements are frozen and then passed on to become working software, with no opportunity for change as users recognize issues or as the business changes.
      • Delayed integration leads to last minute surprises, “well, the design looked good on paper – we never thought it wouldn’t work!”
    • Issues in IT Development Today
    • Waterfall versus Agile
    • The Reasons Waterfall Fails
    • The Principles and Benefits of Agile
    • Common Pitfalls in Adopting Agile
    • Critical Success Factors for Your Organization
      • Agenda
  • Agile Delivery Model Short Iterations (1-4 weeks) 24 hours (1) Validate/Reprioritize scope At the start of each iteration, the team works with the client to validate planned iteration scope and if needed reprioritise or swap scope (2) Build iteration plan The team works with the client to gain a deeper understanding of the iteration requirements and be able to break the work down allocated to their track. Each track uses this to create an iteration plan (3) Daily team Meeting The team meets daily to report status and address roadblocks Iteration Scope (4) Deliver potentially deployable functionality The team performs Analysis & Design, Requirements detailing, Development and testing of the selected scope items to deliver something of value to the client at the end of each iteration Potentially Depoyable Functionality Iteration Plan Checkpoint with client
  • Agile principles
    • Highest priority is to satisfy the customer through early and continuous delivery of valuable software
    • Welcome changing requirements , even late in development and focus on the customer's competitive advantage
    • Deliver working software frequently , from a couple of weeks to a couple of months, with a preference to the shorter timescale
    • Business people and developers must work together daily throughout the project
    • Build projects around motivated individuals . Give them the environment and support they need, and trust them to get the job done
    • The most efficient and effective method of conveying information to and within a development team is face-to-face conversation
  • Agile principles (continued)
    • Working software is the primary measure of progress
    • Agile processes promote sustainable development . The sponsors, developers, and users should be able to maintain a constant pace indefinitely
    • Continuous attention to technical excellence and good design enhances agility
    • Simplicity – the art of maximizing the amount of work not done – is essential
    • The best architectures, requirements, and designs emerge from self-organising teams
    • At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behaviour accordingly
  • The Four Main Benefits of Agile (if done right!)
    • Increases Flexibility
      • It minimizes up front investment and maximizes return on investment (ROI) by creating an efficient IT development process
    • Delivers the Right Solution
      • It aligns users and stakeholders with the right people to deliver the solution that the business actually needs
    • Accelerates Delivery
      • Iterations get to the right solution faster
    • Reduces Risk and Increases Quality
      • Greater stakeholder visibility and control
    • Issues in IT Development Today
    • Waterfall versus Agile
    • The Reasons Waterfall Fails
    • The Principles and Benefits of Agile
    • Common Pitfalls in Adopting Agile
    • Critical Success Factors for Your Organization
      • Agenda
  • Lack of discipline
    • Although it may seem counter intuitive, Agile is an extremely disciplined approach to working
    • Agile does not equal sloppiness. Most people will have a difficult time adjusting to this
    • Tracking stories to closure, accounting for the velocity of an iteration, tracking one’s estimate to complete -- these are all things where every team will slip up the first few iterations
    • Without discipline Agile will not work. Setting good examples and continually following up are essential
  • The iterative death spiral
    • People misinterpret the term ‘iterative’ to mean that there is unlimited ability to revisit scope
    • In fact, Agile success hinges on incremental completion of scope throughout the project
    • Teams that do not effectively define their “exit criteria” for each work unit (known as “story”), will never get real closure on work in progress
    • This leads to endless cycles of revisions that are really scope changes but which are not labeled so because of the misperception, causing delays, overruns, and a demoralized team
  • Changes in working style
    • Developers used to working in a solo mode will have a bit of a hump to get over when working in small teams to complete stories.
    • This can manifest itself in stalled work, as communication reverts to inefficient mechanisms such as email (instead of sitting together, or picking up the phone)
    • In a typical project the pressures of learning the business, addressing technology, business, and team personality issues, will very quickly overwhelm even the most prepared person
    • Add to this a major change in delivery methodology and it will lead one to revert to known approaches
    • A major mitigation here is training and more importantly, effective support from someone with actual experience in the field
  • The new role of testing
    • Automated testing is fundamental to quality, short delivery cycles, and hence the agile model
    • Yet, there are many barriers: taking on a legacy application with no existing test suites; lack of tools for many aspects of an application; lack of team knowledge on how to do this
    • People will want to revert to more comfortable manual testing approaches
    • TDD (Test-Driven Development) will be a struggle to adopt. It is counter-intuitive unless tried
  • The change in responsibilities and expectations
    • Given focus on transparency and on pushing responsibility to the team, the Project Lead will be less of a task manager, and more of a problem solver, and will have to “let go” of a lot of previously-held control
    • Developers will work hand in hand with testers and cannot declare a piece of code “done” until the tester gives the green light
    • Testers who are used to having a more clearly specified set of tasks will struggle, as the Agile tester role involves more thought, planning, and business knowledge
    • For Business Analysts, working just in time on requirements will feel very unnatural. Working hand in hand with developers to define requirements and then to help test them as a developer works will feel very foreign
    • This problem will be exacerbated by the multiple reporting structures that exist between team members
    • Issues in IT Development Today
    • Waterfall versus Agile
    • The Reasons Waterfall Fails
    • The Principles and Benefits of Agile
    • Common Pitfalls in Adopting Agile
    • Critical Success Factors for Your Organization
      • Agenda
  • Is Your Organization Ready For Agile?
    • Trust pervades the culture of the organization, the interactions between its people, and its clients
    • Individuals demonstrate a high level of enthusiasm for or openness toward change
    • Management empowers individuals to take risks without fear of repercussions
    • Disciplined execution is representative of the organization’s delivery practices or broadly viewed as a goal worth of striving for
    • Teams and management alike evidence the commitment and patience necessary to seeing through changes despite challenges and disappointments along the way
    • A willingness exists to make reasonable investments in tools, training, coaching and mentoring to facilitate successful adoption and sustained change.
  • Learning Objectives
    • Learned the key benefits of Agile Methodologies versus more traditional approaches
    • Understood the major issues organizations face when adopting agile processes
    • Recognized the critical success factors that are needed to be successful with Agile
      • We reviewed the major “gotchas” that can derail a project with team members new to Agile.
  • Robert McGeachy [email_address]