_ drupal and the art of scrum _
DESCRIPTION
TRANSCRIPT
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]
who are we?
Project managers?
Client/Site owners?
Developers? Themers?
Product owners?
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
The old and the new
“Older methods focus on staying ontrack; Scrum is aimed at delivering
business value all the time …”
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/
SprintsScrum is based on what is called a Sprint – a Time-boxed cycle toward fixed goals.
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.
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.
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.
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
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!
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
Are you committed to the project
or just involved?
Is your contribute a commitment
or just a mere involvement ?
Pigs are Committed
Chickensare Involved
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.
Done!
• Done means @100%o User stories are the base
– Implement – Verify – Validate
And you scored big time!
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
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...
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
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
A tool for openatrium
https://github.com/a-c-m/pondscrum
Implementing SCRUM in Drupal (and Open Atrium) pondscrum
Further reading:
"Succeeding with Agile"Mike Cohn
our latest project in scrum:
http://beta.ocasiao.pt
Questions!
feel free to contact: [email protected] | skype: ricardoamaro | gtalk: [email protected]
Thank you!
Become a member of our association
http://drupal-pt.org/
feel free to contact: [email protected] | skype: ricardoamaro | gtalk: [email protected]