I Agile Principle and Mindset (16%) Flashcards
Characteristics of knowledge work
- invisible
- changing
- emphasis on changing things (vs. running)
- less structure with more decisions
- focus on right questions
- understand the task (vs define)
- give autonomy
- continuous innovation
- focus on quality
- learn and teach (vs performance to strict standards)
- workers as assets
defined and empirical processes
defined:
- define constituent steps
- follow same process each time
- well understood project in an unchanging environment
empirical:
- new uncertain process
- a process of trial and experiment
- iterative and incremental
- frequent reviews and adaption
Declaration of Interdependence Agile Mindset (examirrelevant)
- We increase return on investment by making continuous flow of value our focus.
- We deliver reliable results by engaging customers in frequent interactions and shared ownership.
- We expect uncertainty and manage for it through iterations, anticipation, and adaption.
- We unleash creativity by recognizing that individuals are the ultimate source of value, and creating an environment where they can make a difference.
- We boost performance through group accountability for results and shared responsibility for team effectiveness.
- We improve effectiveness and reliability through situationally specific strategies, processes, and practices.
Agile Triangle (relevant)
inverted triangle of constraints
- agile teams allow scope to vary within the fixed parameters of cost and time
- predictive: scope fixed: time and cost variable
Agile Manifesto - 4 values
relevant
We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:
1) Individuals ans interactions over processes and tools
2) Working software over comprehensive documentation
just enough, just in time - and sometimes, just because
3) Customer collaboration over contract negotiation
4) Reaponding to change over following a plan.
12 principles behind the agile manifesto
1) satisfy customer
Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
2) welcome change
Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advatage.
3) deliver working software
Deliver working software frequently, from a couple of weeks to a couple of month, with a preference to the shorter timescale.
4) interaction of business and developers
Business people and developers must work together daily through the project.
5) environment to motivate
Build projects around motivated individuals. Give them the environment and support they need, and trust to get the job done.
6) face to face communication
The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
7) software to measure progress
Working software is the primary measure of progress.
8) sustainable pace
Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
9) technical excellence
Continuous attention to technical excellence and good design enhances agility.
10) Simplicity
Simplicity - the art of maximizing the amount of work not done - is essential.
11) self-organizing teams
The best architectures, requirements, and designs emerge from self-organizing teams.
12) team reflection
At regular intervals, the team reflects on how it become more effective, then tunes and adjusts its behavior accordingly.
Scrum
Three Pillars
Transparency
- Visibility (eg dod)
Inspection
- timely checks looking for deviations
Adaption
- adjusting the process
Scrum
5 Values
Focus Courage Opennness Commitment Respect
Scrum of Scrums
representative of one team reports progress to the representative of the other teams
1) What has your team done since we last met?
2) What will your team do before we meet again?
3) Is anything getting in your teams way?
4) Are you about to put something in another teams way?
not necessarily daily
7 Lean core concepts
1) Eliminate Waste
2) Empower the team
no micromgmt, let them make local decisions
3) Deliver fast
4) Optimize the whole
not just the pieces of the project but the whole picture of the organization
5) Build quality in
no quality test at the end, built quality in
6) Defer decisions
balance of early planning and late as possible decisions
7) Amplify learning
early communication, early feedback,
xp
difference to scrum
xp focuses on software development best practices (not on project mgmt, priorisation and feedback so much)
xp roles
1) coach equivalent to scrum master 2) customer equivalent to PO 3) developer 3) tester
xp processes
small releases 2) customer tests 3) collective code ownership 4) code standards 5) sustainable pace 6) metaphor 7) continuous integration 8) refactoring 9) simple design 9) pair programming 2 develops work 2gether: 1 writes the other reviews
Kanban 5 principles
1) visualize the workflow
2) limit WIP
3) Manage flow
tracking flow of work
4) make process policies explicit
5) Improve collaboratively
xp core values
1) Simplicity reducing extra features and waste 2) communication all people know what’s expected 3) feedback failing fast 4) courage 5) respect
p.48