Agile Offshore Development DevelopJET @ $2500/Month

Agile Offshore Product Testing BudgetQA @ $2000/Month

What we tweet...

Posting tweet...

Powered by Twitter Tools

The ABC of Quality Assurance in Agile offshore

Offshoring and Quality assurance

For every software product company which is doing agile offshore, Quality Assurance (QA) is one of the critical components that help in maintaining a competitive edge. While doing QA with geographically dispersed teams, the offshore team has to offer end-to-end customer-oriented testing service till the software as designed and implemented fulfills the requirements set out at the requirements stage.

Well and good…So the question is How can we assure the win- win situation for both onsite and offsite sides?

When the customer and the team are separated by a distance, certain issues invariably arise. And QA also comes under that bracket. Here are some of the best practices in testing we can adopt for a successful QA in an off shored agile team.

* No language barriers.Rely on English or other conceivable language. It is important as agile is all about communication. The testers review the stories and story tests to make sure the stories are consistent and testable, and can go back to the customer with questions. So for this smooth conversation language shouldn’t be a barrier.

* When organizing a dedicated team for QA choose the most appropriate skills for your project .It is all about picking up the most talented from the pool. The onsite company can select the right testers after personal interviewing and necessary tests.

* Synchronize the offshore with the onsite business hours. Builds and test runs can be scheduled to be ready by offshore mornings so that the analysis on any failures is complete and ready to be picked up by onsite mornings.

* Focus on short iterations and quick feedback cycles. Keep up with development iterations and regression testing. Do upfront testing, i.e. test-driven development and unit testing.

* Incorporate a high degree of automation, particularly around regression testing and continuous integration. Use lightweight regression testing tools. Sometimes, due to the size of the product, it is not practical to run the entire suite of regression tests because it simply takes too long.

Skilled and experienced dedicated testers are an invaluable part of any good Agile team. Applying their expertise and using some of the approaches outlined in this article can help in ensuring successful delivery and ultimately, customer satisfaction.

Share and Enjoy:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Blogplay
  • email
  • LinkedIn
  • MisterWong
  • MySpace
  • Propeller
  • Reddit
  • RSS
  • StumbleUpon
  • Technorati
  • Twitter
 

Tester’s role in Agile testing

Today’s trend in Software Development is racing towards achieving Targets, Quality and Customer Satisfaction within a limited time frame and Agile methodology is one of the strategy adopted for addressing these challenges. As customer satisfaction and ROI are linked to product quality and cost of quality, QA and testing services have a critical bearing on the success of any Agile project.

Let’s have a look at the life of a tester in an Agile environment .The testing agenda during each development phase is very crucial for a tester. The different phases include:

Project Initiation Phase

As a part of the project team the Test Manager is responsible for establishing the quality of process. So in the initiation phase, the test strategy of a tester will include and he should be aware of the details of the Agile development process being used.

Development Phase

The testers, developers, business analysts and project stakeholders all contribute to kick-off meetings where the “user stories” are selected for the upcoming sprint. The testers create test scenarios which are presented to the business analysts and project stakeholders for their approval and signoff. These test scenarios are then broken down to test cases that offer adequate test coverage for the given functionality.

The developers then write code that will pass the tests. In this approach the development and testing take place continuously throughout the sprint – there is no separate testing phase.

Sprints in an Agile project can extend to multiple levels in a complex system. At the end of the Sprint the testing team’s goal is to have a release available with minimal defects and risks thereby ensuring that existing functionality has not been impacted by the introduction of new functionality in each iteration cycle.

Release Phase

The aim of any Agile project is to deliver a basic working product as quickly as possible and then to go through a process of continual improvement. Prior to release, a final acceptance test is performed before transitioning the application into production.

What a Agile tester should be armed with?

Agile projects present their own challenges to the testing team like unclear project scope, multiple iterations, minimal documentation, early and frequent testing needs. All these challenges demand special and diverse skills from the testing team to tackle it. Some of the essential skills for getting equipped are:

* Resource Management

Test resource is required to define the scenarios and test cases. Conduct manual testing alongside the developers, write automated regression tests and execute the automated regression packs. The availability of a pool of professional test resources offers the scope for effective resource management across the agile project life cycle.

* Communication

The benefits of independent testing will not be realized unless good communication exists between the testers, developers, business analysts and project stakeholders. Keep up the conversation using a combination of face-to-face conversation, meetings and workshops, phone calls, email and WebEx meetings. The iterative model of development and the frequency of releases mandate that all teams have a common understanding of the user requirements.

* Processes

Another key success factor for Agile Development is the implementation of quality governance processes such as configuration management. Testing teams should be aware of the best practices that are accredited with globally recognized certifications (e.g. TMMi, CMMi, ISO etc.).

* Requirements Elicitation

Product requirements in Agile projects are often captured in the form of user stories. The testers should be experienced and smart in analyzing and defining the testing requirements in the absence of any product documentation. The testers should also be equipped with alternative ways of deriving test requirements. Although the customers should lead the effort, they benefit from testers’ technical expertise and ability to imagine diverse scenarios.

Specialist testers from the Agile test team should possess these and many more skills which are attained through experience as testing professionals. To ensure accelerated delivery of working software which conforms to the desired quality, the testing team should be involved from the beginning of every iterative development cycle and not just after the first couple of sprints. Their own agility and flexibility is essentially the key to their success in the project.

Share and Enjoy:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Blogplay
  • email
  • LinkedIn
  • MisterWong
  • MySpace
  • Propeller
  • Reddit
  • RSS
  • StumbleUpon
  • Technorati
  • Twitter
Name
Email
Company
Phone
Interested in
Additional Details
formBuilderCap
 

Agile Testing vs Traditional Testing

In traditional development methods testing emerges as a sprint (in the literal sense) racing against time during the final phases of the project. When the testers in numbers from one to many pile over bits and pieces of so called workable code and scroll their workability and identify things that are wrong. This include from how it is not functioning properly to how it does not meet the actual specifications and even how they don’t properly integrate themselves.

The Result, the whole project spirals to another laborious schedule of fixing, patching and even redeveloping in some cases. The result missed opportunities, cost over runs, and stranded release dates all hovering on the brink of loss.

Who is at fault?

The Developers, No, they were building code that should have worked

The Testers, Damn No, they are doing their Job

Neither can you blame the project managers for they followed a process proven to succeed. But the fact, it was proven to in many cases succeed in the face of an abundant budget.

Instead of figuring who and what was at fault here, let’s take it for granted that this was the way it was done.

Now fast forward to current market situation.

The reality is slightly different now we have Great ideas, No Time, insufficient funds and a Great market opportunity to address, all grouped together in varying levels of intensity.

Tread the traditional route, failure is inevitable

Success of Agile Testing

The Solution for many of them now is Agile Development and agile testing is part of this whole bandwagon.

How? Here testers are not detached from the development process, but are just a part of it as anyone else. The Delivery cycles have shortened to become Sprints. Its always agile, you don’t walk you sprint and you always have multiple finish lines that you cross in every sprint. The software evolves is the right way to put it than saying build.

In Agile Testing, testers adapt to rapid deployment cycles and changes in testing patterns. It involves the process of testing from the clients perspective at a very early stage it self.

Now apart from being Agile and having to work on incremental pieces of software code, what other thing do they differ from the traditional process?

Quantify, Qualify and Automate

The Automation mindset, though manual testing and the exploratory testing practice is important, the break even point is how you are able to achieve automation. How do you qualify elements of automation fast and implement them is a crucial element.

Relaying just on manual and intuition testing is not enough; you need to automate to deliver on time. Your degree of automation will depend on the nature of project and of course your budget to invest into automation tools and scripting effort. The advent of many open source tools can ease up the purse a bit though.

Testing in Agile is no more a separate phase; it is inbuilt into your development effort/cost. It is an ongoing process that ensures continued quality that progresses as the software evolves.

So a few must need things for making your testing agile

  1. A minimum commitment to testing very early of your project
  2. A strategy for automation and
  3. The ability to quantify the testability much early so you can qualify elements for Automation
  4. The ability to have the retrace bugs faster to the core functionality so you can fix them completely during the sprint cycle itself

It is simple but needs you to know that testing is a driving force just like project management and development

If you are interested in chatting with me or getting more information on our BudgetQA model, please send me a note below

Share and Enjoy:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Blogplay
  • email
  • LinkedIn
  • MisterWong
  • MySpace
  • Propeller
  • Reddit
  • RSS
  • StumbleUpon
  • Technorati
  • Twitter
Name
Email
Company
Phone
Interested in
Additional Details
formBuilderCap
 

Contact Us Today

ITFlux Inc.
Ph: 510-792-8897
Fax: 408-877-1588
www.itflux.com

Development Center

ITFlux Technologies Pvt. Ltd.
Plot #54, Kumaranasan Nagar
Kochi - 20, India
Ph:(+91)-484-3101222

Contact Us

Name

Company

Email

Message

Download Whitepaper
Is Offshoring Right for you?
Amidst the pros and cons of using an offshore software development service there are a few things every company planning to embark on a relationship of the sort need to be prepared with.
Whitepaper Thumb
Download Whitepaper
ALM-OPENSOURCE-SEMINAR
Application Life Cycle Management or ALM signifies an extensive and end-to-end domain in the Information Technology Industry...
Whitepaper Thumb