Agile Development & Values
Agile Development & Values
It evolved from lightweight methods with intentions to:
- reduce formal documentation and bureaucracy
- refocus on delivery of working software
- improve adaptability to changing requirements from customers or other stakeholders
It let to a group of developers proposing the “Agile manifesto” which states to value:
Link to original
- individuals / interactions over processes / tools
- working software over comprehensive documentation
- customer collaboration over contract negotiation
- responding to change over following a plan
Agile Principles
Agile Principles
Link to original
- Our highest priority is to satisfy the customer through early and continuous delivery of valuable software
- Welcome changing requirements, even late in development. Agile processes harness change for competitive advantage.
- Deliver working software frequently.
- Business people and developers must work together daily throughout the project.
- Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
- The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
- Working software is the primary measure of progress.
- Agile processes promote sustainable development. Sponsors, developers, and users should be able to maintain a constant pace indefinitely.
- Continuous attention to technical excellence and good design.
- Simplicity - maximising work not done is essential.
- Best architectures, requirements, and designs emerge from self-organising teams.
- At regular intervals, the team reflects on how to become more effective, then tunes its behaviour.
Lean Development & Values
Lean Development & Values
Inspired by the Toyota Production System, a lean manufacturing methodology aims to:
- eliminate waste
- design out overburden
- design out inconsistency
In comparison to lean, push manufacturing requires significant amounts of inventory:
While pull manufacturing is less reliant on inventory:
Link to original
Lean Principles
Lean Principles
Link to original
- Eliminate waste
- Build integrity / quality in
- Amplify learning / create knowledge
- Decide as late as possible
- Deliver as fast as possible
- Empower the team / respect people
- Optimise the whole: when seeking improvements, try to benefit as many people as possible (avoid technical debt)
User Story
User Story
Brief informal description of a software feature.
As a customer, I want to see a list of all my accounts and the balance in each after logging in, so I can asses my financial situation at a glance.
Example Templates:
Link to original
- As
given persona, I want todo something, so thatbusiness value.- As
given persona, I want todo something.- As a
who, when & where, [..].- In order to
receive value, aswhoI want todo something.
INVEST
Good user stories are based on I.N.V.E.S.T.:
Link to original
- Independent
- Negotiable
- Valuable / Vertical
- Estimable
- Small
- Testable
Agile Planning
Agile Planning
We start by creating a (sometimes prioritised) list of tasks that need to be started, this is called the backlog.
All tasks have some X story points, which measure how much effort it takes to complete it. We do not make estimates of actual time but relative time taken.
Link to original
Planning Poker
Planning Poker
All team members have a deck of cards like
The team discusses the task and each member of the team puts down a card (face-down) for each task, they then discuss their choices. Rounds of discussion are repeated until a consensus arises.
Link to original
Velocity Tracking
Velocity Tracking
A project’s velocity is the no. of story points completed over unit time. Hence, if we want steady work, ideally the velocity stays constant.
If the velocity starts falling, it may be an indicator that technical debt is showing up slowing down the team.
Link to original
Kanban Board
Kanban Board
An agile tool commonly used to visualise and monitor project status / progress is Kanban. Tasks are split up into different columns.
Link to original
- Kanban boards visualise project status.
- Team should limit work in progress.
- Supports flow management.
- Policies need to be discussed.
- Team should listen to feedback on how well the process and board works.
- Team should aim to improve collaboratively and evolve experimentally.
Scrum Methodologies
Scopeboxing
Scopeboxing: fix scope, adjust time
Link to original
Timeboxing
Timeboxing: fix time, adjust scope
Link to original
Retrospective
A retrospective is a team meeting where you reflect on a piece of work. What went well, what could be committed to, etc.
Link to original
Daily Scrum
A daily scrum is usually a ~15 minute meeting time-boxed in the morning for discussing work for next 24 hours.
Link to original




