0% found this document useful (0 votes)
21 views4 pages

FALLSEM2024-25 CSE3001 ETH AP2024252000532 2024-08-09 Reference-Material-I

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
21 views4 pages

FALLSEM2024-25 CSE3001 ETH AP2024252000532 2024-08-09 Reference-Material-I

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

REQUIREMENTS FOR AGILE APPROACH

The Agile approach is a software development methodology that emphasizes flexibility,


collaboration, and iterative progress. It was initially created as a response to the limitations of
traditional waterfall methodologies. Agile methodologies, such as Scrum, Kanban, and Extreme
Programming (XP), prioritize customer feedback, adaptability, and delivering value in
shorter development cycles. Here are the key requirements and principles for adopting an Agile
approach:

1. Customer Collaboration over Contract Negotiation:


 Engage with stakeholders and customers throughout the development process to
gather feedback and ensure alignment with their needs.
 Prioritize delivering value to customers and adapting to changing requirements
rather than rigidly adhering to initial project plans.
2. Working Software over Comprehensive Documentation:
 Focus on producing functional software that meets user needs instead of
extensive documentation.
 Documentation should be lightweight and serve as a supportive tool rather than
a primary deliverable.
3. Responding to Change over Following a Plan:
 Embrace change and be prepared to adjust priorities, features, and plans based
on customer feedback and market dynamics.
 Regularly reevaluate the project's direction and adapt to new information.
4. Individuals and Interactions over Processes and Tools:
 Value effective communication and collaboration among team members over
relying solely on tools and processes.
 Create an environment where team members feel empowered to voice their ideas
and concerns.
5. Frequent Deliveries over Lengthy Development Cycles:
 Break down the project into smaller, manageable units of work that can be
completed and delivered quickly.
 Continuously deliver working software at the end of each iteration or sprint.
6. Collaborative, Self-Organizing Teams:
 Build cross-functional teams with members who possess different skills and
expertise.
 Trust teams to make decisions and manage their own work, fostering a sense of
ownership and accountability.
7. Regular Reflection and Improvement:
 Conduct regular retrospectives to assess what is working well and identify areas
for improvement within the team's processes.
 Use feedback to adapt and enhance practices over time.
8. Clear and Prioritized Backlog:
 Maintain a backlog of user stories, tasks, and features that need to be worked on.
 Prioritize items in the backlog based on their value and impact.
9. Sustainable Development Pace:
 Avoid overloading the team with excessive work or tight deadlines, as this can
lead to burnout and decreased quality.
 Focus on maintaining a sustainable pace of development over the long term.
10. Continuous Integration and Testing:
 Integrate code frequently to ensure that new changes do not disrupt existing
functionality.
 Implement automated testing to catch bugs and issues early in the development
process.
11. Close Customer Collaboration:
 Involve customers and end-users in the development process to gather feedback,
validate assumptions, and ensure that the product meets their needs.
12. Visual Management and Transparency:
 Use visual tools like task boards or Kanban boards to make work visible, track
progress, and identify bottlenecks.
Remember that while these are the core requirements and principles of Agile, there are various
methodologies and practices within the Agile framework, such as Scrum, Kanban, and Extreme
Programming (XP), each with its own set of practices and guidelines. The specifics of how Agile
is implemented can vary depending on the organization, project, and team dynamics.

Task boards and Kanban boards


Task boards and Kanban boards are visual tools commonly used in Agile methodologies,
particularly in the Kanban approach, to manage and track the progress of work. These boards
provide a clear and organized way to visualize tasks, work items, and their statuses throughout
the development process. Let's take a closer look at both types of boards:
1. Task Boards: A task board is a visual representation of the tasks or work items that
need to be completed within a project. It is often used in methodologies like Scrum. A
typical task board consists of columns that represent the different stages or statuses of
work. Each task or user story is represented by a sticky note or card that is placed in the
appropriate column based on its current status.
Common columns on a task board include:
 To Do: Represents tasks that have not yet been started.
 In Progress: Represents tasks that are currently being worked on.
 Testing/QA: Represents tasks that have been developed and are undergoing
testing.
 Done: Represents tasks that are completed and ready for review or deployment.
Team members can move the cards across the columns as work progresses. This provides a quick
visual overview of the team's workflow and helps in identifying bottlenecks or tasks that need
attention.
2. Kanban Boards: Kanban is an Agile methodology that focuses on visualizing the flow of
work and limiting work in progress (WIP) to improve efficiency and delivery. A Kanban
board is a type of task board specifically associated with the Kanban methodology. It uses
a set of columns to represent different stages of work and includes explicit limits on how
many items can be in each column simultaneously.
Key features of a Kanban board:
 Columns represent workflow stages, from "To Do" to "Done."
 Each column has a WIP limit, which prevents overloading the team with too
much work at once.
 When a task is completed, a new task can be pulled from the "To Do" column into
the next available column.
Kanban boards are particularly useful for teams seeking to optimize their processes by identifying
and resolving workflow bottlenecks, improving cycle times, and ensuring a steady and manageable
flow of work.
Both task boards and Kanban boards promote transparency, collaboration, and efficient
workflow management. The choice between them depends on the specific needs and preferences
of the team and the methodology they are following. Task boards are more commonly associated
with methodologies like Scrum, while Kanban boards are closely aligned with the Kanban
methodology.
However, teams are free to adapt and combine visual management practices to suit their unique
requirements.

You might also like