Friday, October 2, 2015

Agile Testing Quadrants, Tester Tasks and Key Success factors for Agile testing

Tester Tasks:

  • Be Proactive
    • Benifits
    • Do You Really Need this
    • Potential Downsides to advanced Preparations
  • Advance Clarity
    • Customers speak with one voice
    • Story size
    • Geographically Dispersed Customers and teams
  • Examples
  • Test Strategies
  • Prioritize Defects
  • Resources

Key Success Factors:
  • Use the Whole-Team Approach
  • Adopt an agile testing mind-set
  • Automate Regression testing
  • Provide and Obtain Feedback
  • Build a foundation of core practices
  • Collaborate with customers
  • Look at the big picture

Agile Testing Quadrants:



The quadrant numbering system does NOT imply any order. You don’t work through the quadrants from 1 to 4, in a waterfall style. It’s just an arbitrary numbering so that, in our book and when we are talking about the quadrants, we can say “Q1” instead of “technology-facing tests that support the team”. 

Most projects would start with Q2 tests, because those are where you get the examples that turn into specifications and tests that drive coding, along with prototypes and the like. However, I have worked on projects where we started out with performance testing (which is in Q4) on a spike of the architecture, because that was the most important criterion for the feature. If your customers are uncertain about their requirements, you might even do a spike and start with exploratory testing (Q3).

Q3 and Q4 testing pretty much require that some code be written and deployable, but most teams iterate through the quadrants rapidly, working in small increments. Write a test for some small chunk of a feature, write the code, once the test is passing, perhaps automate more tests for it, do exploratory testing on it, do security or load testing on it, whatever, then add the next small chunk and go through the whole process again.

The quadrants are merely a taxonomy to help teams plan their testing and make sure they have all the resources they need to accomplish it. There are no hard and fast rules about what goes in what quadrant. Think through them as you do your release, theme, and iteration planning, so your whole team starts out by thinking about testing first.

Source: "Agile Testing" Book by Lisa and Janet



Cultural Challenges, Team Logistics, Iteration Kick-Off of Agile testing


Cultural Challenges:

  • Organizational Culture
    • Quality Philosophy
    • Sustainable Pace
    • Customer Relationships
    • Organization Size
    • Empower your team
  • Barriers to Success
    • Loss of identity
    • Additional Roles
    • Lack of training
    • Not understanding agile concepts
    • Past experiences
    • Cultural Differences among roles
  • Introducing Change
    • Talk about fears
    • Give team ownership
    • Celebrate success
  • Management Expectations
    • Cultural shange for managers
    • Speaking the managers language
  • Change Doesn't come easy
    • Be patient
    • Let them feel the pain
    • Build your creditability
    • Professional Development
    • Beware the Quality Policy Mentality
    • Vote with your feet

Team Logistics:
  • Team Structure
    • Independent QA Team
    • Integrating Testers into Agile Projects
    • Agile Project Teams
  • Physical Logistics
  • Resources
    • Tester-Developer ratio
    • Hiring an agile tester
  • Building a Team
    • Self-organizing Team
    • Involving Other team
    • Every team member has equal value
    • Performance and Rewards
    • What you can do

Iteration Kick-Off:

  • Iteration Planning
    • Learning the Details
    • Considering all viewpoints
    • Writing task cards
    • Deciding on workload
  • Testable Stories
  • Collaborate With Customers
  • High Level Tests and Examples
    • Review with Customers
    • Review with Programmers
    • Test Cases as Documentation

Definition, Mind-Set and Principles For Agile Testers

Agile Tester:
          A Professional tester who embraces change, collaborates well with both technical and business people, understands the concept of using tests to document requirements and drive development.

          Agile testing generally means the practice of testing software for bugs or performance issues within the context of an agile workflow.

          Agile testers tend to have good technical skills, know how to collaborate with others to automate tests and are also experienced exporatory testers.

Mind-Set:
          Agile is team continously focues on doing its best work and delivering the best possible product.
          In my experience this involves a ton of discipline, learning, time, experimentation and working together.
          Agile tester doesn't see her/him-self as a quality police officer, protecting her customers from inadequate code. S/he's ready to gather and share the information to work with the customer, product owner in order to help them express their requirements adequately. So, that they can get features they needed and to provide feedback on project status to everyone.

          Bottom line, Agile testers like their agile team-mates enjoy learning new skils and taking on new challenges and they dont limit themselves to solving only testing issues.

Testers might have special expertise and experience in testing, but a good agile tester isn’t afraid to jump into a design discussion with suggestions that will help testability or create a more elegant solution. Agile testing mind-set is one that is result-oriented, craftsman-like, collaborative, eager to learn and passionate about delivering business value in a timely manner.

Agile Testing Mind-Set Component:

    • Creativity
    • Openness to ideas
    • Willingness to take on any tests/role
    • Focus on customer
    • Constant view of the big picture.

Major Agile Principles:
          Agile testing principles are,
    • Provide Continous Feedback
    • Deliver value to the customer
    • Enable face-to-face communication
    • Have courage
    • Keep it simple
    • Practice continous improvement
    • Respond to change
    • Self-organize
    • Focus on people
    • Enjoy              

Source: https://dzone.com/articles/agile-testing-principles.




Overview of Agile Testing, Roles and Activities of Agile Team



An Overview of Agile Testing:
  • Agile testers work to ensure that their team delivers the quality their customer need.
  • Each agile team member is focused on delivering a high-quality product that provides business value
  • If you want to know how agile values, principles and practices applied to testing can help you, as a tester, do your best work and help your team deliver more business value
  • Working harder and longer doesn't help when your task is impossible to achieve. Agile development acknowledges the reality that we only have so many good productive hours in a day or week.
  • Agile development encourages us to solve our problems as a team (Business people, testers, programmers, analysts) - everyone involved in software development, decides together how best to improve their product.


Roles and Activites of Agile Team:

    Customer Team:
             Customer team includes Business Experts, Product Owner, Domain Experts, Product Managers, Business Analyst, Subject Matter Expert, Testers,. etc.. Everyone on the business side of a project. 

    Developer Team:
             Everyone involved with delivering code is a developer and is part of a developer team. Programmers, System Administrators, Architects, Database Administrators, Techinical writers, Security Specialities, Testers,. etc.
 
Whole - Team Approach:
             The whole-team approach, also called the team-based approach, is a style of project management in which everyone on the project team is held equally responsible for the quality and success of the project.
             A whole team approach recognizes that in order for the team to be successful, members cannot operate in isolation. Each team member must know and appreciate every other team member's strengths and skills.  Each team member must also be willing to switch roles when the need arises and remained focused on the success of the project, doing whatever is necessary whether or not it's technically "their job."

Source: Searched on Internet

Manifesto Of Agile Development

For me Agile Means "Move Quickly and Easily"

We are un-covering better ways of developing software by doing it and helping others to do it.

Through this workwe have come to value:

                   1: Individuals and Interactions over processes and tools
                   2: Working Software over comprehensive documentation
                   3: Customer collaboration over contract negotiation
                   4: Responding to change over following a plan

That is, While there is value in the items on the right, we value the items on the left more.



Source: "www.agilemanifesto.org"