Agile Software Development: Frameworks Flashcards
What does “Do not force Agile frameworks unnecessarily” mean?
If it works, don’t fix it
Do not force Agile unnecessarily; Teams that are already performing well can be gradually introduced to additional Agile practices based on a specific Agile Framework
Need to balance Agile frameworks with the Organizational context.
What are Agile frameworks?
Enablers that Bring to Fruition the Value of Agile
How can we focus on the Right individuals and interactions?
Recruit and retain the right skilled resources
Cultivate a collaborative and value-driven environment
Cultivate a Team-oriented mindset
The P.O’s job is to ensure that User Stories are refined, but it is NOT their job to …
identify technical solutions. That is the job of the agile team members.
Excessive PO intrusion will kill the fire of innovation.
What helps the team not over-commit to what can be accomplished within a single itteration
Product backlog
Process Tailoring
Process tailoring refers to adapting the implementation of a specific Agile Framework to better fit an organization’s environment.
Name the Agile Frameworks
Scrum Kanban Extreme Programming Disciplined Agile Delivery Large Scale Scrum Dynamic Systems Development Methodology Scrum@scale Crystal Clear Scaled Agile Framework
5 keys to every agile framework
Deliver Value: an absolutely key driver behind anything Agile is to deliver value.
Continual Improvement: Agile promotes incremental improvement to minimize resistance from all who are involved.
Flexibility: flexibility is one of the foundations of any Agile Framework.
Trust and Respect: Agile Frameworks promote trust and respect because such trust and respect motivate Agile teams.
Cultivate Mastery: this built-in structure for Agile team members to hone their skills further motivates the Agile team.
What is Scrum
Scrum Guide CoverScrum is a framework within which people can address complex adaptive problems, while productively and creatively delivering products of the highest possible value.
Three pillars of SCRUM
Transparency - Transparency builds trust and openness both within the Agile Team, as well as with those stakeholders outside the Agile Team.
Inspection - Inspection involves the business users reviewing the Agile Team’s progress towards the defined goals.
Adaptation - Agile Teams adjust and adapt based on opportunities for improvement that are identified either by the Agile Team themselves or through feedback from others outside the team.
5 Scrum Values
Focus
- Everyone in the Team focuses on the work to be completed in order to deliver the Sprint goals.
Courage
- Members of the Team need to have the courage to do what is right to ensure the Sprint goals are met.
- Dig deep into challenging problems to work through them
Openness
- The Team and its stakeholders agree to a culture of openness.
- Ensures everyone will be comfortable to openly discuss work
Commitment
- Commitments build trust within the Agile Team members, as well as with the business users and leaders.
- Every team member commits to accomplishing the goals
Respect
- Respect is a key in Scrum for a high-achieving team.
- Elevates Agile team’s participation by including them in ceremonies and planning
When does SCRUM not make sense?
Not a magical solution for chaos, cannot bring value to and environment, when there is no clear vision or roadmap
When there is no need for iterative learning and adaption, like with predictable products
Sprint
Sprint: A Sprint in Scrum is a repeatable fixed time-box iteration during which a minimum shippable product is delivered
Most common SCRUM ceremonies
Project Vision Daily Stand Up Sprint Planning Sprint Retrospective Release Planning Sprint Review/Demo
What are SCRUM Ceremonies
Focused meetings with a specific purpose
SCRUM Ceremony: Project Vision
Purpose:
-Business leaders identify the business need
Agenda:
- Discuss Project Goals
- Identify Sponsor
- Share Success Criteria
- Identify Assumptions, Constraints, and Risks
Timing
- Once per project
- Timeboxed to one hour
Expected Outcomes
- To craft a desired future state statement
- Layout a high-level path to accomplish objectives
- Clarify the business value
Scrum Ceremony: Daily Stand Up
Purpose:
- Synchronize activities and create a short term plan fo the next 24 hours
Agenda:
- To strictly only address the following questions by each member:
- What did I do since the last time we met?
- What do I plan to accomplish today?
- What impediments am I encountering?
Timing
- Timebound to 15 minutes
- Held every day at the same time
- Preferably in the morning and in the same location
Expected Outcome
- Cultivates transparency
- conversation remains focused
- No Problem Solving
Scrum Ceremony: Sprint Planning
Purpose
- Agile team self-organizes and plans out the work to be performed in the Sprint
Agenda
- What are we committing to deliver? (PO)
- How will we complete the required work?
- What are the estimates?
Timing
- Timeboxed to 8 hours or less for a one month sprint (2 hours per week)
- More than one session
- Scrum Master ensures the timebox is not exceeded
Expected Outcomes
- PO prioritizes backlog items in the backlog
- Agile Team decides how to carry out the work
SCRUM Ceremony: Sprint Review Demo
Purpose
-Generate feedback and nurture collaboration
Agenda
- Demonstrate the sprints work
- Discuss accomplishments
- Identify remaining items in the backlog
Timing
- Once at the end of each sprint
- Timeboxed to 4 hours for a 1-month Sprint
- 2 hours for a 2-week sprint
Expected Outcome
- PO determines if deliverables are acceptable based on Acceptance Criteria and Definition of Done
- Marketplace changes are considered
- PO and TEAM make adjustments
Scrum Ceremony: Sprint Retrospective
Purpose:
- Agile team self-inspects and identifies opportunities for process improvement
Agenda
- Create a plan for improvements
- discuss what went well, and what otto continue doing
Timing
- after the sprint review
- Timeboxed to 3 hours
Expected Outcome
- POS feedback from sprint review is considered
- Improvements to process tools and people are discussed
SCRUM Ceremony: Release Planning
Purpose
- Agile Team develops a release plan
Agenda
- Discuss critical dates and milestones
- Coordinate with other teams
- Balance business value vs quality
Timing
- only when there is a release
- Timeboxed to 20 minutes
Expected Outcome
- The release date for delivery of the feature to the customer base
- Based on input from the business units or users
3 SCRUM ROLES
Product Owner, who is the voice of the customer.
Scrum Master, who is the key facilitator.
Agile Team, also known as the Scrum Team sometimes.
3 Core Scrum Artifacts
Product Increment clarifies what is being delivered in each increment at the end of each Sprint.
The Product Backlog is the prioritized list of work to be delivered by the Team.
The Sprint Backlog contains the prioritized items that the PO has designated for the Sprint.
Product Increment Artifact
Clarfies what is included in a sprint
PO and Agile Team agree on Definition of Done
PO oulines the Acceptance Criteria
Product Backlog Artifact
A prioritized list of work to be delivered
PO prioritizes the Product Backlog
Backlog items are dynamic and evolving
Sprint Backlog Artifact
Prioritized items for the Sprint
A portion of the product backlog items are included
Agile team is given a clear sprint goal by PO
Burndown Chart
Burndown Chart: A visual representation of work left to do versus time in an iteration
Burnup Chart
Burnup Chart: A visual representation of work completed versus time in an iteration
Ceremonies
Ceremonies: Meetings that are leveraged to ultimately ensure that everyone associated with the project is in-sync
Definition of done
Definition of Done: The agreed-upon deliverables that must be completed before a user story can be completed
Product backlog
Product Backlog: A prioritized list of Features that an Agile team needs to work on to achieve a specific outcome
Product Increment
Product Increment: The collection of backlog items to be completed during an iteration
Velocity Charl
Velocity Chart: A chart that shows what the team has delivered in each iteration
Lean Principles of Kanban
Eliminate Waste
- Anything that does not add value to the customer.
- Does no improve quality
- Unnecessarily increases time or effort
Build-in Quality
- Lean focuses on good practices to ensure the integrity and prevent defects.
Create Knowledge
- Lean encourages both training and peer to peer knowledge transfer.
- Do a little, show a little, learn a little
Defer Commitment
- Lean recommends the Agile Team wait until the “last responsible moment” to make a decision, which allows for additional time to innovate.
- Allows for Agile team to remain agile and have a stretch of innovation
Deliver Fast
- Lean encourages the Agile Team to create and deliver the product incrementally.
- build only what is needed
- release product earlier to get feedback
Respect People
- The Team must feel trusted and valuable to think and solve problems for themselves.
Optimize the Whole
- Lean encourages decreasing barriers to increase efficiencies by decreasing the number of hand-offs and reducing WIP.
5 principles of Kanban
- Visualize the flow
- Limit Work in Progress
- Manage Flow
- Make Policies Explicit
- Improve Collaboratively
Kanban Board
A board that articulates work items in various stages of product development like backlog, in Progress, and Done
4 Kanban Ceremonies
1 Project Vision
- Daily Stand-up
- Review/Demo
- Release planning
When does Kanban Make Sense?
Projects that involve a large number of small activities
Suitable for ad-hoc work
Kanban Core Roles
PO
Facilitator
Agile team
2 key Kanban Artifacts
Kanban board
Cumulative flow diagram
Pros and Cons of Kanban compared to SCRUM
Pros
Kanban allows team members to pick up work as capacity allows,
Kanban is more flexible, less process heavy
kanban is focused on continuous delivery
Great for teams with many requests from many different stakeholders
Cons
Kanban can be harder to plan out and project larger release initiatives
May result in poor productivity due to lack of timebox
Can be difficult to manage different priorities/ influx of work
Pros and Cons of SCRUM compared Kanban
Pros
SCRUM creates accountability
Clear definition of results
Accommodates change to plans
Allows for the planning of large initiatives / better metrics
Better use of time and money
Cons
Can lead to scope creep
Harder to manage in large teams
Changes in team structure can create large impacts
Requires team buy-in, which in turn can cause frustration if the full team is not aligned with the approach
Velocity can be easily skewed depending on team and product variables
XP Core values
Simplicity - XP encourages reducing unnecessary complexity when building a solution to avoid waste.
Communication - All team members have transparency in being aware of what is expected of them in terms of deliverables, as well as being aware of what others in the team are contributing towards.
Feedback - Feedback in every iteration is taken seriously in XP. It provides an opportunity to demonstrate working results early and often.
Courage - Courage allows a team to bravely tell the truth about progress, estimates and any impediments to value delivery. It also gives the necessary fuel to adopt technical best practices.
Respect - Respect is key foundational element in XP for a high achieving Team.
XP Roles
Customer- Somewhat like the PO; customer is the business representative.
Tester- Primarily responsible for quality assurance.
Coach- Acts as a mentor for team; also a Facilitator for the team.
Programmers- Developers who build the product.
XP Ceremonies
- Project Vision
- Itteration Planning
- Daily Standup
- Iteration Review/Demo
- Iteration Retrospective
- Release Planning