Google Agile Essentials
Module 1
Agile 4 Values
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
Agile 12 Principles
1. “Our highest priority is to satisfy the customer through early and continuous
delivery of valuable software.”
2. “Welcome changing requirements, even late in development. Agile processes
harness change for the customer’s competitive advantage.”
3. “Deliver working software frequently, from a couple of weeks to a couple of
months, with a preference to the shorter timescale.”
4. “Business people and developers must work together daily throughout the
project.”
5. “Build projects around motivated individuals. Give them the environment and
support they need, and trust them to get the job done.”
6. “The most efficient and effective method of conveying information to and within a
development team is face-to-face conversation.”
7. “Working software is the primary measure of progress.”
8. “Agile processes promote sustainable development. The sponsors, developers,
and users should be able to maintain a constant pace indefinitely.”
9. “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. “The best architectures, requirements, and designs emerge from self-organizing
teams.”
12. “At regular intervals, the team reflects on how to become more effective, then
tunes and adjusts its behavior accordingly.”
VUCA - Votality, Understanding, Complexity and Active
Scrum refers to a formation in rugby where all of the players on the team lean forward,
lock their heads together, and then work as one unit to try and gain precious yards
towards the scoring line. When you use Scrum for project management, you form a
team that will work together to quickly develop and test a deliverable. The work is
completed in short cycles, and the team meets daily to discuss current tasks and clear
up anything that’s blocking their progress.
The Backlog is the central artifact in scrum where all possible ideas, deliverables,
features, or tasks are captured for the team to work on. It’s prioritized and proactively
managed by the team continuously throughout the life of the project.
The Sprint is the name of the time-boxed period in Scrum where work is done. The
sprint can be between 1 and 4 weeks long, but most Sprints are around 2 weeks. This is
often called the iteration.
Daily Scrum, also called the Stand-up. This is where the team meets for 15 minutes (or
less) every day of the Sprint to inspect their progress toward their goal.
Agile Methodologies
1. Kanban - The Kanban method ensures that the project team only accepts a
sustainable amount of “In Progress” work. This means the amount of “In
Progress” tasks are limited to what the team can actually handle during a certain
amount of time.
2. Extreme Programming or XP – refers to specific software terms and activities like
coding and programming.
3. Lean - Lean methodology consists of 5 principles that serve as a recipe for
improving project outcomes. They are: Define value, Map value stream, Create
flow, Establish pull and Pursue perfection
Scrum – most commonly used Agile framework.
The Scrum Guide, which contains everything you need to know about Scrum,
is a main source of truth for Scrum teams and is available for free at
Scrumguides dot org.
Agile is the foundational
philosophy and mindset, while Scrum is a framework that materializes or brings
that philosophy to life.
The Scrum Guide defines Scrum as “a framework for developing, delivering, and
sustaining complex products.” That means a team can use Scrum to create valuable
products for their users, even when the environment or industry they’re in is hard to
predict and there are many risks. Scrum uses an iterative and incremental approach.
Iterative refers to the fact that project processes are repeated. Iterative means that the
project works in time-boxes or iterations. Incremental refers to the work being divided
into smaller chunks that build on each other. The product is built over time through work
done during each iteration. Each of these instances of the product is called an
increment.
Scrum is founded on a scientific theory called empiricism. This is a fancy word for a
simple concept: that true knowledge comes from actual, lived experience.
The three pillars of Scrum Management
1. Transparency - Transparency means that we make the most significant aspects
of our work visible to those responsible for the outcome.
2. Inspection - Inspection refers to conducting timely checks towards the outcome
of a sprint goal to detect undesirable variances. This means that we’re always
checking in on our progress and deliverables, so that we can detect any
undesirable changes.
3. Adaptation - Adaptation means that we’re continuously searching for ways to
adjust our project, product, or processes to minimize any further deviation or
issues. In Scrum, and in Agile as a whole for that matter, we embrace change so
that we are always improving. So, when we adapt, we change aspects that do
not work or could be better.
The Five Values of Scrum Management
1. Commitment - this means personally committing to achieving the goals of the
Scrum team.
2. Courage - Scrum team members must have the courage to do the right thing and
work on tough problems. Courage could mean telling your team that you’re stuck
and you need help. It might also mean calling out a negative behavior within the
team to openly discuss and address the behavior.
3. Focus - This refers to everyone focusing on the necessary work within the Sprint,
and the overall goals of the Scrum team. The Scrum master, a role often
assumed by the project manager, helps the team to focus on the sprint and
product goals by facilitating their activities and events on a daily basis.
4. Openness - For Scrum to work, the team and its stakeholders agree to be open
about all of the work and the various challenges that come with performing the
work. Openness is essential to a productive Scrum team. In order to gather data,
team members must be willing to share their observations and experiences. If a
team member runs into an issue within the project that they aren’t sure how to fix,
they should share it with the team. Another team member may have a very quick
and easy solution, or at least valuable insight into some options on how to handle
their issue.
5. Respect - Team members should respect the opinions, skills, and independence
of their teammates. When you respect the independence and contributions of
others, and feel respected yourself, you’re more likely to listen and hear any
feedback. This is crucial in making the product or business as successful as
possible. In order for a team to bring the three pillars of Scrum to life, they must
act in accordance with the five Scrum values.
Scrum Team Roles
1. Scrum Master - The Scrum master is responsible for when a team will deliver
value to its users. This role is roughly equivalent to the Project Manager role in
traditional projects. The Scrum Master’s job is to build the thing fast.
2. A product Owner – responsible for what a team builds. They also must ensure
everyone understand the why. The product owner’s job is to build the right thing.
3. Development team - The development team is responsible for how a team will
deliver that product. For example, creating a new website is next on our to do list,
so customers can order plants for their home office. The development team is
building websites, integrating billing systems, and fixing issues. The development
team’s job is to build the thing right.
5 Important Scrum Events
1. Sprint
2. Sprint Planning
3. Daily Scrum
4. Sprint Review
5. Sprint Retrospective
Product Backlog – an important artifact of the Scrum Framework. the single
authoritative source for things that a team works on. It contains all of the features,
requirements, and activities associated with deliverables to achieve the goal of the
project. The traditional -- non agile-- project management equivalent would be the set of
project requirements.
3 Key Features
1. Living artifact - items are added to the backlog at any time. The product backlog
evolves throughout the whole lifecycle of the project, and serves as a central
guide for the team to know what to work on next.
2. Owned and adjusted by the Product Owner
3. Prioritized list of features - o when there’s new information or new features, those
are added to the backlog in order of importance. The items at the top of the list
are very specific and well defined, leaving the more vague items for the bottom of
the list.
Few best practices and pieces of data to capture when working with product backlogs
1. Description - it describes an item. When you're writing an item description, it’s a
good idea to be really clear when adding product backlog items, so the details
are encouraged.
2. Value - This is the field that tells us how much business value the item delivers to
the customers, to the team, or to the users.
3. Order – As we mentioned, the backlog should always be prioritized. Both the
estimate and value fields we just discussed help the product owner figure out
where to place an item in the backlog’s order of hierarchy. A product owner may
ask themselves: “How important is this backlog item compared to all the other
items?” Product backlogs order items from highest to lowest priority. This is
called a stacked rank. Ordering items this way allows teams to operate more
efficiently.
4. Estimate - An estimate is how much effort the Scrum team thinks an item will take
to complete. This field in the backlog is owned by the development team.
How to build a Scrum Product Backlog
Product Backlog - the single authoritative source for things that a team works on. It
contains all of the features, requirements, and activities associated with deliverables to
achieve the goal of the project.
How to write user stories in Scrum
A popular way to capture and manage those backlog items: user stories. User stories
are short, simple descriptions of a feature told from the perspective of the user. This
helps the team create a solution that’s always centered around the user and the user
experience. User stories might start off large and broad, or may be broken down to be
as small, or specific, as possible.
User stories 3 different elements:
1. user -
2. action -
3. benefit -
As a <user role> I want this <action> so that I can get this <value>. When writing
effective user stories, the team must have a user in mind.
Each user story should meet six different criteria, represented by the acronym
I.N.V.E.S.T.
Independent, Negotiable, Valuable, Estimable, Small, and Testable.
Epic - a group or collection of user’s stories.
Acceptance criteria - essentially the checklist you use to decide whether the user story
is done