Agile Flashcards
Scrum pillars
- transparency
- inspection
- adaptation
Scrum values
- commitment
- focus
- openness
- respect
- courage
Developers
committed to creating any aspect of a usable Increment
Developers accountable for
- Creating a plan for the Sprint, the Sprint Backlog;
- Instilling quality by adhering to a Definition of Done;
- Adapting their plan each day toward the Sprint Goal; and,
- Holding each other accountable as professionals.
Product owner accountable for
- maximizing the value of the product
- backlog management
Backlog management includes
● Developing and explicitly communicating the Product Goal;
● Creating and clearly communicating Product Backlog items;
● Ordering Product Backlog items; and,
● Ensuring that the Product Backlog is transparent, visible and understood.
Scrum Master is accountable for
- establishing Scrum as defined in the Scrum Guide
- the Scrum Team’s effectiveness
Scrum master serves the team by
● Coaching the team members in self-management and cross-functionality;
● Helping the Scrum Team focus on creating high-value Increments that meet the Definition of
Done;
● Causing the removal of impediments to the Scrum Team’s progress; and,
● Ensuring that all Scrum events take place and are positive, productive, and kept within the
timebox.
Scrum master serves the product owner
● Helping find techniques for effective Product Goal definition and Product Backlog management;
● Helping the Scrum Team understand the need for clear and concise Product Backlog items;
● Helping establish empirical product planning for a complex environment; and,
● Facilitating stakeholder collaboration as requested or needed.
Scrum master serves the organization
● Leading, training, and coaching the organization in its Scrum adoption;
● Planning and advising Scrum implementations within the organization;
● Helping employees and stakeholders understand and enact an empirical approach for complex
work; and,
● Removing barriers between stakeholders and Scrum Teams.
Definable work
clear procedures that gave proved successful on similiar projects in the past
more definable work is automated
High uncertainty work
high rates of change, complexity and risk => hard for systems with up front control and change request process
Agile manifesto
individuals and interactions over processes and tools
working software over comprehensive documentation
customer collaboration over contract neotiation
responding to change over following a plan
Agile approach
any kind of approach, technique, framework, method or practice that fulfulls the values and principles of the agile manifesto
Lean thinking
- focus on delivering value
- respect for people
- minimize waste
- transparent
- adapt to change
- continuous imporvement
iterative and incremental approaches
- reduce waste and rework
use
- very short feedback loops
- frequent adaptation of process
- reprioritization
- regularly updated plans
- frequent delivery
Types of lifecycles
- predictive
- iterative
- incremental
- agile
Predictive lifecycle
traditional approach with bulk of planning occurring upfornt, then executing a single pass
sequential process
Iterative life cycle
- approach that allows feedback for unfinished work to improve and modify that work
- improve the product through successive prototypes or proofs of concept
- project benefits when: frequent changes or scope is subject to differing stakeholders views of the descired final product
- make take longer as they are optimized for learning rather than for speed of delivery
incremental
provides finished deliverables that the customer may be able to use immediately
- optimize for speed of delivery
3 use poc + evaluation criteria
agile life cycle
process that is both iterative and incremental to refine work items and deliver frequently
- team expects requirements to change
Iteration-based agile
team works in timeboxes of equal duartion to deliver completed features
team does not address all the iteration work at once
Flow based
team pulls features from the backlog based on its capacity to start work
keep wip sizes small to better identify isseus early and reduce rework
each feature might take different time to develop
Hybrid life cycles as transition strategy
a gradual transition involves adding more iterative techniques to improve learning and alignment among teams and stakeholders. Later consider adding more incremental techniques to accelerate value and return on investment to sponsors
Project factors that influence tailoring of agile approaches
- demand pattern: steady or sporadic: use a cadence
- rate of process imporovment required by the level of team experience
- flow of work is often interrupted by delays or impediments? (kanban => make more visible the work)
- quality of the product work is poor (tdd practices)
- more than one team is needed to build a product
- project team members are inexperienced in the use of agile approaches
Servant leadership
- focus on understanding and addressing the needs and development of team members in order to enable highest possible team performance
Servant leader approaches the work in the following order
- purpose: why - project
- people: encourage to create environment when everyone can succees
- process: results over perfect process
Some characteristics of servant leadership
- promote self-awareness
- listening
- serving those on the team
- helping people grow
- coaching vs controlling
- promoting safety, respect and trust
- promoting energy and interlligence of otehrs
focus from managing coordination to facilitating collaboration.
encourage collaboration and knowledge sharing
focuses on paving the way for the team to do its best work
Agile teams
- focus on rapid product development so that they can obtain feedback
- team members are 100% dedicated to the teams
Team collaborations ways
- pairing
- swarming:
- mobbing
Swarming
- multiple team members with available time and appropriate skill sets all direct their attention to work together on one feature or user story
- goal is to deliver high-quality results quickly by directing all available people power until the feature is up to scratch
- swarming is for attacking blockers?
Mobbing
- a technique in which multiple team members focus simultaneously and coordinate their contributions on a particular work item.
- If you have a story and all the developers sit down in front of one monitor and one keyboard to work on it together, you are mobbing.
Multitasking
- reduces the throughput of the team’s work and impacts the team’s ability to delivery consistently
- ppl experience productivity loss between 20% - 40% when taks swithcing exponentially with the number o f tasks
- people are more likely to make mistakes
- task swithing consumes working memory and people are less likely to remember their context
Attribute of agile teams
- dedicated people
- cross-functional team members
- colocation or ability to manage any location challenges
- mixed team of generalist and specialist
- stable work environment
At minimum, for agile project a team needs
- project vision / purpose
- clear set of working agreements
The agile project charter needs to answer these questions
- why are we doing this project?
- who benefits and how
- what does done mean?
- how are we going to work together?
Team chartering
helps the team learn how to work together
group social contract
goal: create an agile environment in which team members can work to the best ability of the team
- team values
- working agreements (what ready means)
- ground rules
- group norms:
Common agile practices
- retrospectives
- backlog preparation
- backlog refinement
- daily standups
- demonstration/reviews
Standup antipatterns
- turn it into status meeting
- team starts to solver the problem once it becomes apparent => another meeting
Story points
rate the relative work, risk an complexity of a requirement or story
Measurements used by flow-based agile team
- lead time
- cycle time (see bottlenecks and delays)
- response time
similiar features might have similiar cycle time
Lead time
total time it takes to deliver an item measured from the time it is added to the board to the moment it is completed
Cycle time
Time required to process an item, from start to complete
Response time
the time that an item waits until the work starts