Agile software development methods:
1. Agile Modeling
2. Agile Unified Process (AUP)
3. Dynamic Systems Development Method (DSDM)
4. Essential Unified Process (EssUP)
5. Extreme Programming (XP)
6. Feature Driven Development (FDD)
7. Open Unified Process (OpenUP)
9. Velocity tracking
Agile method: Scrum (development)
Scrum is an iterative incremental process of software development commonly used with agile software development.
Software developed during one unit of time is referred to as an iteration, which typically lasts from two to four weeks. Each iteration passes through a full software development cycle, including planning, requirements analysis, design, writing unit tests, then coding until the unit tests pass and a working product is finally demonstrated to stakeholders.
The Product Backlog is the master list of all functionality desired in the product. A product or a project backlog is a prioritized list of requirements with a rough size and complexity estimate of each requirement. Hence, the backlog has 3 components: requirements, priority, rough size, and complexity estimate.
Sprint Backlog: The sprint backlog is the list of tasks that the Scrum team is committing that they will complete in the current sprint. Items on the sprint backlog are drawn from the Product Backlog, by the team based on the priorities set by the Product Owner.
Daily SCRUM meeting rules:
1. Hold the daily scrum in the same place at the same time every workday.
2. All team members are required to attend.
3. The scrum master begins the meeting by starting with the person to his or her left and proceeding counterclockwise around the room until everyone has reported.
4. Each team member should respond to three questions only:
a) What have you done since the last daily scrum regarding this project?
b) What will you do between now and the next daily scrum meeting regarding this project?
1) If there is a small project then we opt for Ad-hoc testing. Ad-hoc testing is done without test cases. But for this, the software tester should have enough knowledge about the project. And it is done by an experienced QA engineer.2) If the software tester doesn’t know anything about the project then we perform exploratory testing on that project. We explore all the features and then create and execute test cases.
3) In general, the following Testing process is followed by small companies:
a) Requirement Stage: Analyze requirement document, discuss with the team internally, ask doubts from the client if required.
b) Test Plan: Create a test plan which defines the type of testing that should be done, who will test this, the duration for which we have to test, availability of test resources, types of Testing performed, features to be tested, features not to be tested, etc.
4) Test Cases: Test cases (sequence of steps to test the correct behavior of functionality) are prepared by reviewing the functional requirements in use cases or by
exploring the application.
5) Execution of Test Cases: Each test case is executed by more than one QC engineer and on different configurations, PCs to ensure that it’s working 100% fine.
6) Instant Bug reporting: If we find a number of bugs then initially we report the bugs in an excel sheet and send it to developers so that they can make a proper plan and start work on it.
7) Bug reporting in bug tracking tool: Then we post each bug with more details into the bug tracking tool.
8) Explain the required bug to a developer with the exact scenario
9) Retest the issue fixed by a developer
10) Mark the status in the bug tracking tool.