Upload
sote-ict
View
156
Download
5
Embed Size (px)
Citation preview
Adapt to change and stay on track
Agile Software Development
In the past: Waterfall
Waterfall (1)• Simple and very structured
• Tasks may be assigned to specialised teams
• Emphasis on documentation
• Still useful
• Large project
• Requirements are clear
• No, or very little change during development
Waterfall (2) - disadvantages
• Can not see final product before very end
• Blocking state
• waste of resources during waiting for team
• Inflexible - does not listen to changes during project.
How would you describe your product development experience in startup, could
waterfall work?
Question
Waterfall & startup world• Startups:
• Typically Small projects
• Very few requirements at the beginning
• Uncertainty cause many changes happening very quickly
• Speed of delivery is more important then perfection
• Waterfall does not work in startup world
The need for speed
• Industry needs to respond to unpredictable environment quickly
Question
Do we need any developing methodology at all?
Yes, we need to be organised
• Investors needs assurance of their investment and agile development helps.
• Planning is critical
• Measuring development progress
• Stay on track
Agile (1) - Movement
• Started to address the problems of Waterfall methodology
• Agile tries to deliver software through incremental and iterative work
• Changes based on an observation
Agile (2) - Benefits
• Adaptable to changes
• Fast progress and working software
• Good communication with customer
• Using TDD - What is TDD?
Scrum
• Iterative and incremental agile software development framework for managing product development.
• Application of agile development
• Typically for 5 - 7 people, but possible to apply for smaller teams as well.
Agile (3) - Iterations
Scrum meetings
• Planning - what?
• Standup - daily scrum, update
• Demo - sprint review
• Sprint retrospective
Agile - Iteration terms• Backlog
• List of all tasks which represent the product at time
• Tasks are pulled from the backlog to the sprint
• Sprint
• One iteration
• Typically one working week
• At the end of the sprint, there should be working software possible to demo to stakeholders
• Epic
• Can be the goal of one or two sprints
• Split the epic into two if it should take more then 3 sprints
• Task
• Typically more then one task is developed per person during the sprint
• If is not, there is discussion what was the problem. The task can be split into two
Planning• Discuss first few tickets with highest priority in the
backlog
• Look on the backlog and estimate what work can be achieved within a sprint
• Selected tickets is the aim of the work you are trying to achieve
• Every team member must understand the tickets in the sprint
Backlog after planning
Standup• Team update
• Catch up about previous day, or days
• Depends on the team size, can be each day, once or twice a week
• Its purpose is to synchronise team members and remove blockers - face the challenges
Demo - Sprint review
• Demonstrate to your stakeholders finished tasks
• If you are very small team with no stakeholders, you can show the work to your friends or team members from other companies
• Its a good way to get a quick feedback
Retrospective• Team is talking openly about the week
• Start
• What should we start doing to work better as a team and be more efficient?
• Stop
• Is there something we should stop doing?
• Continue
• What are the good things we were doing and we should continue them?
References
[1] Agile Manifesto - http://agilemanifesto.org/principles.html [2] Scrum Reference Card - https://www.collab.net/sites/default/files/uploads/CollabNet_scrumreferencecard.pdf [3] An Empirical Framework For Learning - http://scrummethodology.com