Task 4
Tags: beginners, testing
Published: 2024-03-15 11:58:15

## Q1
https://docs.google.com/spreadsheets/d/1OOjuTIad3tXPYPkX30HF2AcF0E3fRmRXjlkc4h1-d0A/edit#gid=0

## Q2

## Agile methodology
Agile methodology is a project management approach that prioritizes cross-functional collaboration and continuous improvement. It divides projects into smaller phases and guides teams through cycles of planning, execution, and evaluation. It refers to the application of a set of principles that functions through an interactive and incremental approach. The Agile methodology in software development emphasizes the importance of team collaboration and delivering a working product quickly to meet customer needs and expectations. 

## Agile Development process

Diagram: https://docs.google.com/document/d/1iI6CfEKLqVTz1kANSaTgHeV1rCvHMdGk_izJ04XtexU/edit

**Business Requirement:** In this phase Client will come with some requirements to develop an application. So in a Software company Business Analyst will approach they get Requirement from the Client.
**System Design:** In this phase Business Analyst will make plan to develop the Application in the System and Documentation. It contains the plan, time for the development and delivery of each iteration. 
**Development:** In this Phase the Development team will carried out the software development with the requirements. And develop the software with frequent iteration.
**Testing:** In this phase software team will test the software and verify the quality and expected result by client.
**Deployment:** In this phase a working software is deployed and use by the cline the aim is completed.
**Maintenance:** In this software is regularly maintained to ensure customers need and expectations are fulfilled.

## Principles of Agile 
•	Achieving customer satisfaction by timely and regular delivery fitting the customer requirements 
•	Delivering working software with minimal or no errors 
•	Earning a competitive edge by adapting to the changes in the market 
•	Sticking to the shortest time delivery with quality 
•	Including motivated and passionate individuals in building and developing the project
•	Accepting change in requirements and deliveries despite nearness to delivery date 
•	Choosing the face-to-face communication method for efficient and effective information disbursal 
•	Embracing excellence while estimating and improving the progress 

**Key - Development Concepts**
1.	Adaptability
2.	Disruption
3.	Collaboration
4.	Iterative and incremental Development
5.	Milestone check.

## Advantages of Agile
•Requirement changes are allowed in any stages of the development 
•Software Releases will be very fast and frequent.
•Customer no need to wait for long time.
•Good communication between team and team member’s confidence increase.
•It is very easy model to adopt,  and will get immediate feedback from client and increase the client trust.
Disadvantages of Agile:
•Less focus on design and Documentation 
•Difficult to estimate the time, outcome, and budget of project.
•In early stages very challenging to understand quantity and effort required
•Increase pressure on team members

## Q3

## EPIC 
Epics are used to organize tasks and create hierarchy in the software development process. An epic is a large chunk of work that is divided into smaller tasks/ user stories. An epic often spans across multiple sprints, teams, and even across multiple projects. Product people break down epics into stories before, start creating functionality.

**Benefits:**
•	It breaks large workloads down into small tasks. Basically, epics cut down on unnecessary activities.
It increases team productivity by allowing them to track their progress towards their goals.
•	As epics are broken down into small tasks, it saves time and effort.
•	It has better organization of data. Basically, it helps to keep track of all ideas in the form of user stories in a single place.
•	It improves timeline estimates and performance monitoring.
•	Improved communication: Epics facilitate better communication among the team members, as they provide clarity on the overall goals and objectives of the project. This allows team members to work collaboratively towards the common goal, ensuring that everyone is on the same page.
**Drawbacks:**
•	Because of the small tasks, there is sometimes confusion about the end product.
•	The clash of ideas and mechanisms creates complications, and then the task of story and epic tracking becomes more complicated.
•	The chance of vagueness increases when the teams do not coordinate well with each other.
## USER STORIES
User stories are a key component of agile software development. They are short, simple descriptions of a functionality from the perspective of a user. User stories are used to capture requirements in an agile project and help the development team understand the needs and expectations of the users.
In agile software development, user stories are typically written on index cards or in a digital format, and are used to drive the development process. The development team uses user stories to plan and prioritize work, estimate the effort required for implementation, and track progress towards completing the user stories.
**Advantages:**
1.	User stories help to keep the focus on the user’s needs and expectations, which leads to better customer satisfaction.
2.	User stories are easy to understand and can be created quickly, which speeds up the requirements gathering process.
3.	User stories are flexible and can be refined and modified easily as requirements change.
4.	User stories are independent, which makes it easier to prioritize and plan the work.
5.	User stories are small and manageable, which makes it easier to estimate effort and track progress.
6.	User stories promote collaboration between stakeholders, which leads to better communication and understanding.
7.	User stories help to reduce scope creep and feature bloat, as they focus on the essential needs of the user.
8.	User stories encourage a customer-focused mind-set, as they keep the team focused on delivering value to the user.

**Disadvantages:**
1.	User stories may not provide enough detail or clarity to fully capture the requirements.
2.	User stories may not be sufficient for complex or large-scale projects.
3.	User stories may be subjective and influenced by the biases of the stakeholders.
4.	User stories may not capture all of the requirements, which can lead to gaps in the software.
5.	User stories may not be suitable for projects with a high degree of technical complexity.
6.	User stories may not capture non-functional requirements, such as performance, scalability, or security, which are critical to the success of the software.