You are on page 1of 8

PM-UNIT-6

1 Explain the genesis of agile methodology and its background


1. Traditional project management approaches, known as "waterfall"
methodologies, were dominant in the late 1990s and early 2000s.
2. Waterfall methodologies followed a sequential, linear process with distinct
phases for project completion.
3. Challenges faced by software development projects using waterfall
methodologies led to a recognition of the need for a more iterative and flexible
approach.
4. The Agile Manifesto was published in 2001, marking a significant milestone
in the genesis of agile methodologies.
5. The Agile Manifesto was created by a group of software development
practitioners who gathered in Snowbird, Utah.
6. The manifesto outlined principles prioritizing individuals and interactions,
working software, customer collaboration, and responding to change.
7. Agile methodologies that emerged from the Agile Manifesto include Scrum,
Kanban, Extreme Programming (XP), and Lean, among others.
8. Agile methodologies share common values such as iterative development,
continuous feedback, self-organizing teams, and a focus on delivering value
early and frequently.
9. Agile methodologies introduced a paradigm shift in project management by
emphasizing adaptability, transparency, and customer involvement.
2 What is agile manifesto and principles of agile project management?
The Agile Manifesto is a foundational document that outlines the values and
principles of agile project management. It was created by a group of software
development practitioners who gathered in Snowbird, Utah, in 2001. The
manifesto emphasizes a people-centric and iterative approach to software
development, prioritizing collaboration, adaptability, and customer satisfaction.
The four core values stated in the Agile Manifesto are:
1. Individuals and interactions over processes and tools: Agile methodologies
value the importance of people working together effectively and promoting
open communication and collaboration within the team.
2. Working software over comprehensive documentation: Agile projects focus
on delivering working software that provides value to the customer, rather than
producing extensive documentation that may not be regularly used or add direct
value to the end product.
3. Customer collaboration over contract negotiation: Agile teams prioritize close
collaboration with the customer or end-users throughout the project, seeking
frequent feedback and adapting to changing requirements, rather than relying
solely on pre-defined contracts or specifications.
4. Responding to change over following a plan: Agile methodologies recognize
that requirements and priorities can evolve throughout a project. Agile teams
embrace change and are flexible in adapting their plans and approaches to
accommodate new insights and customer needs.
The Agile Manifesto is supported by 12 principles, which emphasize customer
satisfaction, adaptability, collaboration, and continuous improvement. These
principles guide agile teams in delivering valuable software in an iterative and
flexible manner.
These principles form the foundation of agile project management and guide
teams in delivering high-quality software that meets customer needs in a
flexible and collaborative manner.
3 Explain in detail about scrum methodology.
Scrum is an agile project management methodology that focuses on iterative
and incremental development. It is widely used in software development but can
be applied to various other projects as well. Scrum provides a framework for
teams to collaborate, adapt, and deliver value to customers in a flexible and
efficient manner
1. Agile project management methodology emphasizing iterative and
incremental development.
2. Involves three key roles: product owner, scrum master, and development
team.
3. Utilizes artifacts like the product backlog, sprint backlog, and sprint
burndown chart.
4. Product backlog lists all features to be developed, prioritized as user stories.
5. Sprint backlog identifies tasks for development during a sprint, based on
selected features.
6. Sprint burndown chart visualizes progress and remaining work on a daily
basis.
7. Follows ceremonies: sprint planning, daily scrum, sprint review, and
retrospective.
8. Sprint planning defines goals and commits to features for the upcoming
sprint.
9. Daily scrum is a short stand-up meeting for progress updates and issue
identification.
10. Sprint review showcases developed functionality and collects feedback for
future iterations.
4 What is extreme programming and features driven development.
Extreme Programming (XP):
1. Extreme Programming (XP) is an agile software development methodology
that emphasizes frequent iterations and continuous feedback.
2. XP promotes close collaboration between developers and customers, with an
emphasis on communication and transparency throughout the project.
3. Key practices of XP include test-driven development (TDD), pair
programming, continuous integration, and frequent releases to ensure high-
quality software.
4. XP focuses on simplicity, with an emphasis on delivering value quickly and
responding to changing requirements.
5. It encourages sustainable development practices, such as maintaining a
sustainable pace of work and prioritizing technical excellence for long-term
success.

Feature-Driven Development (FDD):


1. Feature-Driven Development (FDD) is an iterative and incremental software
development methodology that focuses on delivering tangible features or
functionalities.
2. FDD employs a five-step process: Develop an Overall Model, Build a Feature
List, Plan by Feature, Design by Feature, and Build by Feature.
3. It emphasizes domain object modeling and analysis to gain a shared
understanding of the problem domain.
4. FDD promotes a feature-centric approach, where teams work on one feature
at a time, ensuring clear analysis, design, implementation, and testing for each
feature.
5. FDD emphasizes progress tracking, reporting, and visibility throughout the
development process, with a focus on delivering high-quality features on time
and within budget.
5 Explain in brief agile project management.
Agile project management is an iterative and flexible approach to managing
projects that focuses on delivering high-quality results in a dynamic and
changing environment. It is based on the principles of the Agile Manifesto and
is commonly used in software development but can be applied to various
industries and projects.
Key aspects of agile project management include:
1. Iterative Development: Projects are divided into small iterations for
incremental development and delivery.
2. Customer Collaboration: Close collaboration with customers or stakeholders
throughout the project to ensure their needs are met.
3. Adaptive Planning: Flexibility in planning to accommodate changes and
adapt to evolving requirements.
4. Self-Organizing Teams: Cross-functional teams that take ownership and make
decisions collectively.
5. Continuous Improvement: Regular reflection and adjustments to enhance
productivity and quality.
6. Emphasis on Quality: Ensuring high-quality standards through testing and
continuous integration.
7. Visual Communication: Visual tools used to provide transparency and keep
the team informed.
8. Adaptability to Change: Embracing change and responding to new
information or priorities.
9. Timeboxed Deliverables: Regular delivery of valuable increments to
stakeholders.
10. Continuous Delivery: Frequent release of working software or deliverables
for rapid feedback and iteration.
6 Explain in detail design and development practices in agile project.
In agile project management, design and development practices focus on
iterative and collaborative approaches that prioritize flexibility, adaptability, and
continuous improvement. The following are key practices employed in agile
project design and development:
1. Iterative Development: Agile projects emphasize iterative development,
where work is divided into small increments or iterations. Each iteration
includes analysis, design, coding, testing, and integration, allowing for
continuous feedback and improvement.
2. Cross-functional Teams: Agile projects promote the formation of cross-
functional teams that include members with diverse skills and expertise. This
enables collaboration, knowledge sharing, and the ability to deliver high-quality
products or features.
3. Continuous Integration: Agile projects encourage continuous integration,
where code changes are integrated into the main branch frequently. This
practice helps identify and address integration issues early, ensuring a more
stable and reliable product.
4. Pair Programming: Pair programming involves two developers working
together on the same task, with one actively coding and the other reviewing and
providing immediate feedback. This practice promotes knowledge sharing,
better code quality, and reduces the likelihood of errors.
5. Continuous Delivery: Agile teams strive for continuous delivery, where
working software or deliverables are released frequently and regularly. This
enables stakeholders to provide feedback early on, facilitates adaptation to
changing requirements, and ensures that value is delivered incrementally.
These practices are fundamental in agile design and development, fostering
collaboration, flexibility, and the delivery of valuable software in an iterative
and incremental manner.
7 Explain limitations of Extreme Programming
Limitations of Extreme Programming (XP):
1. Limited applicability for large and complex systems: XP's iterative approach
may not be suitable for projects with significant architectural requirements and
complexity.
2. Dependency on close user collaboration: XP relies on easy access to users or
customer representatives, which can be challenging if they belong to different
organizations.
3. Geographical constraints: Physical proximity of development staff is essential
for effective face-to-face communication, posing difficulties for distributed
teams.
4. Reliance on tacit knowledge: XP requires highly skilled developers, making
software development vulnerable to staff turnover.
5. Decay of tacit knowledge: Lack of documentation may hinder maintenance
and modification of the system over time.
6. Documentation and test case management challenges: XP's focus on working
code can lead to difficulties in tracking and managing changes without
comprehensive documentation.
7. Limited emphasis on code reuse: XP's focus on simplicity and immediate
needs may conflict with strategies that prioritize long-term code reuse for
improved productivity.
8 List and explain Agile methodology approaches
1. Scrum: Scrum is one of the most popular agile methodologies. It follows an
iterative and incremental approach, dividing the project into short time frames
called sprints. Scrum emphasizes close collaboration, frequent inspection, and
adaptation to deliver high-value software.
2. Lean Software Development: Based on lean manufacturing principles, Lean
Software Development aims to eliminate waste and maximize value. It
emphasizes delivering value to the customer, continuous improvement, and
reducing unnecessary processes and activities.
3. Extreme Programming (XP): XP emphasizes close collaboration, frequent
feedback, and continuous delivery. It incorporates practices such as pair
programming, test-driven development, and continuous integration to ensure
high-quality software.
4. Feature-Driven Development (FDD): FDD is a lightweight, iterative, and
incremental agile approach. It emphasizes the creation of tangible, working
software features through a five-step process: domain walkthrough, design
inspection, design/build iteration, code inspection, and system integration.

These methodologies share common principles such as iterative development,


customer collaboration, and flexibility, but each has its own unique practices
and emphasis. Organizations can choose the agile methodology that best suits
their project and team dynamics.

You might also like