SlideShare a Scribd company logo
1 of 25
   Agile Development
    › Overview
    › Terminology
    › Team structure
    › Phases
    › Test Driven Development
    • Testing in Agile environment
    • Summary
Agile Software Development is a
methodology for undertaking software
development projects in which incremental
functionality is released in smaller cycles,
and work is performed in a highly
collaborative manner by self-organizing
teams that embrace and adapt changes
to ensure that customer’s needs are truly
met.
   The idea behind the Agile approach is that
    instead of building a release that is huge in
    functionality (and often late to market), an
    organization would adapt to dynamic
    changing conditions by breaking a release
    into smaller shorter cycles of 1 to 6 weeks
   Each cycle is called an Iteration, or Sprint,
    and it’s almost like a miniature software
    project of its own, because it includes all of
    the tasks necessary to release the
    incremental new functionality. In theory, at
    the end of each sprint, the product should
    be ready for a release.
   For example a sprint may range from 4-5
    weeks.
   Agile methodology emphasizes real-time
    communication,       preferably   face-to-face,
    versus written documents and rigid processes.
    In addition, one of the most broadly applicable
    techniques introduced by the agile processes is
    to express product requirements in the form of
    User stories. Each User story has various fields
    including an “actor”, a “goal” or task that they
    need to perform, an explanation of “why” it is
    needed and the associated value, and a
    corresponding “priority”.
•   Most agile teams include all the people
    necessary to release software. At a
    minimum, this includes programmers and
    the group or team they are developing the
    application for, often customers. Typically
    an agile team will also include a Scrum
    Master, testers, interaction designers,
    technical writers, and managers.
•   Usually a scrum project has a team of
    Scrum master, Solution designer, Developer
    and tester governed by Business Ops and
    Market analysis team.
• Scrum is a project management methodology
  to facilitate agile software development, and
  enable the creation of self-organizing agile
  teams.
• Scrum Master is like a traditional project
  manager in the sense that he/she oversees the
  centralization    of    team       communication,
  requirements, schedules and progress. But it is
  also very different because his/her main
  responsibility    is    to     facilitate  team
  communications and provide guidance and
  coaching, while removing impediments to the
  ability of the team to deliver its goals.
Agile can be customized to fit            each
corporation in terms of size, iteration   time,
experience, etc, but typically an         agile
project will have these phases             and
milestones:

› Kickoff meeting
› Sprint/iteration planning
› Scrum meetings
› Final acceptance meeting
Although this may seem routine for any
project, with an agile development project
this is a key element for getting the project
launched. The goal of this meeting is to get
everybody on the team together to review
the product backlog (which is the master list
of all requirements desired in the product
that the product owner has drafted in the
form of user stories)
•   Team collectively decides the sprint goal
    and sprint backlog (list of prioritized work to
    be done for that particular sprint).
•   While the team is collectively creating the
    sprint backlog, stories need to be broken
    into either sub-stories or smaller tasks. On an
    agile team all the members jointly associate
    level of difficulty to specific tasks, they can
    remove or add additional stories and/or
    tasks, and tasks are distributed among the
    team on a per volunteers basis.
   Unlike a traditional project manager
    function, the Scrum Master role in this
    meeting is to maintain the backlog list in the
    meeting based on team feedback and
    consensus, make sure that nobody is
    volunteering for too many tasks to the point
    of overload, and facilitate the process of
    building personal commitment to the team.
   Example Product backlog is attached
    below for reference.
      OTC Ticketing Project (OP681.SWR300)                                                                                          100             Sprint 5          Portal Contingency
      Product Backlog                                                                                                                77             Sprint 4                MMS?
      v.12/10/2010                                                                                                                                                          Baltic


                                                                                                                                  Option 1          Option 3
              Bus
                                  Sprint       Sprint                                                                          Portal Access    Direct Access for   How will this user story
       ID     Ops    Priority                            User Story
                                (Planned)   (Identified)                                                                       for Internal &   Internal Users &       be delivered?
               ID
                                                                                                                               External Users    External Users

      1. OTC Ticketing Application

       1.1    N/a       1           1            0      Sort & Filter Tickets (Server Side)                                          7                  7                 Application

       1.2    N/a       2           2            1      Sort & Filter Strips (Server Side)                                           7                  7                 Application

       1.3    N/a       3           1            0      Broker Entry of Tickets                                                      6                  6                 Application

       1.4    N/a       4           2            1      Broker Entry of Strips                                                       9                  9                 Application

       1.5    N/a       5           1            0      Apply Filter Criteria & Display Results for Tickets                          7                  7                 Application

       1.6    N/a       6           2            1      Apply Filter Criteria & Display Results for Strips                           7                  7                 Application

       1.7    N/a       7           1            0      Apply Sort Criteria & View Ticket Screen for Tickets                         2                  2                 Application

       1.8    N/a       8           2            1      Apply Sort Criteria & View Ticket Screen for Strips                          2                  2                 Application

      1.13    N/a       9           1            0      Tickets Colour Coded by Status                                               4                  4                 Application

      1.16    N/a      10           1            0      Broker Ability to View Buyer & Seller Status of Ticket                       6                  6                 Application

      1.17    N/a      11           2            1      Broker Ability to View Buyer & Seller Status of Strips                       6                  6                 Application

      1.21     32      12           1            0      Ability to Export Tickets from the Ticket View Screen                        2                  2                 Application

      1.22     32      13           2            1      Ability to Export Strips from the Ticket View Screen                         2                  2                 Application
      1.30    N/a      14           2            1      Member Ability to View Strips as a Single Ticket                             8                  8                 Application
      1.14    N/a      15           3            0      Member Ability to Manually Accept & Reject Tickets                           6                  6                 Application

      1.15    N/a      16           3            1      Member Ability to Manually Accept & Reject Strips                            6                  6                 Application

      1.31    N/a      17           3            0      Ticket Release                                                               6                  6                 Application

      1.32    N/a      18           3            0      Ticket Status Update                                                         6                  6                 Application

      1.18    N/a      19           3            0      Option to Cancel Tickets that have not yet been Accepted                     6                  6                 Application

      1.11      2      20           3            0      Super User Viewing all Tickets for all Members                               4                  4                 Application

      1.12      2      21           3            1      Super User Viewing all Strips for all Members                                4                  4                 Application

      1.19      4      22           3            0      Ability to Upload a File of Tickets & Highlight Invalid Tickets              9                  9                 Application

      1.20      4      23           3            1      Ability to Upload a File of Strips & Highlight Invalid Strips                9                  9                 Application

      1.37    N/a      24           4            1      Detect Large Price Variance                                                  8                  8                 Application

      1.29    N/a      25           4            1      LCH Ability to Set Product Based Permissions on Accounts for Members         7                  7                 Application

      1.40    N/a      27           4            3      Seasons for Coal                                                             7                  7                 Application
•   Scrum meetings will be set on a daily basis. Ideally
    10-15 minutes. The objective is to go around so each
    team member can answer 3 questions:

    – what have I accomplished since the last meeting
      (developed, tested, written, etc) ?
    – what will I be working on next ?
    – what are the problems, if any, preventing me from
      accomplishing my goals.

      These meetings are very important to make sure that the
      team moves towards achieving their sprint goal, or
      adapts/evolves and changes priorities and tasks as
      needed if new stories, impediments or new scenarios are
      encountered.
   At the end of the sprint or iteration, usually a
    final acceptance meeting takes place,
    which is typically done by presenting what
    the team has accomplished, and by
    delivering a demo to the customer or to a
    larger audience.
Sample project details

                                        4-6 weeks (Depending on no of user
          Sprint duration                            stories)


              Meeting                        Cycle            Duration


Scrum                                Daily            10 - 15 min


Prioritization meeting (Prioritise
user stories for coming sprint       4 Weeks          2 hrs

Show & Tell (Demo of completed
sprint)                              4 Weeks          2 hrs
   Test-Driven Development (TDD) is a novel
    approach to software engineering that
    consists of short development iterations
    where the test case(s) covering a new
    functionality   are   written    first. The
    implementation code necessary to pass the
    tests is implemented afterwards then tested
    against the test cases. Defects are fixed
    and       components   are    factored    to
    accommodate changes.
   In this approach, writing the code is
    done with a greedy approach, i.e.
    writing just enough to make tests pass,
    and the coding per TDD cycle is usually
    only a one-to-atmost-few short method,
    functions or objects that is called by the
    new test, i.e. small increments of code.
Test-Driven Development can be
  implemented at several levels:
  › Basic cycle which covers the generation of
    unit test cases, implementation, build and
    Refactoring.
  › Comprehensive development process which
    extends the methodology to overall black
    box testing scripts, including performance,
    scalability and security testing.
  › Agile process such as SCRUM
(Top 3 things a QA professional should expect when an organization adopts
Agile/Scrum development techniques)
• QA team are involved in the project from the
  start   –    along    with   their  development
  counterparts--, and they have access to the
  same information about product requirements
  and customer needs at the same time.
• This participation from the onset, combined with
  the fact that development and QA are part now
  of the same agile team, that they get together
  on a daily basis, and that they have full visibility
  into the tasks that each other is performing
  towards the overall success of the sprint, means
  better and more frequent communication
  among themselves.
•   Tester should be prepared to “speak up” much more.
    Agile methodologies are all about building self-
    organized teams, and the voice of a QA
    engineer/tester carries the same weight than a
    developer. In addition, because testers tend to be
    exceptionally good at clarifying requirements and
    identifying alternative scenarios, (especially when
    they have full visibility into product requirements and
    customer needs), they provide valuable input on
    design and architectural decisions throughout the
    project, right from the beginning. And these
    contributions translate into more respect and
    appreciation from their development counterparts.
•   With shorter development cycles of typically no more
    than 6 weeks, and with builds being released all the
    time, testing efforts really need to be optimized as much
    as possible, because there is not separate test phase as
    such. One of the ways to achieve this is by leveraging
    both Exploratory Testing and Automated Testing
    throughout the project. Exploratory testing will come
    very handy when looking for bugs, opportunities to
    improve, and missing features. So tester should plan on
    “exploring” the product at the beginning of each new
    sprint, or any time that there is a change done to a
    product feature within the sprint cycle. Similarly, tester
    will need to plan and build scripts to perform
    automated functional and regression testing within the
    sprint, because there is not enough time for performing
    thorough manual testing.
Agile is all about embracing and rapidly
adapting to changes –which might be hard
to accept at the beginning-- plus there are
new processes, and new communication
styles in place, so you might feel a little
reluctant about it. However, once you get
into the dynamics of agile software
development, it can be a very fun and
empowering experience!

More Related Content

Viewers also liked

Introduction to Agile Methodologies
Introduction to Agile MethodologiesIntroduction to Agile Methodologies
Introduction to Agile MethodologiesSiddhi
 
Manage Agile 2012 Berlin Agile Culture Capability Model
Manage Agile 2012 Berlin Agile Culture Capability ModelManage Agile 2012 Berlin Agile Culture Capability Model
Manage Agile 2012 Berlin Agile Culture Capability ModelAdam Boczek
 
Scrum Testing Methodology
Scrum Testing MethodologyScrum Testing Methodology
Scrum Testing MethodologyGaya1985
 
Agile methodology
Agile methodologyAgile methodology
Agile methodologyPayod Soni
 
software development life cycle(SDLC)
software development life cycle(SDLC)software development life cycle(SDLC)
software development life cycle(SDLC)sanoop s
 
Scott Allen Williams Résumé - Senior Java Software Developer - Agile Technolo...
Scott Allen Williams Résumé - Senior Java Software Developer - Agile Technolo...Scott Allen Williams Résumé - Senior Java Software Developer - Agile Technolo...
Scott Allen Williams Résumé - Senior Java Software Developer - Agile Technolo...Scott Williams
 
Agile QA presentation
Agile QA presentationAgile QA presentation
Agile QA presentationCarl Bruiners
 
Agile Methodologies And Extreme Programming
Agile Methodologies And Extreme ProgrammingAgile Methodologies And Extreme Programming
Agile Methodologies And Extreme ProgrammingUtkarsh Khare
 
Oracle inventory-latest
Oracle inventory-latestOracle inventory-latest
Oracle inventory-latestkishoak
 
Agile Testing: The Role Of The Agile Tester
Agile Testing: The Role Of The Agile TesterAgile Testing: The Role Of The Agile Tester
Agile Testing: The Role Of The Agile TesterDeclan Whelan
 
Manoj resume
Manoj resumeManoj resume
Manoj resumetekwissen
 
Resume Shweta Subhedar Bhide
Resume Shweta Subhedar BhideResume Shweta Subhedar Bhide
Resume Shweta Subhedar BhideShwetaS
 
Manual Testing
Manual TestingManual Testing
Manual TestingG.C Reddy
 
Oracle Fusion Applications Accounts Payables
Oracle Fusion Applications Accounts PayablesOracle Fusion Applications Accounts Payables
Oracle Fusion Applications Accounts PayablesBerry Clemens
 
Prototype model
Prototype modelPrototype model
Prototype modelshuisharma
 
Agile Testing Process
Agile Testing ProcessAgile Testing Process
Agile Testing ProcessIntetics
 

Viewers also liked (20)

Agile Methodology
Agile MethodologyAgile Methodology
Agile Methodology
 
Introduction to Agile Methodologies
Introduction to Agile MethodologiesIntroduction to Agile Methodologies
Introduction to Agile Methodologies
 
Manage Agile 2012 Berlin Agile Culture Capability Model
Manage Agile 2012 Berlin Agile Culture Capability ModelManage Agile 2012 Berlin Agile Culture Capability Model
Manage Agile 2012 Berlin Agile Culture Capability Model
 
Scrum Testing Methodology
Scrum Testing MethodologyScrum Testing Methodology
Scrum Testing Methodology
 
Agile Methodology
Agile MethodologyAgile Methodology
Agile Methodology
 
Agile methodology
Agile methodologyAgile methodology
Agile methodology
 
software development life cycle(SDLC)
software development life cycle(SDLC)software development life cycle(SDLC)
software development life cycle(SDLC)
 
Scott Allen Williams Résumé - Senior Java Software Developer - Agile Technolo...
Scott Allen Williams Résumé - Senior Java Software Developer - Agile Technolo...Scott Allen Williams Résumé - Senior Java Software Developer - Agile Technolo...
Scott Allen Williams Résumé - Senior Java Software Developer - Agile Technolo...
 
Agile QA presentation
Agile QA presentationAgile QA presentation
Agile QA presentation
 
Agile Methodologies And Extreme Programming
Agile Methodologies And Extreme ProgrammingAgile Methodologies And Extreme Programming
Agile Methodologies And Extreme Programming
 
Oracle inventory-latest
Oracle inventory-latestOracle inventory-latest
Oracle inventory-latest
 
Agile Testing: The Role Of The Agile Tester
Agile Testing: The Role Of The Agile TesterAgile Testing: The Role Of The Agile Tester
Agile Testing: The Role Of The Agile Tester
 
Oracle unified method
Oracle unified methodOracle unified method
Oracle unified method
 
Manoj resume
Manoj resumeManoj resume
Manoj resume
 
Resume Shweta Subhedar Bhide
Resume Shweta Subhedar BhideResume Shweta Subhedar Bhide
Resume Shweta Subhedar Bhide
 
Manual Testing
Manual TestingManual Testing
Manual Testing
 
Agile Methodology
Agile MethodologyAgile Methodology
Agile Methodology
 
Oracle Fusion Applications Accounts Payables
Oracle Fusion Applications Accounts PayablesOracle Fusion Applications Accounts Payables
Oracle Fusion Applications Accounts Payables
 
Prototype model
Prototype modelPrototype model
Prototype model
 
Agile Testing Process
Agile Testing ProcessAgile Testing Process
Agile Testing Process
 

Similar to Agile Development Methodology Overview

TRAFFIC SIGN BOARD RECOGNITION AND VOICE ALERT SYSTEM USING CNN
TRAFFIC SIGN BOARD RECOGNITION AND VOICE ALERT SYSTEM USING CNNTRAFFIC SIGN BOARD RECOGNITION AND VOICE ALERT SYSTEM USING CNN
TRAFFIC SIGN BOARD RECOGNITION AND VOICE ALERT SYSTEM USING CNNIRJET Journal
 
Onlinemovieticketbooking 120215060739-phpapp02
Onlinemovieticketbooking 120215060739-phpapp02Onlinemovieticketbooking 120215060739-phpapp02
Onlinemovieticketbooking 120215060739-phpapp02ISHA AHUJA
 
Admin en kix_pro_18
Admin en kix_pro_18Admin en kix_pro_18
Admin en kix_pro_18kostacipos
 
Creating Scalable Analytics Processes
Creating Scalable Analytics ProcessesCreating Scalable Analytics Processes
Creating Scalable Analytics ProcessesFutureBI
 
Railway Ticket Issuing System (Online)
Railway Ticket Issuing System (Online)Railway Ticket Issuing System (Online)
Railway Ticket Issuing System (Online)Rashmika Nawaratne
 
Design phase inventory management
Design phase inventory managementDesign phase inventory management
Design phase inventory managementTahir Mehmood
 
Java source code analysis for better testing
Java source code analysis for better testingJava source code analysis for better testing
Java source code analysis for better testingkalistick
 
Online movie ticket booking
Online movie ticket bookingOnline movie ticket booking
Online movie ticket bookingmrinnovater007
 

Similar to Agile Development Methodology Overview (20)

TRAFFIC SIGN BOARD RECOGNITION AND VOICE ALERT SYSTEM USING CNN
TRAFFIC SIGN BOARD RECOGNITION AND VOICE ALERT SYSTEM USING CNNTRAFFIC SIGN BOARD RECOGNITION AND VOICE ALERT SYSTEM USING CNN
TRAFFIC SIGN BOARD RECOGNITION AND VOICE ALERT SYSTEM USING CNN
 
Tc Management Srs
Tc Management SrsTc Management Srs
Tc Management Srs
 
Tc Management Srs
Tc Management SrsTc Management Srs
Tc Management Srs
 
Tc Management Srs
Tc Management SrsTc Management Srs
Tc Management Srs
 
Tc Management Srs
Tc Management SrsTc Management Srs
Tc Management Srs
 
Cast vs sonar
Cast vs sonarCast vs sonar
Cast vs sonar
 
Cast vs sonar
Cast vs sonarCast vs sonar
Cast vs sonar
 
Tc Management Srs
Tc Management SrsTc Management Srs
Tc Management Srs
 
Tc Management Srs
Tc Management SrsTc Management Srs
Tc Management Srs
 
Onlinemovieticketbooking 120215060739-phpapp02
Onlinemovieticketbooking 120215060739-phpapp02Onlinemovieticketbooking 120215060739-phpapp02
Onlinemovieticketbooking 120215060739-phpapp02
 
Admin en kix_pro_18
Admin en kix_pro_18Admin en kix_pro_18
Admin en kix_pro_18
 
Creating Scalable Analytics Processes
Creating Scalable Analytics ProcessesCreating Scalable Analytics Processes
Creating Scalable Analytics Processes
 
Railway Ticket Issuing System (Online)
Railway Ticket Issuing System (Online)Railway Ticket Issuing System (Online)
Railway Ticket Issuing System (Online)
 
Dashboard
DashboardDashboard
Dashboard
 
Dashboard Doc
Dashboard DocDashboard Doc
Dashboard Doc
 
Jeganathan_Resume
Jeganathan_ResumeJeganathan_Resume
Jeganathan_Resume
 
Design phase inventory management
Design phase inventory managementDesign phase inventory management
Design phase inventory management
 
Role Based Access Control - Overview
Role Based Access Control - OverviewRole Based Access Control - Overview
Role Based Access Control - Overview
 
Java source code analysis for better testing
Java source code analysis for better testingJava source code analysis for better testing
Java source code analysis for better testing
 
Online movie ticket booking
Online movie ticket bookingOnline movie ticket booking
Online movie ticket booking
 

Agile Development Methodology Overview

  • 1.
  • 2. Agile Development › Overview › Terminology › Team structure › Phases › Test Driven Development • Testing in Agile environment • Summary
  • 3. Agile Software Development is a methodology for undertaking software development projects in which incremental functionality is released in smaller cycles, and work is performed in a highly collaborative manner by self-organizing teams that embrace and adapt changes to ensure that customer’s needs are truly met.
  • 4. The idea behind the Agile approach is that instead of building a release that is huge in functionality (and often late to market), an organization would adapt to dynamic changing conditions by breaking a release into smaller shorter cycles of 1 to 6 weeks
  • 5. Each cycle is called an Iteration, or Sprint, and it’s almost like a miniature software project of its own, because it includes all of the tasks necessary to release the incremental new functionality. In theory, at the end of each sprint, the product should be ready for a release.  For example a sprint may range from 4-5 weeks.
  • 6. Agile methodology emphasizes real-time communication, preferably face-to-face, versus written documents and rigid processes. In addition, one of the most broadly applicable techniques introduced by the agile processes is to express product requirements in the form of User stories. Each User story has various fields including an “actor”, a “goal” or task that they need to perform, an explanation of “why” it is needed and the associated value, and a corresponding “priority”.
  • 7.
  • 8. Most agile teams include all the people necessary to release software. At a minimum, this includes programmers and the group or team they are developing the application for, often customers. Typically an agile team will also include a Scrum Master, testers, interaction designers, technical writers, and managers. • Usually a scrum project has a team of Scrum master, Solution designer, Developer and tester governed by Business Ops and Market analysis team.
  • 9. • Scrum is a project management methodology to facilitate agile software development, and enable the creation of self-organizing agile teams. • Scrum Master is like a traditional project manager in the sense that he/she oversees the centralization of team communication, requirements, schedules and progress. But it is also very different because his/her main responsibility is to facilitate team communications and provide guidance and coaching, while removing impediments to the ability of the team to deliver its goals.
  • 10. Agile can be customized to fit each corporation in terms of size, iteration time, experience, etc, but typically an agile project will have these phases and milestones: › Kickoff meeting › Sprint/iteration planning › Scrum meetings › Final acceptance meeting
  • 11. Although this may seem routine for any project, with an agile development project this is a key element for getting the project launched. The goal of this meeting is to get everybody on the team together to review the product backlog (which is the master list of all requirements desired in the product that the product owner has drafted in the form of user stories)
  • 12. Team collectively decides the sprint goal and sprint backlog (list of prioritized work to be done for that particular sprint). • While the team is collectively creating the sprint backlog, stories need to be broken into either sub-stories or smaller tasks. On an agile team all the members jointly associate level of difficulty to specific tasks, they can remove or add additional stories and/or tasks, and tasks are distributed among the team on a per volunteers basis.
  • 13. Unlike a traditional project manager function, the Scrum Master role in this meeting is to maintain the backlog list in the meeting based on team feedback and consensus, make sure that nobody is volunteering for too many tasks to the point of overload, and facilitate the process of building personal commitment to the team.
  • 14. Example Product backlog is attached below for reference. OTC Ticketing Project (OP681.SWR300) 100 Sprint 5 Portal Contingency Product Backlog 77 Sprint 4 MMS? v.12/10/2010 Baltic Option 1 Option 3 Bus Sprint Sprint Portal Access Direct Access for How will this user story ID Ops Priority User Story (Planned) (Identified) for Internal & Internal Users & be delivered? ID External Users External Users 1. OTC Ticketing Application 1.1 N/a 1 1 0 Sort & Filter Tickets (Server Side) 7 7 Application 1.2 N/a 2 2 1 Sort & Filter Strips (Server Side) 7 7 Application 1.3 N/a 3 1 0 Broker Entry of Tickets 6 6 Application 1.4 N/a 4 2 1 Broker Entry of Strips 9 9 Application 1.5 N/a 5 1 0 Apply Filter Criteria & Display Results for Tickets 7 7 Application 1.6 N/a 6 2 1 Apply Filter Criteria & Display Results for Strips 7 7 Application 1.7 N/a 7 1 0 Apply Sort Criteria & View Ticket Screen for Tickets 2 2 Application 1.8 N/a 8 2 1 Apply Sort Criteria & View Ticket Screen for Strips 2 2 Application 1.13 N/a 9 1 0 Tickets Colour Coded by Status 4 4 Application 1.16 N/a 10 1 0 Broker Ability to View Buyer & Seller Status of Ticket 6 6 Application 1.17 N/a 11 2 1 Broker Ability to View Buyer & Seller Status of Strips 6 6 Application 1.21 32 12 1 0 Ability to Export Tickets from the Ticket View Screen 2 2 Application 1.22 32 13 2 1 Ability to Export Strips from the Ticket View Screen 2 2 Application 1.30 N/a 14 2 1 Member Ability to View Strips as a Single Ticket 8 8 Application 1.14 N/a 15 3 0 Member Ability to Manually Accept & Reject Tickets 6 6 Application 1.15 N/a 16 3 1 Member Ability to Manually Accept & Reject Strips 6 6 Application 1.31 N/a 17 3 0 Ticket Release 6 6 Application 1.32 N/a 18 3 0 Ticket Status Update 6 6 Application 1.18 N/a 19 3 0 Option to Cancel Tickets that have not yet been Accepted 6 6 Application 1.11 2 20 3 0 Super User Viewing all Tickets for all Members 4 4 Application 1.12 2 21 3 1 Super User Viewing all Strips for all Members 4 4 Application 1.19 4 22 3 0 Ability to Upload a File of Tickets & Highlight Invalid Tickets 9 9 Application 1.20 4 23 3 1 Ability to Upload a File of Strips & Highlight Invalid Strips 9 9 Application 1.37 N/a 24 4 1 Detect Large Price Variance 8 8 Application 1.29 N/a 25 4 1 LCH Ability to Set Product Based Permissions on Accounts for Members 7 7 Application 1.40 N/a 27 4 3 Seasons for Coal 7 7 Application
  • 15. Scrum meetings will be set on a daily basis. Ideally 10-15 minutes. The objective is to go around so each team member can answer 3 questions: – what have I accomplished since the last meeting (developed, tested, written, etc) ? – what will I be working on next ? – what are the problems, if any, preventing me from accomplishing my goals. These meetings are very important to make sure that the team moves towards achieving their sprint goal, or adapts/evolves and changes priorities and tasks as needed if new stories, impediments or new scenarios are encountered.
  • 16. At the end of the sprint or iteration, usually a final acceptance meeting takes place, which is typically done by presenting what the team has accomplished, and by delivering a demo to the customer or to a larger audience.
  • 17. Sample project details 4-6 weeks (Depending on no of user Sprint duration stories) Meeting Cycle Duration Scrum Daily 10 - 15 min Prioritization meeting (Prioritise user stories for coming sprint 4 Weeks 2 hrs Show & Tell (Demo of completed sprint) 4 Weeks 2 hrs
  • 18. Test-Driven Development (TDD) is a novel approach to software engineering that consists of short development iterations where the test case(s) covering a new functionality are written first. The implementation code necessary to pass the tests is implemented afterwards then tested against the test cases. Defects are fixed and components are factored to accommodate changes.
  • 19. In this approach, writing the code is done with a greedy approach, i.e. writing just enough to make tests pass, and the coding per TDD cycle is usually only a one-to-atmost-few short method, functions or objects that is called by the new test, i.e. small increments of code.
  • 20. Test-Driven Development can be implemented at several levels: › Basic cycle which covers the generation of unit test cases, implementation, build and Refactoring. › Comprehensive development process which extends the methodology to overall black box testing scripts, including performance, scalability and security testing. › Agile process such as SCRUM
  • 21. (Top 3 things a QA professional should expect when an organization adopts Agile/Scrum development techniques)
  • 22. • QA team are involved in the project from the start – along with their development counterparts--, and they have access to the same information about product requirements and customer needs at the same time. • This participation from the onset, combined with the fact that development and QA are part now of the same agile team, that they get together on a daily basis, and that they have full visibility into the tasks that each other is performing towards the overall success of the sprint, means better and more frequent communication among themselves.
  • 23. Tester should be prepared to “speak up” much more. Agile methodologies are all about building self- organized teams, and the voice of a QA engineer/tester carries the same weight than a developer. In addition, because testers tend to be exceptionally good at clarifying requirements and identifying alternative scenarios, (especially when they have full visibility into product requirements and customer needs), they provide valuable input on design and architectural decisions throughout the project, right from the beginning. And these contributions translate into more respect and appreciation from their development counterparts.
  • 24. With shorter development cycles of typically no more than 6 weeks, and with builds being released all the time, testing efforts really need to be optimized as much as possible, because there is not separate test phase as such. One of the ways to achieve this is by leveraging both Exploratory Testing and Automated Testing throughout the project. Exploratory testing will come very handy when looking for bugs, opportunities to improve, and missing features. So tester should plan on “exploring” the product at the beginning of each new sprint, or any time that there is a change done to a product feature within the sprint cycle. Similarly, tester will need to plan and build scripts to perform automated functional and regression testing within the sprint, because there is not enough time for performing thorough manual testing.
  • 25. Agile is all about embracing and rapidly adapting to changes –which might be hard to accept at the beginning-- plus there are new processes, and new communication styles in place, so you might feel a little reluctant about it. However, once you get into the dynamics of agile software development, it can be a very fun and empowering experience!

Editor's Notes

  1. In addition, because the entire team meets every day (development, QA, product management, etc) there are more opportunities for collaboration and more view points towards performing a particular task.