Agile Notes
Agile Notes
Agile Manifesto
1.Individuals and interactions over processes and tools
2.Working software over comprehensive documentation
It doesn't mean that you should not create documentation; it means you should create
documentation that provides value and at the same time does not hinder the team's progress
3.Customer collaboration over contract negotiation
4. Responding to change over following a plan
It is recommended to plan upfront.
Always be responsive to change and refine the plan to bring the project back on track, instead of
putting all the efforts to sticking to the original plan
Benefits of Agile
• Emphasis on collaboration, team empowerment, and frequent demonstrations of progress
• Lightweight, relying on whiteboards, index cards, and facilitation techniques
1
• Very appealing to developers with its development focus
• Faster time-to-market and high priority features driving the development life cycle
• Focus on Pull instead of Push
• Simple to understand
• Contemporary and meets the dynamic needs of the customer
Agile evolved in the late 1990s, in response to the burdens of heavy documentation and frequent
requirements change.
• The Agile Manifesto was signed in 2001, by 17 software developers, which captured the values
and principles of the Agile movement.
• Agile Manifesto highlights 12 principles.
• As a lightweight project management approach, Agile avoids big design, heavy documentation,
and top-down management or control.
• Agile emphasizes collaboration, team empowerment, and frequent demonstrations of progress,
by focusing on Pull vs. Push.
Servant leadership positions the leader as the enabler.
A servant leader:
helps the team
removes obstacles that the team is faced
gives them the required tools and skills to protects them from unnecessary disturbances.
Servant leadership is valuable for all projects, regardless of methodology. However, it is
necessary in Agile.
The reasons are as follows:
• Agile believes in self-managing teams, which need no help with task management, but
need help in forming, building, and nurturing.
• Agile leaders adapt their behavior to meet the needs of the team, and are willing to go to
the distance in trying to help the team achieve its goals.
• Values that would be cherished in such a team include trust, empathy, collaboration,
and ethical use of power.
2
Domain 1: Agile Methodologies
Scrum Methodologies
Features that make Scrum popular are as follows:
• It offers simplicity and proven results
• It encompasses other Agile engineering techniques
• It emphasizes small teams and team empowerment
• It welcomes changes to requirements
• It allows working from a single source of prioritized work items
• It includes daily status meetings
• It offers team commitment to a potentially shippable increment during a ‘Sprint’
What is a user story?
A user story is a small unit of work in an Agile workflow. • It is a short, written explanation of a
particular user’s need and how it can be fulfilled. There is no room for jargon in a user story. It is
written in easily accessible language to provide a clear picture of what the user requires.
Every user story involves a short-form request that is completed in one Agile iteration or sprint,
which normally lasts about one or two weeks.
Sprint
• The first and most elemental unit of the Scrum process is a sprint, otherwise known as iteration
or timebox.
After the end of each sprint, the team will have a sprint retrospective and review
Sprint Planning
• the Scrum team will host a planning event.
• During this stage, the team will discuss the scope of work they are planning to complete in the
upcoming period. Moreover, they will choose items from the product backlog that they intend to
complete during one sprint. After that, they will go over the work essential for completing the
backlog items. Then, they will agree on the goal and create an outline of the forecast for the end
of the sprint.
Daily Scrum
• The team will hold daily meetings during the sprint. For these daily events or stand-ups, there
are several guidelines that teams should follow. For example, each daily Scrum should start at
the same time, at the same place. While anyone can attend the event, only members of the
3
development team should contribute. Daily Scrums should begin promptly, even if some of the
team members are not present. Also, the meetings are limited to fifteen minutes.
It is common practice for each team member to answer three main questions. That is, explain
what they did the day before, what their plans are for the present day, and if they see any
impediments that can stop them from reaching the goal.
Sprint Review
• There are two main events at the end of each sprint:
Review
Retrospective.
Scrum Artifacts
Two so-called Scrum artifacts are essential for the proper implementation of the framework:
Product backlog
Sprint backlog.
The product backlog is, in essence, a breakdown of everything that needs to be completed.
• The product owner is responsible for everything regarding product backlogging, including
content, ordering, and availability. Based on factors such as risk, dependencies, business value,
date, size, and others, the product owner will prioritize product backlog items or PBIs.
Moreover, the product backlog also contains business value and development effort assessment.
Sprint backlog focuses on work during a single sprint
the list of the upcoming tasks is designed by a Scrum team based on priority. The team will pick
as much work as they need to feel the entire sprint
• Naturally, the development team will consider previous sprints so that they can accurately
determine the amount of work for the upcoming period.
• It is also possible for the development team to separate product backlogs into tasks.
• One of the policies of this method is never to assign tasks to teams or team members. Instead,
team members will sign-up for tasks based on their skills, availability, and task priority.
• The entire spring backlog is the property of the development team, and all estimates are
provided by it. Teams will often create a Scrum task board where they will mark work as “in
progress,” “to do,” or “done.”
• Once they have committed to the sprint backlog, they cannot add more tasks or change it in
any way — only the development team can.
4
Scrum Core Values
Both the Scrum team and all the individuals that make it possess five core values. • Courage —
Each team member understands that they possess the courage to overcome any obstacle, conflict,
or challenge, and do the right thing.
• Focus — Every individual in the team will focus on the sprint backlog and team goals, as well
as do their part to ensure maximum efficiency. They will do no additional work outside the
backlog.
• Commitment — Members of the team will personally commit to achieving team goals, and
they will do their best each sprint.
• Respect — Scrum team members respect each other, and they see their teammates as
competent, capable, and reliable. They will all work with good intent.
• Openness — Both team members and stakeholders are transparent about work and challenges
they might face M
Benefits of Scrum Methodology
Scrum is currently the most used and trusted framework of reference in the software industry.
Below are some of the known benefits of Scrum: • Easily Scalable: Scrum processes are iterative
and are handled within specific work periods, which makes it easier for the team to focus on
definite functionalities for each period. This not only has the benefit of achieving better
deliverables in line with the needs of the user, but also gives the ability to the teams to scale the
modules in terms of functionality, design, scope and characteristics in an orderly, transparent and
simple manner. • Compliance of expectations: The client establishes their expectations indicating
the value that each requirement/ history of the project brings, the team estimates them and with
this information the Product Owner establishes its priority. On a regular basis, in the sprint
demos, the Product Owner verifies that the requirements have been met and transmits feedback
to the team.
Flexible to changes: Quick reaction to changes in requirements generated by customer needs or
market developments. The methodology is designed to adapt to the changing requirements that
complex projects entail. • Time to Market reduction: The client can start using the most
important functionalities of the project before the product is completely ready. • Higher software
quality: The working method and the need to obtain a functional version after each iteration,
helps to obtain a higher quality software. • Timely Prediction: Using this methodology, we know
the average speed of the team by sprint (story points), with which, consequently, it is possible to
estimate when a certain functionality that is still in the backlog will be available. • Reduction of
risks: The fact of carrying out the most valuable functionalities in the first place and of knowing
the speed with which the team advances in the project, allows to clear risks effectively in
advance.
5
The Advantages of the Scrum Methodology
With this sprint-focused model, the workflow focuses on communication and management. • For
the duration of a sprint, the team can dissect their goals step-by-step. Moreover, the incremental
delivery can shorten the time to market and can result in higher revenue. • Since each sprint is
reviewed before proceeding to the next, it means that the team will conduct testing throughout
the whole process. The team can change its focus, improve, and adapt along the way. • With
Scrum, the team does the work simultaneously instead of sequentially. The development team
works “on the go,” and everything is perfectly clear before the project even starts. • Furthermore,
each task is prioritized by importance, which means that the finished ones can have a significant
impact on the return of the investment. • Because there is no team leader, the developers can feel
more in touch with the project, and feel more responsible and invested.
The Disadvantages of Scrum Methodology
The most apparent problem is that the Scrum Master might have a difficult time organizing
everything and making sure that every piece of the puzzle is in line. • As a result, the project can
often lack definition and structure. • While frequent changes are welcome, they can sometimes
prove to be too challenging to follow, and the whole process can become rather intense. • Daily
meetings require resources, and the whole process requires each and every individual to maintain
a high level of dedication, maturity, and communication. • Lack of expertise can also be a
problem since the team requires both commitment and a high level of experience. • A Scrum
Master without sufficient skills can ruin the entire project. • Without clear and understandable
goals and tasks, the project can lead to deal-breaking inaccuracies.
6
The 6 Best Practices of Kanban
1. Visualize work
2. Limit work in progress
3. Manage flow
4. Make process policies explicit
5. Implement feedback loops
6. Improve collaboratively, evolve experimentally
The benefits of Kanban
• Kanban is a great, flexible tool that can help teams balance work with team capacity.
When done right, Kanban can:
• As a form of visual project management, Kanban can help you bring tasks to life and gain clear
insight into your team’s workflows.
• Increase clarity, especially for remote teams. If your team is working remotely, it can be
difficult to gain visibility into what everyone is working on. By centralizing work and reducing
the amount of work in flight at any given time, Kanban boards can help you and your team gain
instant insight into who’s working on what.
• Encourage flexibility. Because the Kanban framework is built on a process of continuous
improvement, teams that implement Kanban can become more flexible and dynamic over time.
If you follow the four core principles and the six key practices, your team can become more agile
and open to change.
The downsides of Kanban
Kanban isn’t the right framework for every team. Some downsides of Kanban include:
• It’s not as common among non-engineering teams. Like Scrum, Agile, and other lean
methodologies, Kanban isn’t as well known among non-engineering teams. Kanban can be an
effective tool for all sorts of teams. But if you’re planning to introduce a Kanban process to a
non-engineering team, consider moving one workstream into Kanban at a time to help your team
with the adoption process.
• It can quickly become overwhelming. Because each task card takes up so much visual space,
your Kanban board can quickly get cluttered and overwhelming if you have too many things in
flight at once.
What is the difference between Kanban and Scrum?
Scrum is compatible with Kanban but it is a different framework:
• Scrum helps teams get more work done faster. The method organizes work into “sprints”—two
week working sessions with daily meetings and a set amount of work to be completed during the
cycle time.
7
• Kanban helps teams improve processes by visualizing their work in real-time.
What is the difference between Kanban and Agile?
Agile is a project management model designed to help teams flexibly respond to change.
The Agile philosophy believes in adaptive planning, evolutionary development, early delivery,
and continuous improvement.
Kanban processes are shorter and fit sprint boundaries.
8
ScrumBan
Scrumban is a hybrid Agile methodology that combines principles and practices from Scrum and
Kanban.
In Scrumban, teams typically use a Scrum-like process with a Kanban board to visualize work
and limit work in progress (WIP).
9
- It is Great for long-term or large-scale projects: Because Scrumban is an iterative Agile method
- It allows for small changes over large increments of time. This makes it a great framework to
use for long-term projects, because project needs will change as time goes on. As needs change,
Scrumban helps iterate and improve the processes to keep up with those changes.
- Individual team members have more independence: If the team is looking to have more
autonomy, the Scrumban methodology might be a good place to start. The Scrumban method
gives the team members the opportunity to make decisions and prioritize work as they see fit,
rather than just completing work that’s assigned by a Scrum master or product owner.
Cons of using Scrumban
Lack of management can cause confusion: While the independence and autonomy can be
motivating for one team, the lack of oversight can cause confusion and disorganization in
another.
- Scrumban is a relatively new methodology: Since Scrumban is a newer methodology, there
aren’t as many established processes. One Scrumban team's process may look vastly different
from another team's process, and part of that reason is because there's no standardized framework
like with Scrum or lean project management.
- Project managers have less control: especially for product manager or project manager who is
very hands on, this methodology may not work as well.
- In Scrumban, there are no specific roles on the development team. This means that everyone
has the same agency to choose what they feel is the right decision for the sprint.
10