25
Drupal and the Art of Scrum From small 2 big by Ricardo Amaro - Internet Director @ocasiao.pt head member of the Associação Drupal Portugal gtalk: [email protected]

_ Drupal and the Art of Scrum _

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: _ Drupal and the Art of Scrum _

Drupal and the Art of Scrum

From small 2 big

by Ricardo Amaro - Internet Director @ocasiao.pthead member of the Associação Drupal Portugal

gtalk: [email protected]

Page 2: _ Drupal and the Art of Scrum _

who are we?

Project managers?

                                                       Client/Site owners?

                        Developers?                                                        Themers?

        Product owners?

Page 3: _ Drupal and the Art of Scrum _

today we will cover:

• Changing from an old to a new model

• The Agile Manifesto• Scrum - Agile 

o sprints, roles and Drupal• Teams

o How to choose a team?o Self-Organizing teamso Team taskso Committed x Involved

• Done!o Drupal fun.o Users Storieso Tools

Page 4: _ Drupal and the Art of Scrum _

The old and the new

“Older methods focus on staying ontrack; Scrum is aimed at delivering

business value all the time …”

Page 5: _ Drupal and the Art of Scrum _

Manifesto for Agile Software Development

Individuals and interactions  over processes and tools

Working software   over comprehensive documentation

Customer collaboration   over contract negotiation

Responding to change   over following a plan

http://agilemanifesto.org/

Page 6: _ Drupal and the Art of Scrum _

SprintsScrum is based on what is called a Sprint – a Time-boxed cycle toward fixed goals.

Page 7: _ Drupal and the Art of Scrum _

Scrum Core Roles

The core roles are those committed to producing the product:

Product Owner - The Product Owner represents the voice of the customer and is accountable for ensuring that the Team delivers value to the business. The Product Owner writes customer-centric items (typically user stories), prioritizes them, and adds them to the product backlog. 

Team - The Team is responsible for delivering the product. They do the actual work (analyse, design, develop, test, technical communication, document, etc.). A Team should be self-organizing and self-led, but often work with some form of project or team management.

ScrumMaster - Scrum's facilitator. It's major task is removing impediments, enforce  rules and  protect the team while keeping them focused on the tasks at hand. 

Page 8: _ Drupal and the Art of Scrum _

Scrum on Drupal 1

A Product Owner compiles all the changes planned for the product and prioritizes the possible functionalities of user stories.

The result of the Product Owner’s work is a Product Backlog – a to-do list  that is constantly reprioritized. Before each Sprint, the highest prioritized goals are transferred to a Sprint Backlog.

Page 9: _ Drupal and the Art of Scrum _

Scrum on Drupal 2

The project members assemble a Scrum Team consisting of 5–9 people. During discussions with the Product Owner, the goal of the Sprint is determined and the prioritized functionality is broken down into detailed tasks. The team is self-organized and the members have a joint responsibility for the results.

Page 10: _ Drupal and the Art of Scrum _

How to choose the Team?

How many people can share 2 large pizzas? Our guess: 5-9 people can!

Small Team Productivity There is less loafing ("someone will do it") Constructive reactions are more likely Less time is spent coordinating effort. No one is left unseen. It's more satisfying to their members. No "over-specialization" will occur.

If you project needs a larger team? Devide in smaller teams

Page 11: _ Drupal and the Art of Scrum _

Self-Organizing

Self-Organizing Doesn’t Mean Randomly Assembled Get the Right People on the Team Meet in daily small meetings

– What have you accomplished since the last meeting?– Are there any obstacles in the way of meeting your

goal?– What will you accomplish before the next meeting?

Let the scrum begin!

Page 12: _ Drupal and the Art of Scrum _

Team tasks

Put People on only One Project Time on task decreases with too many tasks

1 to 2 tasks maximum a time Get them to COMMIT to finish the tasks

Page 13: _ Drupal and the Art of Scrum _

Are you committed to the project

or just involved?

Page 14: _ Drupal and the Art of Scrum _

Is your contribute a commitment

or just a mere involvement ?

Pigs are Committed

Chickensare Involved

Page 15: _ Drupal and the Art of Scrum _

Scrum on Drupal 3

The Scrum Master coaches the development team, removes any possible impediments and constantly works to ensure that the team has the best possible circumstances for achieving the goals fixed for the Sprint.

Each Sprint enhances the product’s market value and adds new functions and improvements that can be delivered to the customer.

Page 16: _ Drupal and the Art of Scrum _

Done!

• Done means @100%o User stories are the base

– Implement – Verify – Validate

And you scored big time!

Page 17: _ Drupal and the Art of Scrum _

Get to work with Drupal fun!

Drupal building bricks fit into Scrum Tasks.

Major areas of development:

Frontend:     - Views, Panels, Forms,Theming...Backend and Integrations:    - CCK, Drush, Node Api, Feeds...Performance:    - DB optimizations    - Webserver optimizations    - Solr Search    - Memcache

Page 18: _ Drupal and the Art of Scrum _

Create "User Stories"

Example:"As a user I would like to be able to mark a content has spam so that a site administrator can delete and I see fewer spam content."

This can be translated into a drupal feature or even into an existing drupal module.

This is the actual task that should be given a business value and writen on the task list.Can be a spreadsheet, an online tool or even post-its on a wall...

Page 19: _ Drupal and the Art of Scrum _

Work together with a Version Control System

Drupal main development changed recently to:• GIT - http://git-scm.com/

But you also can use other free tools:• SVN -  http://subversion.tigris.org• BZR -  http://wiki.bazaar.canonical.com/Bzr• Mercurial - http://mercurial.selenic.com/• CVS -  http://www.nongnu.org/cvs/

Organize your code at http://launchpad.net/ or http://github.com

Example: https://launchpad.net/pressflow

Page 20: _ Drupal and the Art of Scrum _

Work together with a Version Control System

Drupal main development changed recently to:• GIT - http://git-scm.com/

But you also can use other free tools:• SVN -  http://subversion.tigris.org• BZR -  http://wiki.bazaar.canonical.com/Bzr• Mercurial - http://mercurial.selenic.com/• CVS -  http://www.nongnu.org/cvs/

Organize your code at http://launchpad.net/ or http://github.com

Example: https://launchpad.net/pressflow

Page 21: _ Drupal and the Art of Scrum _

A tool for openatrium

https://github.com/a-c-m/pondscrum

Implementing SCRUM in Drupal (and Open Atrium) pondscrum

Page 22: _ Drupal and the Art of Scrum _

Further reading:

"Succeeding with Agile"Mike Cohn

Page 23: _ Drupal and the Art of Scrum _

our latest project in scrum:

http://beta.ocasiao.pt

Page 24: _ Drupal and the Art of Scrum _

Questions!

feel free to contact: [email protected] | skype: ricardoamaro | gtalk: [email protected] 

Page 25: _ Drupal and the Art of Scrum _

Thank you!

Become a member of our association

http://drupal-pt.org/

feel free to contact: [email protected] | skype: ricardoamaro | gtalk: [email protected]