35
Agile Bioinformatics

Agile bioinf

Embed Size (px)

DESCRIPTION

Introduction to scrum, lecture at the "Programming for Evolutionary Biology" workshop in Leipzig 2013. http://evop.bioinf.uni-leipzig.de/

Citation preview

Page 1: Agile bioinf

Agile Bioinformatics

Page 2: Agile bioinf

Why do research projects fail?

Page 3: Agile bioinf

Why do research projects fail?(in programming)

● Time wasted using wrong tools / cleaning bad data / etc..

● Insufficient programming skills● Objectives not defined clearly / bad planning

Page 4: Agile bioinf

Why do research projects fail?(in programming)

● Time wasted using wrong tools / cleaning bad data / etc.. ask for help

● Insufficient programming skills practice● Objectives not defined clearly / bad planning

Page 5: Agile bioinf

Why do research projects fail?(in programming)

● Time wasted using wrong tools / cleaning bad data / etc.. ask for help

● Insufficient programming skills practice● Objectives not defined clearly / bad

planning

Page 6: Agile bioinf

Example: last year's students project

● Day 1: Let's do a project to analyze a dataset of Alternative Splicing expression

Page 7: Agile bioinf

Example: last year's students project

● Day 1: Let's do a project to analyze a dataset of Alternative Splicing expression

● Day 3: Working on five different projects at once

Page 8: Agile bioinf

Example: PhD thesis

● Day 1: professor explains great idea of PhD thesis

Page 9: Agile bioinf

Example: PhD thesis

● Day 1: professor explains great idea of PhD thesis

● After 3 years: student working on a completely different project

Page 10: Agile bioinf

Planning and Programming

● Planning is the most important part in programming

● If your objective are not clear, you'll waste time

Page 11: Agile bioinf

Planning is difficult, because objectives change!

● Objectives always change over time– New priorities

– New ideas

– Somebody else published it

– etc..

Page 12: Agile bioinf

Planning is difficult,because objectives change!

● Objectives always change over time– New priorities

– New ideas

– Somebody else published it

– Etc..

● What's the solution?

Page 13: Agile bioinf

Scrum

● Scrum is an approach to software programming

Page 14: Agile bioinf

Scrum

● Scrum is an approach to software programming

● It's a set of guidelines to how to organize your work:– How to define the objectives?

– How frequently objectives must be re-stated?

– How to organize daily work?

Page 15: Agile bioinf

Scrum

● Scrum is an approach to software programming

● It's a set of guidelines to how to organize your work:– How to define the objectives?

– How frequently objectives must be re-stated?

– How to organize daily work?

● Guidelines, not rules

Page 16: Agile bioinf

The scrum “sprint”

● The basic of scrum is to split the work into “sprints” of 2-4 weeks each

Page 17: Agile bioinf

The scrum “sprint”

● The basic of scrum is to split the work into “sprints” of 2-4 weeks each– Every 2-4 weeks, a meeting to redefine the

objectives, and plan how to obtain them

– Short daily meetings to check that everything is ok

– A feedback meeting at the end, to discuss what went well or not

Page 18: Agile bioinf

The planning meeting

● A planning meeting is made every 2-3 weeks (beginning of the “sprint”)

● Tasks:– Define main objectives

– Divide work into single tasks

Page 19: Agile bioinf

The planning meeting

● A planning meeting is made every 2-3 weeks (beginning of the “sprint”)

● Tasks:– Define main objectives

– Divide work into single tasks

http://blogs.microsoft.co.il/blogs/kolbis/

Page 20: Agile bioinf

Planning table (post-its)

Source of the image: wikipedia

Page 21: Agile bioinf

The “post-it” rule

● Ideally, a task can be decribed in paper of the size of a “Post-it”

● If you can't explain it in a Post-it, then split it into two tasks

Page 22: Agile bioinf

Objectives table

(sorry – I'll put this online when I submitted the paper)

Page 23: Agile bioinf

Daily meeting

● 15 minutes meetings, every day in the morning

● Each participant explains:– What have you accomplished yesterday?

– What are you going to do today?

– Are there any impediments / stumbling blocks?

Page 24: Agile bioinf

Daily planning table

(sorry – I'll put this online when I submitted the paper)

Page 25: Agile bioinf

Daily Meeting example

Barcelona runroom http://www.runroom.com/

Page 26: Agile bioinf

Daily Meeting example

Barcelona runroom http://www.runroom.com/

Page 27: Agile bioinf

Daily meetings must be short!

● The daily meeting must be necessarily not longer than 15 minutes

● Anything that requires more than 15 minutes, should be discussed later

Page 28: Agile bioinf

Never work more than 8 hours!

● The day should be planned for 8 hours of work● If you consistently work more than 8 hours

each day, you are not planning yourself well

Page 29: Agile bioinf

Retrospective Meeting

● At the end of each sprint (2-3 weeks)– What has been accomplished?

– What has gone wrong?

– What can be improved?

Page 30: Agile bioinf

Retrospective table

Image source:www.it-zynergy.com

Page 31: Agile bioinf

Retrospective Meeting

● At the end of each sprint (2-3 weeks)– What has been accomplished?

– What has gone wrong?

– What can be improved?

● Tip: take a few days of “rest” after a sprint

Page 32: Agile bioinf

Scrum - resume

● Split your work into “sprints”, defining objectives that can be completed in 2-3 weeks– One planning meeting at the beginning

– 15 minutes meetings every day

– Feedback meeting at the end

Page 33: Agile bioinf

Scrum - resume

● Split your work into “sprints”, defining objectives that can be completed in 2-3 weeks– One planning meeting at the beginning

– 15 minutes meetings every day

– Feedback meeting at the end

● These are guidelines, not rules

Page 34: Agile bioinf

Example scrum calendar

Image source: http://rocketninesolutions.com

Page 35: Agile bioinf

How to know more?

● Agile Barcelona – http://agile-barcelona.org/

● Barcelona gamestorming grou– http://www.meetup.com/gamestorming-barcelona/

● Look for the “Agile Programming” group in your city

● Kane D, “Introducing Agile Development in Bioinformatics”, 2003