Agile Maintenance 1.0

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Notes on slide 1

    Many organizations explore agile development methods as way to efficiently deliver software. • Agile can deliver long-term benefits, if built on a foundation of best practices and skills to drive success. • Agile does not equal ad hoc or development with no control, which may produce early returns but long-term failure. Agile is not an excuse to eliminate processes or controls. Agile teams can often point to agile themes of "value working code over comprehensive documentation," or "individuals and interactions over process and tools," and mistakenly strip away the need for all design, documentation and any semblance of tools and process.

    Many organizations explore agile development methods as way to efficiently deliver software. • Agile can deliver long-term benefits, if built on a foundation of best practices and skills to drive success. • Agile does not equal ad hoc or development with no control, which may produce early returns but long-term failure. Agile is not an excuse to eliminate processes or controls. Agile teams can often point to agile themes of "value working code over comprehensive documentation," or "individuals and interactions over process and tools," and mistakenly strip away the need for all design, documentation and any semblance of tools and process.

    Favorites, Groups & Events

    Agile Maintenance 1.0 - Presentation Transcript

    1. Agile Maintenance A Case Study ShriKant Vashishtha [email_address] http://svashishtha.wordpress.com/about/
      • Software maintenance in software engineering is the modification of a software product after delivery to correct faults, to improve performance or other attributes, or to adapt the product to a modified environment (ISO/IEC 14764)
      Definition
      • What is Agile Maintenance all about?
      • Share learning of Xebia Application Lifecycle Management approach
      Agenda
      • Support team wait for issues to come
      • Customer communicates bugs through Manager using Bugzila, Excel or email
      • Support team simulates the bug and fix it
      • Update the test case document and design document and traceability matrix
      • Testing team tests the issue and runs regression tests
      • After acceptance test, patch is deployed in the production
      A Snapshot of Traditional Maintenance
      • No transparency in:
        • Estimation and time to deliver
        • What team does and doesn’t
      • Manual tests and a lot of focus on unnecessary documentation
      • Passive approach. No focus on reducing technical debt
      • Demotivated team
      Issues in Traditional Approach
      • A bug reported and added into product backlog
      • Team estimates the bug
      • Bug added to Sprint backlog
      • Developer begins the work with definition of READY and agrees on definition of DONE
      • Write test case and reproduce bug
      • Fix the bug and run test cases as part of CI.
      • Ready for automated acceptance testing (Fitnesse)
      Lifecycle of a Bug in Agile Maintenance
    2. Test Cases Bug to be fixed or code to be refactored Tests as Vise
      • Bug is logged in issue tracking tool (JIRA/ScrumWorks)
      • Developers estimate and Product Owner prioritizes the issues.
      • Pro-active instead of Reactive
        • Pay off technical debt
        • Fixing the leaks
      • Improving quality of existing software
        • Focus on automated testing (unit/integration/acceptance)
        • Test coverage more than 85%
        • Adhere to standards through automated code review
      A Snapshot of Agile Maintenance
    3. Agile Maintenance
      • No transparency in:
        • Estimation and time to deliver
        • What team does and doesn’t
      • Manual tests and a lot of focus on unnecessary documentation
      • Passive approach. No focus on reducing technical debt
      • Demotivated team
      Traditional Maintenance Issues Revisited
      • Maintenance is unpredictable. Sometimes you get a lot of issues, sometimes not
      One Team Multiple Projects – Forces
      • You may want to safeguard the project from any knowledge-base loss in case of any illness/vacations
      • Human resources go waste if maintenance team doesn’t have any issues in hand
      One Team Multiple Projects – Forces
      • One single consolidated list of issues from multiple projects handled in a Scrum sprint
      • Proxy product-owner (PPO) from Xebia talks to product-owners, understand priority and define product backlog
      • PPO then has a planning meeting with team and define Sprint backlog
      • Team handles the issues of multiple projects mentioned in the sprint backlog
      One Team Multiple Projects – The Concept
    4. One Team Multiple Projects Common Sprint Backlog
    5. One Team Multiple Projects Scrum Board and Burndown Chart
      • Good value of money. Comparatively smaller team handles multiple projects
      • Good team spirit. Self-organizing team handles multiple projects
      • Developers have a lot of choice to work and experiment with
      • Knowledge base stays with the whole team instead of one single individual. It provides better results in handling critical issues as knowledge base is bigger now
      One Team Multiple Projects Advantages
      • No transparency in:
        • Estimation and time to deliver
        • What team does and doesn’t
      • Manual tests and a lot of focus on unnecessary documentation
      • Passive approach. No focus on reducing technical debt
      • Demotivated team
      Traditional Maintenance Issues Revisited Yet Again
      • A maintenance Sprint may consist:
        • Priority 1 bug (show-stoppers)
        • Priority 2 bug (major)
        • Priority 3 bug (low)
        • Priority 4 bug (improvements)
        • Refactoring for design improvements
        • Enhancement required in the functionality
      • Product owner decides the priority of the issues and defines the Sprint backlog with the help of team and Scrum Master
      A Sprint in Maintenance Project
      • Estimate a part of Sprint (for instance 20%) to work on production issues
      • Stop a sprint if you find Priority 1 issue and plan accordingly
      • Allocate a part of team to work dedicatedly on Priority 1 issue
      • Use Kanban
      • Follow Type C Scrum
      Dealing with Priority 1 Issues in Agile Sprint - Approaches
    6. Type A - Isolated cycles of work Type B - Overlapping iterations Type C – All at Once Type C Scrum
    7. Type C Scrum Explained
      • Don't Let Short-Term Agile Create Long-Term Pain – Gartner
      • Preparing for Agile Maintenance – Knowledge Management – Xebia Blog
      • Knowledge Transfer in Agile Maintenance Projects – Xebia Blog
      • Agile Maintenance – One Team Multiple Projects – Xebia Blog
      • Type C Scrum Explained – Xebia Blog
      • Agile Way of Documentation – Xebia Blog
      • Working Effectively with Legacy Code – Michael Feathers
      • The definition of READY – Xebia Blog
      References
    8. Questions

    + Xebia IT ArchitectsXebia IT Architects, 4 months ago

    custom

    429 views, 0 favs, 0 embeds more stats

    This ppt is presented by Shrikant Vashishtha (Princ more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 429
      • 429 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 20
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories