@JuttaEckstein | JEckstein.com
1
1
Jutta Eckstein | @JuttaEckstein
JEckstein.com
linkedin.com/in/juttaeckstein
Agile Development in a Nutshell
@JuttaEckstein | JEckstein.com
2
2
Jutta Eckstein | @JuttaEckstein
www.JEckstein.com
linkedin.com/in/juttaeckstein
Agile Development in a Nutshell
@JuttaEckstein | JEckstein.com
3
@JuttaEckstein | JEckstein.com
4
Agile Manifesto: A Value System, Culture, Attitude
Source:
http://agilemanifesto.org
@JuttaEckstein | JEckstein.com
5
Agile Principles
◼ Value system is based on the following principles:
– Early and continuous delivery of valuable software
– Welcome changing requirements
– Deliver working software frequently
– Business people and developers work together
– Trust motivated individuals
– Face-to-face conversation
– Working software is the primary measure of progress
– Promote sustainable development
– Technical excellence and good design
– Simplicity is essential
– Self-organizing teams
– Team reflection and adjustment
@JuttaEckstein | JEckstein.com
6
Software Development
◼ Common knowledge
– Working software is the primary measure of progress
– Requirements will change over time
– Customer feedback is needed for shaping the system
◼ But, here‘s what we often do:
– Try to clarify the requirements up front
– Make assumptions if we‘re uncertain
– Be surprised / offended if the customer changes their mind
@JuttaEckstein | JEckstein.com
7
Agile Software Development
◼ Prioritizing, planning, and learning are ongoing activities
@JuttaEckstein | JEckstein.com
8
Planning
◼ Coarse grained planning with releases
– Steered by stakeholders
◼ Fine grained planning with iterations/sprints (just-in-time)
– By developers
◼ Continuous improvement
– Planning is an ongoing activity
– Quality of the plan is continually improved
– Retrospectives help to get more effective
@JuttaEckstein | JEckstein.com
9
Ensuring the Business Value
◼ Customer / product owner
– Decides on highest business value
– Steers the iteration
– Provides feedback on delivery
– Obtains feedback from the teams
◼ Represents customer perspective
@JuttaEckstein | JEckstein.com
10
Coach (aka Scrum Master)
◼ Responsible for:
– Coaching team in self-organization and creation of valuable products
– Cooperation with roles and functions interfacing the team
– Removing barriers
◼ Ensures:
– Process is understood
– Organization of team meetings
– The organization supports and understands the process
@JuttaEckstein | JEckstein.com
11
Self-Organizing Team
◼ Cross-functional
◼ Organizes itself and its work
◼ Integration instead of separation
– Competency, responsibility, and task inseparable
@JuttaEckstein | JEckstein.com
12
Deliver Working Software Frequently
◼ Balance risk reduction with feature accomplishment
◼ Development cycles:
– Two-week iterations have been proven
– Three to six iterations mark a releases
◼ Time-boxed development:
– Knowledge about how you’re making progress
– Early ROI
@JuttaEckstein | JEckstein.com
13
Focus of Planning
◼ Foundation for planning effort:
– User stories that
• Provide a business value for somebody
• Are measurable
– Therefore each story needs to clarify
• Who can accept it
• By what criteria
◼ Plan for user story accomplishment
– Including integration, test, and acceptance
@JuttaEckstein | JEckstein.com
14
Continuously Learning by Reflection
◼ Review
– Working system provides direct feedback
• Integration, quality, acceptance, ...
◼ Retrospectives enable continuous
improvement
– Recognize and extract best practices
– Reflection on & optimization of the process
– As a team get more effective & efficient
@JuttaEckstein | JEckstein.com
15
Quality
„At the end of the development, you can‘t test quality into the system.“
Hermann Mikula
◼ Quality is an inherent ingredient of development
– QA is part of the team
◼ Pay attention to regular feedback via continuous integration and tests
– Test automation on all levels
– Continuous improvement by refactoring
@JuttaEckstein | JEckstein.com
16
Personal Development
◼ Regard failures as learning possibilities
– Not as malfunction
◼ Learning is required by everyone at any time
◼ Sustainable Improvement
– Continuous reflection and improvement
– Everyone has to act self-responsibly
@JuttaEckstein | JEckstein.com
17
Example Agile Development Approach: Scrum
@JuttaEckstein | JEckstein.com
18
Jutta Eckstein | @JuttaEckstein
Jutta@JEckstein.com
http://JEckstein.com
Many Thanks and… Stay in Touch:

Agile Development in a Nutshell

  • 1.
    @JuttaEckstein | JEckstein.com 1 1 JuttaEckstein | @JuttaEckstein JEckstein.com linkedin.com/in/juttaeckstein Agile Development in a Nutshell
  • 2.
    @JuttaEckstein | JEckstein.com 2 2 JuttaEckstein | @JuttaEckstein www.JEckstein.com linkedin.com/in/juttaeckstein Agile Development in a Nutshell
  • 3.
  • 4.
    @JuttaEckstein | JEckstein.com 4 AgileManifesto: A Value System, Culture, Attitude Source: http://agilemanifesto.org
  • 5.
    @JuttaEckstein | JEckstein.com 5 AgilePrinciples ◼ Value system is based on the following principles: – Early and continuous delivery of valuable software – Welcome changing requirements – Deliver working software frequently – Business people and developers work together – Trust motivated individuals – Face-to-face conversation – Working software is the primary measure of progress – Promote sustainable development – Technical excellence and good design – Simplicity is essential – Self-organizing teams – Team reflection and adjustment
  • 6.
    @JuttaEckstein | JEckstein.com 6 SoftwareDevelopment ◼ Common knowledge – Working software is the primary measure of progress – Requirements will change over time – Customer feedback is needed for shaping the system ◼ But, here‘s what we often do: – Try to clarify the requirements up front – Make assumptions if we‘re uncertain – Be surprised / offended if the customer changes their mind
  • 7.
    @JuttaEckstein | JEckstein.com 7 AgileSoftware Development ◼ Prioritizing, planning, and learning are ongoing activities
  • 8.
    @JuttaEckstein | JEckstein.com 8 Planning ◼Coarse grained planning with releases – Steered by stakeholders ◼ Fine grained planning with iterations/sprints (just-in-time) – By developers ◼ Continuous improvement – Planning is an ongoing activity – Quality of the plan is continually improved – Retrospectives help to get more effective
  • 9.
    @JuttaEckstein | JEckstein.com 9 Ensuringthe Business Value ◼ Customer / product owner – Decides on highest business value – Steers the iteration – Provides feedback on delivery – Obtains feedback from the teams ◼ Represents customer perspective
  • 10.
    @JuttaEckstein | JEckstein.com 10 Coach(aka Scrum Master) ◼ Responsible for: – Coaching team in self-organization and creation of valuable products – Cooperation with roles and functions interfacing the team – Removing barriers ◼ Ensures: – Process is understood – Organization of team meetings – The organization supports and understands the process
  • 11.
    @JuttaEckstein | JEckstein.com 11 Self-OrganizingTeam ◼ Cross-functional ◼ Organizes itself and its work ◼ Integration instead of separation – Competency, responsibility, and task inseparable
  • 12.
    @JuttaEckstein | JEckstein.com 12 DeliverWorking Software Frequently ◼ Balance risk reduction with feature accomplishment ◼ Development cycles: – Two-week iterations have been proven – Three to six iterations mark a releases ◼ Time-boxed development: – Knowledge about how you’re making progress – Early ROI
  • 13.
    @JuttaEckstein | JEckstein.com 13 Focusof Planning ◼ Foundation for planning effort: – User stories that • Provide a business value for somebody • Are measurable – Therefore each story needs to clarify • Who can accept it • By what criteria ◼ Plan for user story accomplishment – Including integration, test, and acceptance
  • 14.
    @JuttaEckstein | JEckstein.com 14 ContinuouslyLearning by Reflection ◼ Review – Working system provides direct feedback • Integration, quality, acceptance, ... ◼ Retrospectives enable continuous improvement – Recognize and extract best practices – Reflection on & optimization of the process – As a team get more effective & efficient
  • 15.
    @JuttaEckstein | JEckstein.com 15 Quality „Atthe end of the development, you can‘t test quality into the system.“ Hermann Mikula ◼ Quality is an inherent ingredient of development – QA is part of the team ◼ Pay attention to regular feedback via continuous integration and tests – Test automation on all levels – Continuous improvement by refactoring
  • 16.
    @JuttaEckstein | JEckstein.com 16 PersonalDevelopment ◼ Regard failures as learning possibilities – Not as malfunction ◼ Learning is required by everyone at any time ◼ Sustainable Improvement – Continuous reflection and improvement – Everyone has to act self-responsibly
  • 17.
    @JuttaEckstein | JEckstein.com 17 ExampleAgile Development Approach: Scrum
  • 18.
    @JuttaEckstein | JEckstein.com 18 JuttaEckstein | @JuttaEckstein Jutta@JEckstein.com http://JEckstein.com Many Thanks and… Stay in Touch: