Beruflich Dokumente
Kultur Dokumente
FRAMEWORK
PAGE
AGILE BASIS 03
SCRUM BASIS 11
PRODUCT BACKLOG 23
RELEASES AND SPRINTS 36
MEETINGS 39
USER STORIES 46
QA 56
AGILE BASIS
TOC
PREV
NEXT
AGILE BASIS 4 of 62
It has just one great weakness: Humans and software are involved
in the process. Guessing today how you will be in eight months
time is part of a fantasy. Trying to have a fixed plan today for the
next months, it is like trying to predict the future: Worthless.
AGILE BASIS 5 of 62
The best way to deal with uncertainty is to iterate. To reduce uncertainty about what the product
should be, work in short iterations and show (or, ideally give) working software to users every few
weeks. Uncertainty about how to develop the product is similarly reduced by iterating. For example,
missing tasks can be added to plans, inadequate designs can be corrected sooner rather than later,
bad estimates can be amended, and so on.
Agile projects concentrate on the early creation of functioning software. Only this can contribute
value to a company. An integrated requirements engineering and development process reduces risks
because the results are regularly evaluated and a continuous creation of value takes place.
Comparison of main agile frameworks in number of ‘rules’ Which one is the best?
We are uncovering better ways of developing software by doing it and helping others do it.
That is, while there is value in the items on the right, we value the items on the left more.
Source: www.agilemanifesto.org
AGILE BASIS 10 of 62
TOC
PREV
NEXT
SCRUM BASIS 12 of 62
1 2 3 4
Based on a digital product vision 1 (new or improved one: website, app, etc…) we create a product backlog of stories
describing that product 2 and we launch a set of iterative implementation cycles 3 called sprints and grouped in releases,
each of them resulting in a new product increment that provides
4 added value to users and/or business
SCRUM BASIS 13 of 62
Source:Rodrigo Paolucci
SCRUM BASIS 16 of 62
Scrum roles
There are three main roles according to pure SCRUM
framework
The Product Owner has profit and loss The ScrumMaster is not the manager The Team builds the product that the
responsibility for the product. She/he of the team or a project manager; customer is going to use. The team in
is responsible for maximising ROI in instead, the ScrumMaster serves the Scrum is cross-functional and includes
the sense of selecting, for each team, protects them from outside all the expertise necessary to deliver
product development iteration, the interference, and educates and guides the potentially shippable product each
highest - business - value Vs lowest - the Product Owner and the team in the iteration. It is also self-managing, with
cost items to be released. He/She skilful use of Scrum. The ScrumMaster a very high degree of autonomy and
actively and frequently interact with makes sure everyone on the team accountability. Hence, there is no team
the team, personally offering the (including the Product Owner, and manager or project manager in Scrum.
priorities and reviewing the results those in management) understands Instead, the Team members decide
each two- or four-week iteration, rather and follows the practices of Scrum. what to commit to, and how
than delegating development best to accomplish that commitment.
decisions to a project manager.
Source: The Scrum Handbook by Jeff Sutherland
SCRUM BASIS 17 of 62
Extended roles
But in the practice, there are much more involved roles in
a project for a product development
Team
User
Manager / Director
Digital Consultant UX Designer SysAdmin Developer
SCRUM BASIS 18 of 62
Pig role is considered a core team member. Performer. Someone who “DOES” the
work. In classic Waterfall approaches, this role has been attached to somehow
called ‘the provider’ - external agency, external IT provider, internal IT area, etc
A Chicken is someone who has something to gain by the Pigs performing, but in
the end, really do not contribute day to day to “getting things DONE.” In classic
Waterfall approaches, this role has been attached to somehow called ‘the client’ -
sponsor, manager, project director, etc
In Agile, client and provider (internal or external) are both committed to the project
and to the product, getting things done together. The key figures to drive this cultural
and operational change are the Product Owner and The Scrum Master.
Remember this Agile principle: ”Business people and developers must work together
daily throughout the project”
Source:Jake Calabrese
SCRUM BASIS 20 of 62
Product Owner
Manager / Director
Digital Consultant UX Designer SysAdmin Developer
Authorised and empowered by sponsors and managers to make his own decisions about the
product
TOC
PREV
NEXT
PRODUCT BACKLOG 24 of 62
✔ There isn't a mandated format to represent the backlog: it can be an Excel document linking to other documents
(user flows, wiki pages describing tech designs, sketches and/or wireframes), custom views in a project management
tool like Jira, physical board with stories attached to their detailed descriptions, etc…. Whatever allows to have two
different visions: global one and detailed one. Physical form (scrum board) is one of the most common among little
Agile teams, but that’s not a useful form for teams whose members are distributed among different locations.
✔ Product Backlog is live in terms of a continuous evolution. Trying to have a completely defined and fixed product
backlog before starting development cycles is a waterfall approach disguised as an Agile one.
✔ On the other hand, set of stories (features, tasks, etc….) expected to be developed by the team in the next Sprint need
to be totally defined and understood by everyone to accomplish the sprint planning (See definition of ready).
✔ The backlog should not describe every item at the same level of detail, or "granularity". Features and tasks which are
expected to be delivered in the near future must be broken down into fine-grained items and accompanied with details
such as acceptance tests, UI sketches, etc.; whereas items planned for a more distant future can be described at a more
macroscopic level.
✔ A unique backlog mitigates the risk of creating multiple, conflicting versions, which would be a dire mistake given the
backlog function as a "single trusted source" of the work to be done.
PRODUCT BACKLOG 27 of 62
Failure Success
Source: Jeff Patton
PRODUCT BACKLOG 29 of 62
But iteration alone does not promote the desired divide & conquer
strategies.
Source: ScrumAlliance.org
PRODUCT BACKLOG 34 of 62
Source: ScrumAlliance.org
PRODUCT BACKLOG 35 of 62
User > Goals > Activities > Tasks > Stories Tasks Stories
Source: ThoughtWorks
RELEASES
AND
SPRINTS
TOC
PREV
NEXT
RELEASES AND SPRINTS 37 of 62
Release Sprint
US #1 US #1 ... ... Plan US #1 Task #1.1
Plan
US #2 US #2 ... ... US #2 Task #1.2
US #3 US #3 ... ... US #3
Task #1.3
US #4 US #4 ... ... US #4
...
Sprint 1 Sprint 2 Sprint 3
[ .... ]
...
✔ Release: 3-4 Months period, divided into several ✔ Sprint: 1-3 Weeks period, with a high-accurate
sprints, with a medium-accurate scope in terms of user scope in terms of user stories definition
stories definition
✔ Sprint Plan: User stories are totally defined and
✔ Release Plan: Sprints duration and dates are estimated for a specific sprint
established, and the first approach of planned target
US for each sprint is made
RELEASES AND SPRINTS 38 of 62
Release roadmap
Example of the schedule for an entire Release, divided into 3
development Sprints, of 2 weeks each
Release
3 sprints + stabilisation
- 38 working days -
Release
(deploy to pro)
Sprint 1 Sprint 2 Sprint 3 Stabilisation
- 10 working days - - 10 working days - - 10 working days - - 5 working days -
Working Day
MEETINGS
TOC
PREV
NEXT
MEETINGS 40 of 62
Release meetings
Release
Release
(deploy to pro)
Release Planning
Attendees Description
- Required: Product Owner, Scrum Master, UX, Tech Architects The goal of initial release planning is to estimate roughly which features
- Optional: Rest of the Team, Stakeholders will be delivered by the release deadline. First, the PO presents the
prioritised items to be delivered. Ideally, the developers have already
When devised rough estimates of how much work is required to implement each
At the beginning of each Release of those features, but it can be done during the Release planning as a first
non-accurate estimation. Using the developers’ estimates and the
Duration
customer’s feature priorities, the team members lays out a release plan,
4 - 6 hours (one or two sessions)
mapping features very roughly to each iteration.
Outcomes
- A high-level plan of which specific US should be delivered in the
Tips
different sprints of the Release
- If the development team’s velocity on a previous release is already
- A high-level estimation, in story points, for each US to be completed
known, dividing total estimated points for all required US by team’s velocity
during the Release
allow us to address US to Sprints in a more accurate manner.
- Insights about what are the most complicated items to be achieved
- Developers may find that fairly low-priority features that pose design or
during the release, potential risks, dependencies and potential
architectural risks, and may, therefore, ask customers to consider assigning
blocking agents
them to earlier iterations in order to address those potential risks as early
as possible.
MEETINGS 42 of 62
Sprint Planning
Attendees Description
- Required: Product Owner, Scrum Master, Team (complete) The Product Owner (PO) presents the target User Stories (US) for the
- Optional: Stakeholders Sprint, one by one. The team discuss each item, identifying and sizing tasks
needed to complete the US. The PO can clarify requirements on-the-spot,
When assumptions will be uncovered; a high-level technical approach is also
At the beginning of each Sprint discussed so that developers are in alignment and this gives the PO a
better understanding of the level of complexity. US are sized (estimated) in
Duration
Story Points. The PO can also re-prioritize work to get the most business
2- 4 hours
value based on re-estimated effort. Everyone is expected to provide input
and everyone’s voice is taken into account when determining the actual
Outcomes
level of effort.
- Detailed planning for Sprint Backlog, with all the User Stories in
This is the most intense of the Scrum ceremonies, but in a few hours, the
state of Readiness with related tasks to be done identified and
team is ready to begin developing the highest priority work.
groomed
- Insights into detailed technical aspects of what is involved during
Tips
Sprint
- Use the sprint planning meeting to flesh out intimate details of the work
that needs to get done. Include PO in technical aspects of that work.
- With proper review of the requirements, conversations should flesh out
ambiguities up-front, enabling developers to develop the “right” thing for the
first time.
MEETINGS 43 of 62
Daily Scrum
Attendees Description
- Required: Scrum Master, Team (complete) Stand-up is designed to quickly inform everyone of what's going on across
- Optional: Product Owner (recommended once per week, at least) the team. The tone should be light and fun, but informative. Each team
member must answer the following questions:
When
Once per day-with-no-other-meetings, typically in the morning What did I complete yesterday?
What will I work on today?
Duration
Am I blocked by anything?
15 min
There's an implicit accountability in reporting what work you completed the
Outcomes
previous day in front of your peers. No one wants to be the team member
- Shared knowledge of work done and work remains in the short term
who is constantly doing the same thing and not making any progress.
- Insights of potential “blockers” and issues that need further
discussion
- Team’s mood tracking Tips
- Don’t use Daily Scrum for different meeting purposes, no matter if
attendees are the same. Schedule a different meeting for that.
- The Daily Scrum meeting is a problem-solving or issues resolution
meeting. Any issue pointed out by anyone during its intervention that needs
further discussion must be covered with involved people after the meeting.
Avoid getting stuck with details.
MEETINGS 44 of 62
Sprint Review
Attendees Description
- Required: Product Owner, Scrum Master, Team (complete) A Sprint Review/Demo meeting is held at the end of the Sprint to inspect
- Optional: Stakeholders the Increment. The Team demonstrates the Increment with the focus on
the Sprint Goal according to the Definition of Done. The Product Owner
When reviews and accepts the delivered Increment. This meeting should not have
At the end of each Sprint Slides with the presentation of the results but should have a working
demonstration of the work planned in sprint planning.
Duration After the demonstration the Product Owner and other relevant stakeholders
1 - 2 hours tell their impressions and clarify their requirements (user stories) if a
requirement was not implemented right. The Product Owner identifies what
Outcomes
has and hasn’t been done (according to the Definition of Done). The
- Demo of the functionality delivered during Sprint
Product Owner accepts the user stories that have been done.
- Acceptation of Users Stories that meet Definition of Done
- New Items in the Product / Release / Next Sprint Backlog and
potentially a new prioritisation of existing Product Backlog items. Tips
- Remember, work should be fully demonstrable and meet Definition of
Done to be considered complete and ready to showcase in the review.
MEETINGS 45 of 62
Release Retrospective
Attendees Description
- Required: Product Owner, Scrum Master, Team (complete) Scrum Team revises their way of work in the past in order to make it more
- Optional: Stakeholders efficient and effective in the future. The Scrum Master encourages the
Scrum Team to search for best practices and to identify improvement
When measures that it will implement in the next Release. Whereas the Review is
At the end of each Release about the product, the Retrospective is about the process – the way in
which the Scrum team works. In the Retrospective meeting, the Scrum
Duration
Master encourages the Development Team to inspect, within the Scrum
2 - 4 hours
framework and practices, how the last Release went in regards to people,
relationships, process and tools. The Team should identify and prioritise
Outcomes
the major items that went well, and those items that, if done differently,
- Findings of what's working, so the team can continue to focus on
could make things even better.
those areas, and also findings on what's not working, so the team can
try to find creative solutions
Tips
- Action plan, that is, a list of actionable improvements that will be
- In Scrum, retrospective meetings are meant to be done after each iteration
implemented for the next iterations
(ie, sprint). In practice, sprint retrospective usually happens as part of sprint
reviews, so it is a really good idea to schedule a specific retrospective
meeting just after the Release is finished - so the pressure over the team is
lower and the team can focus better, and issues addressed during last
sprints are still “fresh”.
USER STORY
TOC
PREV
NEXT
USER STORY 47 of 62
PO + QA
US Statuses: Definition
Ready
✔ New: US is added to the backlog.
Sprint / Release
✔ Ready: US is defined and ready to be planned, meaning that it meets < Assigned >
Team
criteria in Definition of Ready Team Team
Blocked To-Do Rejected
✔ To-Do: US is planned within a Sprint and a Release, and is not still in Development
Team
development process In
Team Progress
✔ Blocked: US development can’t be finished because of external Team
QA
dependencies or lack of information. Assigned person needs to solve Resolved
Testing
dependencies QA
Break up examples
Sprint 1 Sprint 2 Sprint 3 Sprint 4 Stabilization….
US#1.1: UI & Visual US#1.3: Front development US#1.4: Back development I US#1.5: Back development II
Approach #3
Definition of Ready
Definition of Ready is something that need to be agreed
among the PO and the team
✔ User Story is defined, it has been explained by PO, and expected result are clear for the team
✔ Acceptance criteria is defined, i.e detailed steps to test it with expected results
✔ Tasks needed to complete the US have been identified and defined by the team
✔ User Story has been sized by delivery team
✔ The US can be completed in one single sprint - if that’s not the case, the US should be broken down
✔ The US is not blocked from the beginning by any internal or external dependency
✔ Expected Demo for the User Story when appropriate is understood and committed by the Team
✔ Person who will validate the User Story is identified
✔ Team has all the user experience or visual artefacts needed for the User Story if needed
✔ Performance criteria is defined if needed
USER STORY 51 of 62
Definition of Done
Definition of Done is something that need to be agreed
among the PO and the team
TOC
PREV
NEXT
QA 53 of 62
WITH QA WITHOUT QA
Road to
product
release
QA 54 of 62
What it means
Quality Assurance means much more than just functional
or non-functional testing
✔ Commitment
✔ Continuous improvement processes
✔ Definition - Definition of Ready, Definition of Done,
Workflows, Guidelines
✔ Standards compliance - Code style, Documentation
✔ Testing - not only to identify, but to prevent defects
✔ Delivering - Properly and Successfully
✔ Validation - Expectations meeting: Have we done what we
were expected to?
QA 55 of 62
Product
Owner Product
Scrum Owner
Master
Ready for
Next Release
Teams
QA QA QA QA QA QA
Team Team Team Team Team Team
QA 56 of 62
1) Basic - Manual testing 2) Advanced - Half Automated Testing 3) Pro - Continuous Integration
- 1 QA per pipeline - 1 QA per pipeline & per 5 developers - 1 QA per pipeline & per 3 Developers
- Acceptance is defined for each user story - Acceptance is defined for each user story - Acceptance is defined for each user story
- Test plan defined: Overall coverage > 30% - Test plan defined: Overall coverage > 70% - Test plan defined: Overall coverage > 95%
- Testing: Manual 100% Vs Auto 0% - Testing: Manual 50% Vs Auto 50% - Testing: Manual 10% Vs Auto 90%
- Non-Coding guidelines - Coding guidelines defined - Coding guidelines defined and tested
- Non-Performance testing - Performance testing defined - Manual run - Performance testing defined - Auto run
- Non-Continuous integration (CI) - Basic CI - Packaging and Releasing - Complete CI - Automatic Deploy & Testing
Tools: Tools: Tools:
QA 57 of 62
Git flow
Gitflow organization example for two different teams, working in
parallel on two pipelines: Maintenance and New Releases
master
Tag
x.x
qa-hf-1.x X qa-hf-2.x
Branch from….
Team 1 1.1-beta1 1.1-beta2 1.2-beta1
Maintenance
Pull request
hf-1.x X hf-2.x (merge to)
Merge from
(cherry picks)
Direct push (commit) to Merges from master to rel-xx will need in most of Although they are not explicitly included in the diagram,
master, qa-rel and qa-hf is the cases specific stabilisation and decision personal - feature - branches can be created to work
absolutely prohibited. making, as long as they can include code or even from hf-X or rel-y, but always between two tags (major
whole features deprecated for the new release or minor) to avoid “merge crisis”
QA 61 of 62
Environments example
Name Description Users Git Branches
QA Hotfix Staging environment for bugfix & I/R (minor releases) QA team hotfix and PO qa-hf-1.x
(eg: tags 1.2-betaX)
Dev Hotfix Integration environment for hotfix development Devel team hotfix and QA team hf-1.x
hotfix
QA Release X Staging environment for new major release X QA team release and PO qa-rel-2.0
(eg: tags 2.0-betaY)
Dev Release X Integration environment for new major release X Devel team release and QA team rel-2.x
release
Demo Release X Demo environment for new major release X PO, stakeholders and key qa-rel-2.0
end-users (tag depending on what we want to
demo)
Local Release X Local environment for a specific developer or team in Devel team / developer rel-2.x-featureY
Release (feature based) or
rel-2.x-personY
Nacho Montoya www.emergya.com
imontoya@emergya.com