10. Agile IT Flashcards
What are the 4 keys in the Manifesto for Agile Software Development? “blabla over blabla”
- Individuals and interactions over processes and tools.
- Working software over comprehensive documentation.
- Customer collaboration over contract negotiation.
- Responding to change over following a plan.
It is still value on the things to the right, but we value the left side more.
12 principles of Agile Software:
- Prio 1 is to satisfy customers
- Welcome change requirements (we learn from it)
- Deliver working software frequently.
- Business and developers work together daily.
- Motivated people and environments.
- Face-to-face interactions.
- Working software is the primary measure of progress.
- Sustainable development and constant pace.
- Put attention to tech excellence and good design, it enhances agility.
- Simplicity - maximize the amount of work not done.
- Self-organizing teams
- Reflect and adjust the work/process/behavior
What do we organize scrum teams around?
Outcomes! Not activities. So there are different people involved in each outcome, not functional silos.
Describe the scrums framework/process in short.
- The product owner communicates with stakeholders and looks at the backlog of what should be done.
- The product backlog goes into a sprint planning. Forecasting work needed to achieve.
- This creates a sprint backlog that goes into the actual sprint.
- The sprint works on their tasks and meet daily. Max time for a sprint is 1 month. The scrum master tells people HOW to work, not what should be done (that’s the product owner’s role)
- Then releasing something, better to release small parts that can be integrated often.
- Sprint review and sprint retrospective - how did it go and what can be better done?
What is a story board?
A board where the team puts up notes on what is the team’s backlog (should be done), what is under development right now, what is under testing process right now and what is finished and accepted.
To get an overview.
How can we scale small scrums to larger IT projects?
We can have teams of agile teams. This is done by merging teams of 5-11 individuals into an Agile Release Train (ART) where different cross-functional groups work together on a project but with different components. Each team has everything they need to define, deliver and operate solutions (no hand-overs needed)
How do communication work in ARTs?
You communicate with your own team (scrum) daily and then there are also larger meetings with the whole ART to see how components fit together and how they can be integrate able.
What three parts go into the Agile Product Delivery?
- Customer Centricity & Design thinking.
- Develop on cadence, Release on demand.
- DevOps and the continuous delivery pipeline.
- Customer Centricity & Design thinking.
Design thinking is the integral to customer centricity. Two main activities of design thinking:
1. Understand the problem - discover (diverge) and define (converge).
2. Design the right solution - develop (diverge), deliver (converge)
And this design deliver should be desirable 8customer centricity), viable (economically) and feasible (technically).
- Develop on cadence, Release on demand.
Developing on cadence helps manage the variability inherent in product development. Decoupling the release of value assures customers can get what they need when they need it. This promotes business agility.
- DevOps and the continuous delivery pipeline.
Continuous delivery.pip represents the workflows, activities and automation needed to go from an idea to on-demand release. The same team work with continuous exploration, integration, deployment and release, not different functions etc.
DevOps (development operations), what five cornerstones are there?
CALMR:
- Culture: culture of shared responsibility of everything along the value stream.
- Automation: remove human intervention from as much of the pipeline as possible to decrease errors.
- Lean Flow: limiting WIP, reducing batch sizes etc. Make it as lean as possible.
- Measurement: for learning and continuous improvements. Must measure to understand the flow.
- Recovery: builds systems that allow fast fixes, going back to a previous state, if it gets too complicated to integrate.
Enterprise Solution Delivery: three main parts:
How to apply Lean-Agile principles and practices in the largest software application developments. Scaling it.
- Lean System and Solutions Engineering.
- Coordinating Trains and Suppliers.
- Continually Evolve Live Systems.
How has the traditional V lifecycle model of building large systems changed into the continuous flow model?
Previously you specified the plan of activities.
Now, you do all in the ART or solution train. You have a flow of activities. So it’s still the same activities but instead in smaller batches that occur continuously throughout the lifecycle.
Programs Increments (PI):
A PI is a timebox during which an ART delivers incremental value in the form of working, tested software and systems. Typically 8-12 weeks long.
How does the PIs work?
Solution intent and solution context flow down the value stream. As downstream subsystem and component teams implement decisions, the knowledge gained from their continuous exploration, integration and deployment efforts provide feedback back upstream and move decisions from variable (undecided) to fixed (decided).
Multiple Planning Horizons:
You do a rolling planning with detailed plans on the short term, and more general for long term.
On the short, the planning is more concerned with capabilities and features, while on the long term it’s about epics (higher components of what needs to be done).
This makes the org more agile, since long term detailed plans often needs to be changed when new information and understanding emerge. You still forecast long term based on roadmaps, but you don’t commit to long-term work.
Use roadmaps and backlogs to forecast short term planning.
Solution Trains =
The organizational construct used to build large and complex solutions that require the coordination of multiple ARTs, as well as the contribution from suppliers. It aligns ARTs with a shared business and tech mission using solution visions, solution backlog, solution roadmap and aligned PIs.
Development in Solution Trains for value streams, what three things do you plan?
You plan:
- Features/stories
- Higher level capabilities
- Enablers
How does the process in Development in Solution Trains work?
Into the process goes funding, canvases, strategic intent. We need a solution Management and Architects. Then we have several ARTs that plan the three things: features, capabilities and enablers. Out comes. solution that is governed by economic decision making and solution intent. Furthermore, the customer collaborates with the solution builder.
Who are involved in the governance of the solution train?
- Solution architects/engineers.
- Solution Management (similar to product owner in the scrum and decides the prioritization)
- STE (Solution train engineer) - similar to the scrum master but looks at the whole process.
- Suppliers - provide the capabilities and enablers needed.
How often to we integrate the entire solution?
First we do frequent partial integrations but the full solutions should be integrated at least in each PI.
Coordinate value streams - how?
By their very nature, value streams are independent. But it is more likely that we have dependencies among them. To exploit the value from interconnections, we must coordinate the value streams.
- First we coordinate the roles of Solution portfolio mngmt, Enterprise architect and Agile program management office (APMO).
- Apply cadence and synchronisation across value streams.
- Introduce new portfolio work.
- Ensure integration points.
- Portfolio roadmap.
- Release on demand.
Lean Portfolio Management =
describes how a portfolio is a collection of value streams for a specific business domain in an enterprise. each value stream delivers one or more solutions that helps the enterprise meet its business strategy.