Collaboration Beyond Code


Published on

A talk David Weekly gave in Oakland, CA on February 4, 2009 at the ebig Collaboration SIG meeting on how to use collaborative tools like wikis to achieve higher productivity in a software development organization.

Published in: Business
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Collaboration Beyond Code

  1. Collaboration Beyond Code David Weekly, PBwiki eBig Best Practices SIG February 4, 2009
  2. Thesis: Your People Are Smart
  3. Thesis: Your People Are Smart The more they know, the better decisions get made. So stop playing “telephone.”
  4. What do coders spend time on? <ul><li>Coding is the primary activity… </li></ul><ul><li>But coding itself is not that hard. </li></ul><ul><li>Most work is in figuring out what to build. </li></ul><ul><ul><li>(and coding is just being more explicit.) </li></ul></ul>
  5. How do coders excel? <ul><li>Having & mastering the right tools </li></ul><ul><li>Understanding the problem. </li></ul><ul><ul><li>Give them more customer access/data! </li></ul></ul>
  6. How are software projects built? <ul><li>Gather customer inputs. </li></ul><ul><li>Agree on what to do. </li></ul><ul><li>Specify what to build. </li></ul><ul><li>Make sure it gets built. </li></ul><ul><li>Coordinate the launch. </li></ul><ul><li>Document the result. </li></ul>
  7. PBwiki uses a wiki for all of these. (not surprising)
  8. …there are bad uses for a wiki. <ul><li>Code snippets </li></ul><ul><ul><li>Why not just make a library / repository? </li></ul></ul><ul><li>Notated walkthroughs of specific functions </li></ul><ul><ul><li>These will get stale. Nobody will update them. </li></ul></ul>
  9. 1. Gather Customer Inputs <ul><li>Have lots of conversations with customers. </li></ul><ul><li>Put the raw notes online. </li></ul><ul><ul><li>(with summaries) </li></ul></ul><ul><li>Send them out over email, present the results to the whole team in person. </li></ul><ul><li>Agile = connect coders w/users! </li></ul>
  10. 2. Drive Internal Consensus <ul><li>Building on #1, come up with ideas for solutions. </li></ul><ul><li>Anyone can contribute. </li></ul><ul><li>Anyone can comment. </li></ul><ul><li>Lets thinking happen outside meetings. </li></ul><ul><ul><li>Like in the shower. </li></ul></ul><ul><ul><ul><li>Which is a much better place to think. </li></ul></ul></ul>
  11. 3. Specify What To Build <ul><li>Progressive advancement of wikipages. </li></ul><ul><li>Start with executive requirements. </li></ul><ul><li>Product Manager fills out. </li></ul><ul><li>Project Manager assigns. </li></ul><ul><li>Engineers spec the project. </li></ul><ul><li>The page evolves. </li></ul>
  12. 4. Manage The Building Process <ul><li>Use lightweight project management. </li></ul><ul><li>Let contributors directly update progress. </li></ul><ul><li>Have quick in-person checkpoint meetings. </li></ul><ul><li>Full transparency! </li></ul><ul><li>The page evolves. </li></ul>
  13. 5. Coordinate the Launch <ul><li>The code’s in SVN. What now?! </li></ul><ul><li>Marketing, support, sales, QA… </li></ul><ul><li>Peer review & development of materials </li></ul><ul><ul><li>Let developers see how it’s being pitched & contribute (& correct) </li></ul></ul><ul><ul><li>“ Sorry, what are you saying we have?” </li></ul></ul><ul><li>Fewer surprises in timing due to visibility. </li></ul>
  14. 6. Document the Work <ul><li>Spec page evolves into: </li></ul><ul><ul><li>Public documentation / FAQs </li></ul></ul><ul><ul><li>Internal/helpdesk knowledgebase </li></ul></ul><ul><li>Procedure manuals </li></ul><ul><li>The page evolves. </li></ul>
  15. Why Wikis? <ul><li>What you need, when you need it. </li></ul><ul><ul><li>(apologies to the domain squatters.) </li></ul></ul><ul><li>A tool that evolves with your project! </li></ul><ul><li>Something that everyone in the company can contribute to and use </li></ul><ul><ul><li>Versus TXT files in your SVN repository. </li></ul></ul><ul><ul><li>Versus an MS Project file output as PDF. </li></ul></ul>
  16. BONUS WIKI USES!!1!11! <ul><li>Automatic enumeration of upcoming deployment changes. </li></ul><ul><li>Repository for ideas / brainstorms </li></ul><ul><ul><li>“Didn’t we discuss doing this last year?” </li></ul></ul><ul><li>Team contact info page </li></ul>
  17. Sharing is Caring! <ul><li>Trust your staff! </li></ul><ul><li>[email_address] </li></ul><ul><li>David Weekly </li></ul><ul><li>Founder, PBwiki </li></ul>