Agile Software Development Workshop at Sote Hub

Post on 22-Jan-2018

153 views 5 download

transcript

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