Agile Software Development
by Eduardo Ribeiro
Photo by Olga Guryanova on Unsplash
26/09/2018
Who am I? / My Experience
(…)
26/09/2018
Who is Critical Software?
26/09/2018
Training Overview
Photo by Leonard von Bibra on Unsplash
• What is Agile?
• Cone of Uncertainty
• What is Agile?
• Agile Manifesto
• 12 Principles behind the Agile manifesto
• Software Development Process
• Agile Umbrella (Flavours)
• Why adopt (or should we adopt) it?
• What is Scrum?
• Incremental != Iterative
• Scrum Principles
• Scrum Values
• Scrum Framework Flow Diagram
• What is a Team?
• Scrum Master
• Product Owner
• Product Backlog
• User Story
• Invest Acronym
• Why we Estimate?
• Story Points & Poker Planning
• Kanban System
• Team and Progress Visibility
• Summary
• Q&A
26/09/2018
Cone of Uncertainty
Picture from Agile in a Nutshell
26/09/2018
What is Agile?
Agile is an iterative
and incremental
work methodology
were its main focus is on
client satisfaction
through
continuous delivery
Photo by Patrick Baum on Unsplash
26/09/2018
Agile Manifesto
We are uncovering better ways of deliver
work by doing it and helping others do it.
Through this work we have come to value:
Individuals and interactions
Working solutions
Customer collaboration
Responding to change
over processes and tools
over comprehensive documentation
over contract negotiation
over following a plan
26/09/2018
12 Principles behind the Agile Manifesto
1. Satisfy the customer
2. Welcome changing requirements
3. Deliver work frequently
4. Work together daily
5. Motivated individuals
6. Face-to-face communication
7. Working solutions
8. Sustainable delivery
9. Technical excellence and good design
10. Simplicity
11. Self-organizing teams
12. Be more effective
Photo by William Bout on Unsplash
26/09/2018
Software Development Process
50% Complete? 0% usable.
25% Complete? 100% usable.
26/09/2018
Agile Umbrella (Flavours)
Photo by Edu Lauton on Unsplash
26/09/2018
Why adopt (or should we adopt) it?
Earlier ROI/value
Reduced risk
Increased visibility of progress
Increased predictability
Increased productivity
Reduced waste
More productive
Happy teams
Photo by Jeremy Bishop on Unsplash
26/09/2018
What is Scrum?
12
Photo by Tim Gouw on Unsplash
26/09/2018
Incremental != Iterative
13
Photo by Uriel Soberanes on Unsplash
26/09/2018
Scrum Principles
Photo by Andyone on Unsplash
26/09/2018
Scrum Values
Photo by rawpixel on Unsplash
Heading here
26/09/2018
What is a Team?
”A team is not a group of people who work together.
A team is a group of people who trust each other!”
Simon Sinek
Photo by rawpixel on Unsplash
Heading here
26/09/2018
Scrum Master
Heading here
26/09/2018
Product Owner
Photo by rawpixel on Unsplash
Heading here
26/09/2018
Product Backlog & Prioritization
1
Highest Priority
Work on it now – Lots of detail
2
Up Next – More detail
Work that is 3-5 Sprints out –
Some detail
3
4
Too far out – Little detail
Photo by Alexander Hafemann on Unsplash
26/09/2018
Product Backlog Structure & Visibility (Jira)
Projects, Epics, User Stories and Sub-
Tasks
Roadmap and Release Plan
Photo by Maarten van den Heuvel on Unsplash
Heading here
26/09/2018
User Story
AS A USER <type of the user>
I WANT TO <new goal / problem to be solved>
SO THAT <benefit of story being completed>
CONVERSATION: <description and additional notes>
UAC’s:
• <user acceptance tests>
Photo by rawpixel on Unsplash
Heading here
26/09/2018
INVEST Acronym
Photo by Annie Spratt on Unsplash
26/09/2018
Why we Estimate?
Photo by rawpixel on Unsplash
26/09/2018
Story Points & Poker Planning
Photo by Inês Ferreira on Unsplash
26/09/2018
Scrum Framework (Recap)
TheScrumFrameworkbyScrumInc.byJoelRiddle
26/09/2018
Kanban System
26/09/2018
Team and Progress Visibility
Photo by Ruth Enyedi on Unsplash
26/09/2018
Continuous Delivery
26/09/2018
Tools
26/09/2018
Summary
Photo by Oscar Nilsson on Unsplash
26/09/2018
Q&A

Agile Software Development and Continuous Delivery at UPT DEGI | 25th of Sep 2018

Editor's Notes

  • #5  Scrumage – From a Rugby was the method used to restart play in a match after a foul. Visually it's eight players from each team packed together with heads down, all trying to take possession of the ball. On a project team the goal is to have the project done. Historically and using traditional methods this meant planning and designing the hole project at the beginning and sticking to that plan with no variations. Still in real life project work is completely unpredictable. It’s impossible to know at the beginning how the project will go and how to best meet is unique challenges. The founders of Agile movement recognize that in Rugby the objective is to move the ball on the field one position at the time. So, why couldn't projects do the same thing? Why not change the focus from just winning the whole game to winning each and every milestone and deliverable. An approach that breaks the deliverables and milestones into smaller pieces and gets the whole team together to focus on just that one goal until it's done. Like in rugby, if the small individual scores happened on a regular cycle, winning the game or delivering the project would take care of itself. So, the sporting word scrum has been transformed in the last several years to have a new meaning. It means to run your projects more like a rugby match, pursuing the small goals and deliverables that will get your project done.
  • #7  Build the highest value software, with high quality and as quickly as possible. A software / product development methodology: Fast Adaptive Respond to change Self organizing, self motivated, multi functional, Empowered teams. Traditionally, waterfall project teams face three constraints: time, cost, and scope. They're unable to change any of these things once their project starts. The problem is, during the course of a project, the business environment changes around you. This means, by the time you're done, what you built is no longer valuable.  Business needs are changing more rapidly than ever. Project requirements are shifting just as quickly to keep up. So teams were doomed to failure on every project until the Agile manifesto came along. Then we shifted our focus away from constraining all three project elements, and decided to make one of them flexible. Scope, that was huge. You, the business person, can have this team, cost, for this long, time, and you can build whatever you believe is most valuable.
  • #8  Agile Manifesto The Agile Manifesto was created by seventeen people in February 2001, with desires to find alternative approaches to software development. Each of them played a prominent part in the opposition of the prevailing software development processes, which they considered rigid, heavyweight and too focused on documentation. Their response, summarized in the manifesto. That is, while there is value in the items on the right, we value the items on the left more. http://agilemanifesto.org/
  • #9  The 12 Principles behind the Agile Manifesto http://agilemanifesto.org/principles.html
  • #13  Scrum is an iterative and incremental agile software development framework for managing product development.
  • #14  How to build MVP? Incremental approach is start from zero and scaling it. Iterative development is the revising and improving on the things.
  • #15  Scrum Principles - Empirical Process Control Decisions should be made based on observation and experimentation rather than on detailed upfront planning. This process is called Empirical Process Control and relies on three main ideas: Transparency – by allowing an easy and transparent flow of information to create an open work culture. Inspection – by collecting feedback and improving work and processes. Adaptation –Transparency and Inspection makes it possible to adapt, making improvements in team work and processes. Self Organization Team self organizes, since they are the ones that know themselves the best. Collaboration From the book “The way back home”. Value Based Organization Prioritizing can be defined as determining the order and separating what must be done now, from what needs to be done later. Are considered the following points. Deliverables that satisfies the requirements of the customer with the objective of delivering the maximum business value in the least amount of time. Requirements are captured in small items in a list of “Product Backlog”. Time Boxing Scrum introduces a concept called 'Time-boxing' which proposes fixing a certain amount of time for each process and activity in a Scrum project. This ensures that Scrum Team members do not take up too much or too little work for a particular period of time and do not expend their time and energy on work for which they have little clarity. Some of the benefits of Time-boxing are: Efficient development process. Less overheads. High velocity for teams. Iterative Development Delivering maximum business value in the least time.
  • #16  Scrum Values All work performed in Scrum needs a set of values as the foundation for the team's processes and interactions. And by embracing these five values, the team makes them even more instrumental to its health and success. Focus Because we focus on only a few things at a time, we work well together and produce excellent work. We deliver valuable items sooner. Courage Because we work as a team, we feel supported and have more resources at our disposal. This gives us the courage to undertake greater challenges. Openness As we work together, we express how we're doing, what's in our way, and our concerns so they can be addressed. Commitment Because we have great control over our own destiny, we are more committed to success. Respect As we work together, sharing successes and failures, we come to respect each other and to help each other become worthy of respect. As an organization applies Scrum it discovers its benefits. At the same time, it sees how these values inherently contribute to the success of Scrum and understands why they are both needed, and bolstered, by Scrum. See more at: https://www.scrumalliance.org/why-scrum/core-scrum-values-roles
  • #18  Protects the team and protects improve their internal the team process. Is the facilitator who keeps the team within the guardrails of Scrum. Balance the demands of the PO against the needs of the team. This role is the first safety valve to ensure teams are performing at a sustainable pace. Is the most visible spokesperson for the team and Scrum Masters value transparency. They'll devise charts and boards to share the team's progress with anyone who's curious or interested in how they're doing. They're also the first escalation point when something gets in the way for the team. The Scrum Master will work to remove any blockers until they're out of the way and the team can continue on. While the PO focuses on what needs to be done, the Scrum Master focuses on how the team does the work. And one more thing. The Scrum Master also holds the team accountable for their commitments to the Product Owner.
  • #19  Business representative committed 100% to the team. They show up every day, because they're contributing to the final product every day. They review all the work the team completes and either accepts it or asks the team to make changes to ensure the highest value is being delivered. They are always ordering the work and ensuring the team members clearly understand the details of the request. They're also interacting on a daily basis with the stakeholders. Help the team resolve day-to-day issues and counterbalance the ongoing requirements changes. As a result, the PO is the keeper of the product vision. He or she defines and manages the backlog of work to be done and the prioritization of those work items.
  • #20  Order, prioritised list of features and work.
  • #22  Use case with business value. Rely on 3 C’s: Card Conversation Confirmation
  • #23  The INVEST acronym was created by Bill Wake as a reminder of the characteristics of a good quality user story. Vertical Slice we can have a user story that is a small.
  • #25  Fibonacci – 0,1,2,3,5,8,13,20,40,100,? Why we should do the Planning poker? Collaborative approach, emphasizes the team Everyone’s opinion is heard Quick Information is shared Avoids domination by influential people Encourages questions Encourages the team to converge on an estimate
  • #26  Scrum wants you to fail. In fact, it's known for the slogan "fail fast, learn fast” Scrum takes the Agile manifesto and its key principles and boils them down to a very simple framework that encourages small-scale focus and rapid learning cycles. That's what fails fast really means, learn fast. With that in mind, the basics of the framework are designed to encourage that fast feedback loop. DoD and DoR