Agile101 EIBFS
Agile101 EIBFS
TODAY’S AGENDA
INTRODUCTION TO AGILE
INTRODUCTION TO SCRUM
IMPLEMENTING/ADOPTING AGILE
• The various agile methodologies share much of the same philosophy, as well as many of the same
characteristics and practices. But from an implementation standpoint, each has its own recipe of practices,
terminology, and tactics.
WATERFALL VS AGILE
1 2 3
Our highest priority is to Welcome changing Deliver working software
satisfy the customer through requirements, even late in frequently, from a couple of
early and continuous delivery development. Agile processes weeks to a couple of months,
of valuable software. harness change for the with a preference to the
customer's competitive shorter timescale.
advantage.
AGILE PRINCIPLES
4 5 6
Business people Build projects around motivated The most efficient and effective
and developers individuals. method of conveying
must work together Give them the environment information to and within a
daily throughout and support they need, and development team is face-to-
the project. trust them to get the job done. face conversation.
AGILE PRINCIPLES
7 8 9
Working software is the Agile processes promote Continuous attention to
primary measure of progress. sustainable development. technical excellence and good
The sponsors, design enhances agility.
developers, and users
should be able to
maintain a constant
pace indefinitely.
AGILE PRINCIPLES
10 11 12
FLEXIBILITY:
Agile is based on accommodating change. Software projects consistently change. As a product comes to life or the market expands,
you should be able to react and update the product accordingly. Agile also realizes that great ideas are bound to come mid-project
and being locked into a scope doesn’t let you take advantage of these realizations.
BENEFITS OF AGILE
RISK MANAGEMENT:
Incremental releases means that the product can be used early in the process by stakeholders and users. This lets you identify issues
and
feature deficits early in the process. Being adaptable to change means it isn’t a problem to change the scope midway
through the project, something that would be impossible in a waterfall style project.
COST CONTROL:
Unlike a fixed budget project, agile is flexible with regard to scope. More often than not, our clients realize features they originally
requested are no longer necessary. This allows them to launch sooner and pay less. Agile isn’t about paying a lot with uncertainty, it’s
about paying for only what you need. Need to stick within a budget? No problem! We can rearrange the product backlog so that
critical new features are implemented at the expense of less important features, not your budget.
BENEFITS OF AGILE
QUALITY:
Agile integrates testing throughout the process. Consistently delivering tested software means higher overall quality and less
time spent on QAing the full application.
RIGHT PRODUCT:
Incremental releases let you test your product early and often. Even if you don’t release it to the public, it’s much easier to locate
flaws and things that can be improved when you have an actual product to play with vs a series of designs.
TRANSPARENCY:
Agile lets you see, feel and use a project consistently throughout the project. You don’t see things in compartmentalized silos; you see
how things work together
AGILE WAY OF THINKING
THE AGILE: SCRUM FRAMEWORK AT GLANCE
WHAT IS SCRUM?
Definition of Scrum
Scrum (n): A framework within which people can address complex adaptive problems, while productively and creatively
delivering products of the highest possible value.
Scrum is:
• Lightweight
• Simple to understand
• Difficult to master
Scrum is a process framework that has been used to manage complex product
development since the early 1990s.
SCRUM THEORY
‘CFORC’
Commitment
Courage
Focus
Openness and
Respect
When these values are embodied and lived by the Scrum Team, the Scrum pillars of transparency,
inspection, and adaptation come to life and build trust for everyone. The Scrum Team members learn
and explore those values as they work with the Scrum events, roles and artifacts.
SCRUM ROLES
ORGANIZATION – ROLE SUMMARY
THE SCRUM TEAM
• Product Owner
The Scrum Team consists of a • The Development Team, and
• A Scrum Master
Scrum Teams are self-organizing and cross-functional. Self-organizing teams choose how best to accomplish their work,
rather than being directed by others outside the team. Cross-functional teams have all competencies needed to
accomplish the work without depending on others not part of the team. The team model in Scrum is designed to
optimize flexibility, creativity, and productivity.
Scrum Teams deliver products iteratively and incrementally, maximizing opportunities for feedback. Incremental deliveries
of “Done” product ensure a potentially useful version of working product is always available
THE PRODUCT OWNER
• The Product Owner is responsible for maximizing the value of the product and the work of the
Development Team. How this is done may vary widely across organizations, Scrum Teams, and individuals.
• The Product Owner is the sole person responsible for managing the Product Backlog.
• The Product Owner may do the above work, or have the Development Team do it.
However, the Product Owner remains accountable.
• The Product Owner is one person, not a committee. The Product Owner may represent the desires
of a committee in the Product Backlog, but those wanting to change a Product Backlog item’s
priority must address the Product Owner.
• For the Product Owner to succeed, the entire organization must respect his or her decisions. The
Product Owner’s decisions are visible in the content and ordering of the Product Backlog. No one is
allowed to tell the Development Team to work from a different set of requirements, and the
Development Team isn’t allowed to act on what anyone else says.
THE DEVELOPMENT TEAM
Development Teams have the following characteristics:
• They are self-organizing. No one (not even the Scrum Master) tells the Development Team how to
turn Product Backlog into Increments of potentially releasable functionality;
• Development Teams are cross functional, with all of the skills as a team necessary
to create a product Increment
• Scrum recognizes no titles for Development Team members other than Developer, regardless of the
work being performed by the person; there are no exceptions to this rule;
• Scrum recognizes no sub-teams in the Development Team, regardless of particular domains that need
to be addressed like testing or business analysis; there are no exceptions to this rule; and,
• Individual Development Team members may have specialized skills and areas of focus, but
accountability belongs to the Development Team as a whole
THE DEVELOPMENT TEAM
• Optimal Development Team size is small enough to remain nimble and large enough to complete significant
work within a Sprint. Fewer than three Development Team members decrease interaction and results in smaller
productivity gains. Smaller Development Teams may encounter skill constraints during the Sprint, causing the
Development Team to be unable to deliver a potentially releasable Increment. Having more than nine members
requires too much coordination. Large Development Teams generate too much complexity for an empirical
process to manage. The Product Owner and Scrum Master roles are not included in this count unless they are
also executing the work of the Sprint Backlog.
• The Development Team consists of professionals who do the work of delivering a potentially releasable
Increment of “Done” product at the end of each Sprint. Only members of the Development Team create the
Increment.
• Development Teams are structured and empowered by the organization to organize and manage their own
work. The resulting synergy optimizes the Development Team’s overall efficiency and effectiveness.
THE SCRUM MASTER
• The Scrum Master is responsible for ensuring Scrum is understood and enacted. Scrum Masters
do this by ensuring that the Scrum Team adheres to Scrum theory, practices, and rules
• The Scrum Master is a servant-leader for the Scrum Team.
• The Scrum Master helps those outside the Scrum Team understand which of their
interactions with the Scrum Team are helpful and which aren’t.
• The Scrum Master helps everyone change these interactions to maximize the value created by the
Scrum Team.
• Attributes of a Good Scrum Master:
Responsible Humble
Collaborative
Committed Influential
Knowledgeable
EVENTS IN SCRUM
✓ Sprint Planning
✓ Daily Scrum
✓ Sprint Review
✓ Sprint Retrospective
TIME BOXING
THE SPRINT
• Sprint Planning is time-boxed to a maximum of eight hours for a one-month Sprint. For shorter Sprints, the event is usually shorter.
The Scrum Master ensures that the event takes place and that attendants understand its purpose. The Scrum Master teaches the
Scrum Team to keep it within the time-box.
• What did I do yesterday that helped the Development Team meet the
Sprint Goal?
• What will I do today to help the Development Team meet the Sprint
Goal?
• Do I see any impediment that prevents me or the
Development Team from meeting the Sprint Goal?
SPRINT REVIEW
A. Product Backlog
B. Sprint Backlog
C. Potentially shippable Increment
D. Definition of “Done”
PRODUCT BACKLOG
• The same definition guides the Development Team in knowing how many Product Backlog
items it can select during a Sprint Planning. The purpose of each Sprint is to deliver Increments
of potentially releasable functionality that adhere to the Scrum Team’s current definition of
“Done.” Development Teams deliver an Increment of product functionality every Sprint. This
Increment is useable, so a Product Owner may choose to immediately release it. If the
definition of "done" for an increment is part of the conventions, standards or guidelines of the
development organization,
DOING ‘AGILE’ & ‘BEING’ AGILE
DOING AGILE VS BEING AGILE
DOING AGILE VS BEING AGILE
• Doing Agile can be learned in a 2-3 day class that teaches the basics of Scrum and Kanban.
Being Agile requires much more: a cultural shift to an agile mindset as well as changes to the
way employees are managed, motivated, trained and hired.
• Doing Agile by itself leads to certain benefits: improved communication and visibility to what
each team member is working on, some increases in productivity and perhaps the ability to set
priorities with intent as conditions change.
• But the transformative benefits occur from Being Agile, by which we mean
consistently, predictably responding quickly in the face of change, delighting customers
and achieving excellence through engaged employees all working together towards
common goals.
JOURNEY TOWARDS ‘BEING AGILE’
• Self-organizing Teams
• The ability for a team to self-organize around the goals it has been given is fundamental to all
agile methodologies, including Scrum. In fact, the Agile Manifesto includes self-organizing
teams as a key principle, saying that “the best architectures, requirements, and designs
emerge from self-organizing teams.”
• "Self-organizing teams choose how best to accomplish their work, rather than being directed
by others outside the team.” "Development Teams are structured and empowered by the
organization to organize and manage their own work." "Development Teams have the
following characteristics: They are self-organizing. No one (not even the Scrum Master) tells
the Development Team how to turn Product Backlog into Increments of potentially releasable
functionality"
USER STORIES,MONITORING
USER STORIES
INFORMATION RADIATORS
• Information Radiators:
• The purpose of information radiators is to
help keep the team focused on what really
needs their attention and to promote
transparency.
• Information Radiators makes information
visible
• Examples: Burndown Charts/Kanban Board
etc…
KANBAN BOARD
TOOLS AVAILABLE FOR
IMPLEMENTING AGILE
TOOLS TO CULTIVATE AGILE METHODOLOGY IN
YOUR ORGANIZATION
Agile
SCRUM
ATern
AGILREMEMBER OTHER FRAMEWORKS AND METHODOLOGIES: LEAN,
DSDM, DEVOPS, ITIL, CMM ETC…
Scrum is:
• Lightweight
• Simple to understand
• Difficult to master
DevOps
• CMM is a framework that describes practices that an organization employs in developing software.
CMM consists of five levels, numbered 1 through 5.
• Level 1 (immature organization) means that the organization doesn’t have any defined, repeatable, or
improvable approach to building software; basically, developers hack their way to a solution. At level 5
(mature organization), an organization has a defined, repeatable, and improvable set of practices for
developing software. At each level, the practices that should be employed are defined as Key Practice
Areas (KPAs). If an organization believes that it has thoroughly implemented the KPAs for a specific level,
it can engage someone who has been certified by SEI to assess this. If the organization is compliant, it is
so certified. Certification is a big deal, because some companies and
governmental agencies won’t hire any professional services firm that isn’t certified to at least
CMM level 3.
THANK YOU
62