lighttangent

Loading

Blog

What is Agile Manifesto

Agile Manifesto is a brief document which was created by 17 visionaries in 2001. The goal was to create core principles and values for Agile software development. It has 4 values and 12 principles for agile software development.

4 Values of Agile Manifesto

  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

12 Principles behind the Agile Manifesto

  • Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.

Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.

Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.

Business people and developers must work together daily throughout the project.

Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.

The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.

Working software is the primary measure of progress.

Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.

Continuous attention to technical excellence and good design enhances agility.

Simplicity–the art of maximizing the amount of work not done–is essential.

The best architectures, requirements, and designs emerge from self-organizing teams.

At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

Source – agile manifesto.org

Tip – If you are new to agile, read this multiple times and understand the 4 values and 12 principles as this is the core of agile. Any deviation from these values and principles a

Agile basics

What is Agile?

Agile is a buzzword for a long time now in every industry. Change in every industry is fast and will be faster in the years to come; hence agility is key to cater to this change. In simple words, agile means able to move quickly and easily.

Initially agile was used in IT software development however this has been adopted across industries considering the benefit it offers. In this article, the focus is on Agile in Software Development.

Agile in Software Development

Agile is a mindset which is based on iterative approach to building software incrementally from the beginning of the project, instead of delivering the software at once at the end of the project. Keywords to note is iterative approach and incremental. It is an umbrella that covers various frameworks (Iterative and incremental software development).

Each Agile framework is weaved around the agile manifesto. The practices and rules mentioned in each framework are kept to a minimum and are designed in such a way that they are adaptable to all kinds of circumstances.

Different types of Agile Frameworks

Scrum

Kanban

Extreme Programming (XP)

Feature Driven Development

Dynamic Systems Development Method (DSDM)

Crystal

Lean

Adaptive Software Development

Agile Unified Process

Disciplined Agile Delivery

Scrumban

Rapid Application Development (RAD)

6 phases of Software Testing Life Cycle – Do you follow this?

It is the entire life cycle which is followed by the testing team as part of the software development life cycle (SDLC). Software Testing Life Cycle (STLC) is a subset of SDLC. STLC starts with test planning followed by test cases preparation and execution and finally submission of the Test Summary Report. For any defects found, the testing team has to perform defect retesting followed by a regression testing. If all the test cases are passed in the regression testing, that ends the process.

Phases of Software Testing Life Cycle

Let’s understand in detail the phases involved in Software Testing Life Cycle

Test Planning

This is the 1st phase of the Testing life cycle. Before the requirement gathering phase is complete (Read this – Why requirement gathering is the most important phase of a project?), the Test Lead of the project with the help of the Business Analyst understands the business requirements in details which will help the Test Lead to prepare the Master Test Plan (Read this – 3 mandatory documents every Test Lead should provide). In the Test Planning phase, the Test Lead plans how he/she is going to proceed with Testing with respect to test cases identification, test cases execution, Test Schedule (test case preparation, test cases execution, defect retesting & regression testing), Level 2 estimation of efforts required by the testing team. Test Lead will deliver Master Test Plan popularly known as MTP as part of the documentation activity.

Test Case Development

It is the second phase of STLC. The Test Lead along with the tester creates the test cases which will be executed as part of the testing cycle. The Test cases will include both positive and negative test cases and any other test cases which business team wants the testing team to execute. Test Cases Summary is the deliverable as part of this phase wherein all the steps for each test case is mentioned at a detailed level. The Test Lead also takes helps of the Business Analyst who reviews the test cases and provides her inputs.

Test Case Execution & Test Results Preparation

The 3rd phase of STLC is Test Execution phase. This is the phase in which the actual testing is performed. The execution is performed by the Test Lead or the tester (If the project can accommodate testers). All the test cases are executed in this phase and the outcome is documented as Test pass/fail. A detailed document is created post the execution phase completion and presented to the project stakeholders.

Defect Retesting

For all the failed test cases, the development team looks at them and work on fixing the bug. Once the bugs are fixed, the development team performs a unit testing and hand it over to the Testing team for defect retesting. Test Lead/Tester executes all the failed test cases and submits their finding.

Regression Testing

After completion of defect retesting, the testing team also performs a round of regression testing. The regression testing is done to ensure that no new defects arose on account of resolving the open defects. As part of regression testing, the testing team executes all the test cases.

Test Closure

On successful completion of regression testing, as an independent consultant, Test Manager signs off the STLC and informs the Project Manager to start working on the UAT phase.