_ Drupal and the Art of Scrum _


Published on

Published in: Technology
1 Comment
No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

_ Drupal and the Art of Scrum _

  1. 1. 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: ricardoamaropt@gmail.com
  2. 2. who are we? <ul><li>Project managers? </li></ul><ul><li>                                                        Client/Site owners? </li></ul><ul><li>                         Developers? </li></ul><ul><li>         </li></ul><ul><li>                                                 Themers? </li></ul><ul><li>         Product owners? </li></ul>
  3. 3. today we will cover: <ul><ul><li>Changing from an old to a new model </li></ul></ul><ul><ul><li>The Agile Manifesto </li></ul></ul><ul><ul><li>Scrum - Agile  </li></ul></ul><ul><ul><ul><li>sprints, roles and Drupal </li></ul></ul></ul><ul><ul><li>Teams </li></ul></ul><ul><ul><ul><li>How to choose a team? </li></ul></ul></ul><ul><ul><ul><li>Self-Organizing teams </li></ul></ul></ul><ul><ul><ul><li>Team tasks </li></ul></ul></ul><ul><ul><ul><li>Committed x Involved </li></ul></ul></ul><ul><ul><li>Done! </li></ul></ul><ul><ul><ul><li>Drupal fun. </li></ul></ul></ul><ul><ul><ul><li>Users Stories </li></ul></ul></ul><ul><ul><ul><li>Tools </li></ul></ul></ul>
  4. 4. The old and the new <ul><li>“ Older methods focus on staying on </li></ul><ul><li>track; Scrum is aimed at delivering </li></ul><ul><li>business value all the time …” </li></ul>
  5. 5. Manifesto for Agile Software Development <ul><li>Individuals and interactions    over processes and tools </li></ul><ul><li>Working software    over comprehensive documentation </li></ul><ul><li>Customer collaboration     over contract negotiation </li></ul><ul><li>Responding to change     over following a plan </li></ul><ul><li>http://agilemanifesto.org/ </li></ul>
  6. 6. Sprints <ul><li>Scrum is based on what is called a Sprint – a Time-boxed cycle toward fixed goals. </li></ul>
  7. 7. Scrum Core Roles <ul><li>The core roles are those committed to producing the product: </li></ul><ul><li>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.  </li></ul><ul><li>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. </li></ul><ul><li>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.  </li></ul>
  8. 8. Scrum on Drupal 1 <ul><li>A Product Owner compiles all the changes planned for the product and prioritizes the possible functionalities of user stories . </li></ul><ul><li>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 . </li></ul>
  9. 9. Scrum on Drupal 2 <ul><li>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. </li></ul>
  10. 10. How to choose the Team? <ul><ul><li>How many people can share 2 large pizzas? </li></ul></ul><ul><ul><ul><ul><li>Our guess: 5-9 people can! </li></ul></ul></ul></ul><ul><ul><li>Small Team Productivity </li></ul></ul><ul><ul><ul><ul><li>There is less loafing ( &quot;someone will do it&quot; ) </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Constructive reactions are more likely </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Less time is spent coordinating effort. </li></ul></ul></ul></ul><ul><ul><ul><ul><li>No one is left unseen. </li></ul></ul></ul></ul><ul><ul><ul><ul><li>It's more satisfying to their members. </li></ul></ul></ul></ul><ul><ul><ul><ul><li>No &quot;over-specialization&quot; will occur. </li></ul></ul></ul></ul><ul><ul><li>If you project needs a larger team? </li></ul></ul><ul><ul><ul><ul><ul><li>Devide in smaller teams </li></ul></ul></ul></ul></ul>
  11. 11. Self-Organizing <ul><ul><li>Self-Organizing Doesn’t Mean Randomly Assembled </li></ul></ul><ul><ul><ul><li>Get the Right People on the Team </li></ul></ul></ul><ul><ul><ul><li>Meet in daily small meetings </li></ul></ul></ul><ul><ul><ul><ul><li>What have you accomplished since the last meeting? </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Are there any obstacles in the way of meeting your goal? </li></ul></ul></ul></ul><ul><ul><ul><ul><li>What will you accomplish before the next meeting? </li></ul></ul></ul></ul><ul><ul><ul><li>Let the scrum begin! </li></ul></ul></ul>
  12. 12. Team tasks <ul><ul><li>Put People on only  One Project </li></ul></ul><ul><ul><ul><li>Time on task decreases with too many tasks </li></ul></ul></ul><ul><ul><ul><ul><li>1 to 2 tasks maximum a time </li></ul></ul></ul></ul><ul><ul><ul><li>Get them to COMMIT to finish the tasks </li></ul></ul></ul>
  13. 13. Are you  committed  to the project or just  involved ?
  14. 14. Is your contribute a  commitment or just a mere  involvement  ? Pigs are Committed Chickens are Involved
  15. 15. Scrum on Drupal 3 <ul><li>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. </li></ul><ul><li>Each Sprint enhances the product’s market value and adds  new functions and improvements that can be delivered to the customer. </li></ul>
  16. 16. Done! <ul><ul><li>Done means @100% </li></ul></ul><ul><ul><ul><li>User stories are the base </li></ul></ul></ul><ul><ul><ul><ul><li>Implement  </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Verify  </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Validate </li></ul></ul></ul></ul><ul><li>And you scored big time! </li></ul>
  17. 17. Get to work with Drupal fun! <ul><li>Drupal building bricks fit into Scrum Tasks. </li></ul><ul><li>Major areas of development: </li></ul><ul><li>Frontend:  </li></ul><ul><li>     - Views, Panels, Forms,Theming... </li></ul><ul><li>Backend and Integrations: </li></ul><ul><li>     - CCK, Drush, Node Api, Feeds... </li></ul><ul><li>Performance: </li></ul><ul><li>     - DB optimizations </li></ul><ul><li>     - Webserver optimizations </li></ul><ul><li>     - Solr Search </li></ul><ul><li>     - Memcache </li></ul>
  18. 18. Create &quot;User Stories&quot; <ul><li>Example: </li></ul><ul><li>&quot;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 .&quot; </li></ul><ul><li>This can be translated into a drupal feature or even into an existing drupal module. </li></ul><ul><li>This is the actual task that should be given a  business value and writen on the task list. </li></ul><ul><li>Can be a spreadsheet, an online tool or even post-its  </li></ul><ul><li>on a wall... </li></ul>
  19. 19. Work together  with a Version Control System <ul><li>Drupal main development changed recently to: </li></ul><ul><ul><li>GIT - http://git-scm.com/ </li></ul></ul><ul><li>But you also can use other free tools: </li></ul><ul><ul><li>SVN -  http://subversion.tigris.org </li></ul></ul><ul><ul><li>BZR -  http://wiki.bazaar.canonical.com/Bzr </li></ul></ul><ul><ul><li>Mercurial - http://mercurial.selenic.com/ </li></ul></ul><ul><ul><li>CVS -  http://www.nongnu.org/cvs/ </li></ul></ul><ul><li>Organize your code at http://launchpad.net/  </li></ul><ul><li>or http://github.com </li></ul><ul><li>Example: https://launchpad.net/pressflow </li></ul>
  20. 20. Work together  with a Version Control System <ul><li>Drupal main development changed recently to: </li></ul><ul><ul><li>GIT - http://git-scm.com/ </li></ul></ul><ul><li>But you also can use other free tools: </li></ul><ul><ul><li>SVN -  http://subversion.tigris.org </li></ul></ul><ul><ul><li>BZR -  http://wiki.bazaar.canonical.com/Bzr </li></ul></ul><ul><ul><li>Mercurial - http://mercurial.selenic.com/ </li></ul></ul><ul><ul><li>CVS -  http://www.nongnu.org/cvs/ </li></ul></ul><ul><li>Organize your code at http://launchpad.net/  </li></ul><ul><li>or http://github.com </li></ul><ul><li>Example: https://launchpad.net/pressflow </li></ul>
  21. 21. A tool for openatrium <ul><li>https://github.com/a-c-m/pondscrum </li></ul><ul><li>Implementing SCRUM in Drupal (and Open Atrium)  </li></ul><ul><li>pondscrum </li></ul>
  22. 22. Further reading: &quot;Succeeding  with Agile&quot; Mike Cohn
  23. 23. our latest project in scrum: http://beta.ocasiao.pt
  24. 24. Questions! <ul><li>feel free to contact: ricardoamaro@drupal-pt.org |  </li></ul><ul><li>skype: ricardoamaro | gtalk: ricardoamaropt@gmail.com  </li></ul>
  25. 25. Thank you! Become a member of our association http://drupal-pt.org/ <ul><li>feel free to contact: ricardoamaro@drupal-pt.org |  </li></ul><ul><li>skype: ricardoamaro | gtalk: ricardoamaropt@gmail.com  </li></ul>