Definition of an Agile Testing Process – The Application Deve- lopment Life Cycle Agile Testing

The majority of my experience has involved the generation of software development life cycles–how they are managed, by whom, and for what purpose. I used this experience to create a template from which I could include the best practices encouraged from the numerous best-of-breed development methods at my disposal; my main sources of references being Extreme Programming(XP), Scrum, iterative development, and agile development.

From these methods, I focused on developing a life cycle that could encompass the following best-of-breed practices from these best-of-breed agile methods:

  • From Extreme Programming, I selected refactoring, spike development, user stories, and minor releases.
  • From Scrum, I selected Heartbeat Retrospective,
    dynamic information, and sprints.
  • From iterative development, I selected spiral process.
  • From agile development, I selected working software, response to change, and collaboration.

The keystone for my life cycle was user stories:the ability to articulate requirements in sufficient detail to allow a reasonable development estimate to be made. In terms of managing user stories with technology, Harvest packages and their related electronic forms were designed to capture the necessary information for a standard user story.

Life-cycle workflow 1

Life-cycle workflow 1

Once the user stories were created, it was necessary to under go formal validation and iteration planning(development planning) – the process of assigning user stories to particular iterations, or sprints, based on resources, effort and priority. Modeled in Harvest,1 this process looked as shown in Figure.

You will notice that the terms are not literally extracted from the methods in which they originally belong;this was to reduce the “cultural shock” and make the transition more seamless for the end users.

From iteration planning(development planning) the user story could be sent to the development team, either as a planned piece of work or as a support and maintenance development.

Depending on the customer requirements, support and maintenance could also take on the role of “spike development,” as per the XP method. For this particular customer, the principle of working on the latest version of the code, in an isolated environment on the branch, lent itself to support and maintenance development but could have easily been labeled “spike development” with no functional changes to the SCM product.

The resulting life cycle process was further developed as shown in Figure. It is in development that the continuous integration builds were implemented;this will be covered in more detail later in this section.

Assuming a successful build was produced, the user stories would then be promoted through the SCM product to a staging area where the business acceptance could take place. Once the business had accepted the changes, they would be promoted for a minor release.

In the event that the business required rework, the user story was demoted back to development where the necessary changes could be made and the user story reused

Life-cycle workflow

Life-cycle workflow

to repeat the process. The advantage of using a tool for managing the process means that workflow information can be continually tracked–identifying the proportion of “new development” versus “rework,” for example, may be an extremely useful metric of the productivity of the team, how accurate the requirements are being specified, or the capability of the assigned developers see Figure. This completes the end-to end application life cycle, as shown in Figure.

Life-cycle workflow .

Life-cycle workflow

Life-cycle workflow .

Life-cycle workflow

From Figure the process should become clear with respect to what has been implemented and how it has been influenced by various development methods.


Face Book Twitter Google Plus Instagram Youtube Linkedin Myspace Pinterest Soundcloud Wikipedia

All rights reserved © 2018 Wisdom IT Services India Pvt. Ltd DMCA.com Protection Status

Agile Testing Topics