Agile, Scrum, XP and Kanban (main focus)
Kanban is extremely popular and valuable for the concept of managing flow, but it's not itself a fully developed software development life cycle methodology.
Agile Methodology
Scrum Roles:
Scrum Master:
take whatever practices and parameters you're adopting from Scrum, and make sure that those are consistently applied so that the team can use them;using the rules of Scrum to self-organize and do what makes sense
Product owner role:
·
the advocate, the
lead, the sort of ultimate responsible
party on this area
·
prioritize the
backlogs, write user stories, and be the voice of the customer;
·
strong narrative
collaboration across the whole team that will help
you drive to good well thought out product;
·
It's not the
Product Owner's job in a well run team, I
would say, to shield the developers from customers or users
bringing your
whole team on a design sprint. So everybody
can get out there and see what's really relevant, what's really valuable, to what they're doing
Agile Team:
·
five to ten people, with seven
being kind of the sweet spot.
Development
Team:
·
developers,
designers, testers, documentation and media, if that applies.
Phases:
·
prescribes this cadence of iteration called
sprints
·
Spring and Iteration (Interchangeable)
·
Sprint (phases)
·
Spring planning
meeting
·
Execution of the
sprint (1-6 weeks –> Demo == internal then stakeholders)
·
Retrospective(well/wrong
writeup)
Planning (1):
·
Product owner
·
Product backlog
·
Prioritize user
stories
·
Sprint planning
meeting(put items into the draft sprint backlog)
·
Rule of thumb: 2
times as long as the number of weeks
·
Sprint
backlog(decide on what to put in the draft sprint backlog)
Scenario
four items that the product owner thinks are of
roughly equal value to the user. And one of
those items is five times as long as the others, they may prioritize that one the lowest. Or they may even take something else out of the product
backlog to substitute for it.
generally want to pull about two times as many items off of the sprint backlog as you've seen that you can historically finish
Reason
you may find that there are certain items, once
you start discussing them, that either are going to take longer than
you thought and you'd rather wait on them as the product owner. Or that maybe you thought you understood
Ask questions, and collaborate for more
details/test cases you find you need to go out and learn more about it than you
thought
Backlog: prioritized list of user stories that the team thinks they can finish during the iteration, the
sprint
Sprint Goal: a theme,
general idea focused on a certain thing for the sprint
work together to think about what a good implementation is going to be and how they're
going to move through it.
Sprint Execution(2):
·
daily standup meeting (10 to 15 minute meeting)
·
meeting where everybody gets up and says what
did I accomplish yesterday?
·
What will I
accomplish today?
·
What obstacles
are impeding my progress?
·
You'll sometimes see variations where instead, the members
talk about what they're going to do to help the team move toward the sprint
goals
Discussion between developers/product owner are
taken offline followed up individually----Short 10/15 minute meeting
Demo(3):
·
Show first the internal team and kind of talking about the work, making sure everybody sees
everything was done.
·
second one of these, with your
external stakeholders, bigger meeting, more general feedback
High Functioning
Team:
Agile is there's a big focus on having a whole
team together and having the right discussions early, as you're going along
and developing things, rather than finding them out too late
even the end of a sprint is too late, later than it should be for a high functioning team.
Retrospective(4):
·
Finish sprint
·
thinking about what went well
·
what could have
been better
·
what they want
to change
·
What practices
are not working/what to discard
·
What practices
they should newly adopt and start doing
·
if there are others that they haven't been
doing?
How the discipline suggests that you take the
input of strong narrative and convert it
into product, and then figure out how you're doing on that.