SE & PM Unit 4 Notes
SE & PM Unit 4 Notes
About Agile:
• Mostly used model in todays digital era.
• Agile means “ The ability to respond changes from requirements, technology &
people “
• It is an incremental and iterative process of software development.
Working with Example:
• Divides requirements in to multiple iterations & provide specific functionality for the
release.
• Delivers multiple software requirements.
• Each iterations are lasts from tow to three weeks.
• Direct collaboration with customers.
• Rapid project development
Agile 12 principles
Agile Manifesto – 12 Principles
1. Customer Satisfaction - Our highest priority is to satisfy the customer through early
and continuous delivery of valuable software.
2. Welcome Change - Welcome changing requirements, even late in development. Agile
processes harness change for the customer& competitive advantage.
3. Deliver a Working Software - Deliver working software frequently, from a couple of
weeks to a couple of months, with a preference to the shorter timescale.
4 .Collaboration - Business people and developers must work together daily throughout the
project.
5. Motivation - Build projects around motivated individuals. Give them the environment and
support they need, and trust them to get the job done.
6. Face-to-face Conversation - The most efficient and effective method of conveying
information to and within a development team is face-to-face conversation.
Measure the progress as per the working software - Working software is the primary
measure of progress.
8. Maintain constant pace - Agile processes promote sustainable development. The
sponsors, developers, and users should be able to maintain a constant pace indefinitely.
9. Monitoring - Continuous attention to technical excellence and good design enhances
agility.
10. Simplicity - The art of maximizing the amount of work not done - is essential.
11. Self-organizing teams - The best architectures, requirements, and designs emerge from
self-organizing teams.
12. Review the work regularly - At regular intervals, the team reflects on how to become
more effective, then tunes and adjusts its behavior accordingly.
UX Designer
This is someone who designs the way users will interact with the product. They
ensure that all the features solve people’s problems and fulfill business goals. Namely,
they determine how the product will look and how it will work. The main focus of a
UX designer is functionality and usability.
Product Backlog
A product backlog is a list of the new features, changes to existing features, bug fixes,
infrastructure changes or other activities that a team may deliver in order to achieve a
specific outcome.
Product Backlog items that can be Done by the Scrum Team within one Sprint are
deemed ready for selection in a Sprint Planning event. They usually acquire this
degree of transparency after refining activities. Product Backlog refinement is the act
of breaking down and further defining Product Backlog items into smaller more
precise items. This is an ongoing activity to add details, such as a description, order,
and size. Attributes often vary with the domain of work.
The Developers who will be doing the work are responsible for the sizing.
The Product Owner may influence the Developers by helping them understand and
select trade-offs. Multiple Scrum Teams often work together on the same product.
One Product Backlog is used to describe the upcoming work on the product.
Sprint Backlog,
The Sprint Backlog is a plan by and for the Developers. It is a highly visible, real-time
picture of the work that the Developers plan to accomplish during the Sprint in order
to achieve the Sprint Goal. Consequently, the Sprint Backlog is updated throughout
the Sprint as more is learned. It should have enough detail that they can inspect their
progress in the Daily Scrum.
product roadmap
A product roadmap is a plan of action for how a product or solution will evolve over
time.
Product owners use roadmaps to outline future product functionality and when new
features will be released.
When used in agile development, a roadmap provides crucial context for the team's
everyday work and should be responsive to shifts in the competitive landscape.
A product roadmap is essential to communicating how short-term efforts match long-
term business goals. Understanding the role of a roadmap—and how to create a great
one—is key for keeping everyone on your team headed in the same direction.
A product roadmap is a shared source of truth that outlines the vision, direction,
priorities, and progress of a product over time.
It’s a plan of action that aligns the organization around short and long-term goals for
the product or project, and how they will be achieved.
Product owners use roadmaps to collaborate with their teams and build consensus on
how a product will grow and shift over time. Agile teams refer back to the product
roadmap to keep everyone on the same page about which product ideas have been
prioritized and when, and to gain context for their everyday work and future direction.
Velocity in Agile is not meant to be used as a goal or benchmark to strive for because
it is measured relatively depending on what makes the most sense for the team
measuring it. While maintaining consistency is ideal, Agile velocity is meant to be
used mainly as a planning tool.
How is Velocity in Agile Measured?
Velocity in Agile is a simple calculation measuring units of work completed in a
given timeframe. Units of work can be measured in several ways, including engineer
hours, user stories, or story points.
The same applies to timeframe; it’s typically measured in iterations, sprints, or weeks.
However, you decide to measure velocity should be how you continue to measure it
going forward.
For example, to track Agile velocity, most Scrum teams measure the number of user
points in a given sprint. Once this is measured based on a few sprints, the team can
then predict how many user points they should plan to complete per sprint. This
ultimately reveals how many sprints it will take to complete a project, and helps the
team to measure efficiency along the way.
Daily Reports:
Each day at the same time, the team meets so as to bring everyone up to date on the
information that is vital for coordination, each team members briefly describes any
“completed” contributions and any obstacles that stand in their way.
The meeting is normally held in front of the task board. In its most basic from, a task
board can be drawn on a whiteboard or even a section of wall. The board is divided
into three columns labeled “To DO”, “In Progress” and “Done” . Sticky notes or
index cards , one for each task the team is working on, are placed in the columns
reflecting the current status of the tasks. Different layouts can be used , for instance
by rows instead of columns . The number and headings of the columns can vary,
further columns are often used for instance to represent an activity , such as “In Test”
The task board is updated frequently, most commonly during the daily meeting based
on the team’s progress since the last update. The board is commonly “reset” at the
beginning of each iteration to reflect the iteration plan.
This is also called “daily stand-up” in extreme programming, an d “daily scrum” in
scrum framework.
The daily meeting is structured around some variant of the following three question:
1. What have you completed since the last meeting?
2. What do you plan to complete by the next meeting?
3. What is getting in your way?
Benefits of Agile Project Management
Benefit 1: Reduced Risk
Agile teams can better react to emerging changes, which reduces the risk of complete
project failure. This happens through the concept of continuous delivery and getting
customer feedback early in the process, as fast as possible.
When managing Agile initiatives or projects instead of having big work batches, the
focus is on breaking them down into smaller pieces that bring value to the client.
These small but actionable "deliverables" are being continuously released to the
market without waiting for everything to be completed upfront.
Benefit 2: Higher Chances of Meeting Customers’ Expectations
One of Agile project managements most significant benefits is that it improves the
chance of meeting customers' expectations. This happens with constant customer
collaboration through the frequent feedback loops in an Agile process.
As work is continuously delivered to the end-customers, they can see and give their
respective thoughts on actionable deliverables. This makes sure that teams better
understand customer's specifications to provide them with the right products and
services.
Benefit 3: Metrics for Efficiency and Data-Driven Decision Making
Another benefit of Agile project management is the generation of more relevant and
accurate metrics for planning volatile projects and measuring performance.
In traditional project management, metrics are predominantly used to show how
closely the project is tracking against cost and schedule. However, these are mostly
estimations detached from reality and what we miss is a measurement for efficiency.
That's why, in Agile, the focus is on producing results, optimizing performance, and
making data-driven decisions.
Benefit 4: Improved Performance Visibility & Transparency
The most critical benefits of Agile lies within the creation of a transparent work
process. This allows you to spot issues inside your workflow, put everybody from
your team on the same page, and respond to changes more effectively.
In practice, you can make your project's life cycle more transparent with the Kanban
board's help. With modern digital boards, you can break down your bigger initiatives
into smaller tasks (cards), split your work process into different phases, create
separate workflows, make your work policies explicit, and visualize the flow of tasks
of your team members.
Benefit 5: Better Team Collaboration and Continuous Improvement
there is a big focus on continuous improvement in Agile, which is seen as a
"religion". As big piles of work are being broken down into smaller pieces and
continuously delivered for customer examination, Agile teams can reflect on their
feedback and keep refining a product or service to make it better and better with time.