Talking about code

637 views

Published on

Session at DrupalDevDays in Barcelona Spain on June 16th 2012.

Summary:
When you're just one person, or three, knowing how something is done or why is not that hard. You can rely on comments in code, and when necessary ask the person. But as your organization grows it gets harder. Your group, team or company becomes a repository of knowledge, of how a certain website works, of why a module was written a certain way, or how something should be done. But this repository is increasingly hard to search and access.

At NodeOne we've devised several ways to keep knowledge flowing between developers, even as teams grow.

In this session on knowledge management for developers and teams I will talk about:
- The problem of obstacles to sharing knowledge of solutions, implementations or projects.
- How you can organize your projects and schedule to make exchange of knowledge easier.
- Ways to work that helps share knowledge and information between developers.
- Tools you can build in Drupal that will help you store and share, and turn that "tacit" knowledge Joe has, into something searchable and available to Karl who was just hired.

Published in: Business, Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
637
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
3
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Talking about code

  1. 1. /* Talking about code */ Drupal Dev Days, Barcelona June 16th, 2012 Jakob Persson, NodeOne STOCKHOLM | GÖTEBORG | KØBENHAVN | OSLO www.nodeone.se
  2. 2. Introducing me Web Strategist and CKO Co-Founder of NodeOne Worked with Drupal since 2005 jakob@nodeone.se http://www.twitter.com/realsolipsist http://drupal.org/user/37564 STOCKHOLM | GÖTEBORG | KØBENHAVN www.nodeone.se
  3. 3. Introducing am and clients So me of No deOne’s te Scandinavia’s largest Drupal services provider Employs 70 people Offices in Sweden, Denmark and Norway
  4. 4. What we do at NodeOne,apart from...
  5. 5. card games... Hi, I’m Dries!* * No he’s not really Dries, but you knew that already. www.drupalcardgame.com
  6. 6. Druplicons wielding nun-chuks... Druplicon Road Trip – “Showdown in Paris” (YouTube)
  7. 7. Drupal rock stars... “The Kitten Killers” Live at DrupalCon Copenhagen (photo by Dries)
  8. 8. Drupal air fresheners... Drupal air fresheners revealed to the world
  9. 9. Druplicon cookie cutters r ilable at ou longer ava ! (cutters, No booth! A LL GONE not cute babies :) )https://instagr.am/p/Jwg1XUiOIX/
  10. 10. Strategy and Usability Web strategy, usability studies and effect mapping Design and UX User experience, GUI and graphic design Development Modules, themes, distributions and install profilesHosting and scalability Hosting, optimization and monitoring Training Courses, books, screencasts and learning library Consulting Technical consulting and solution architecture
  11. 11. Talking is transfer of knowledge
  12. 12. Knowledge Managementhttp://commons.wikimedia.org/wiki/Image:Human_brain.png http://www.sxc.hu/photo/336511
  13. 13. Knowledge Management
  14. 14. Knowledge FlowManagement
  15. 15. http://www.sxc.hu/photo/468734
  16. 16. Knowledge management (KM) comprises a range of strategies and practices used in an organization to identify, create, represent, distribute, and enable adoption of insights and experiences. Such insights and experiences comprise knowledge, either embodied in individuals or embedded in organizations as processes or practices.http://commons.wikimedia.org/wiki/Image:Human_brain.png http://www.sxc.hu/photo/336511
  17. 17. strategies and practices
  18. 18. strategies and practicesidentify, create, represent,distribute, enable adoption
  19. 19. strategies and practicesidentify, create, represent,distribute, enable adoption insights and experiences
  20. 20. strategies and practicesidentify, create, represent,distribute, enable adoption insights and experiences knowledge
  21. 21. strategies and practicesidentify, create, represent,distribute, enable adoption insights and experiences knowledge embodied or embedded
  22. 22. strategies and practicesidentify, create, represent,distribute, enable adoption ✓ Tools ✓ Processes ✓ Incentivesinsights and experiences ✓ Communities of practice ✓ Exchange programsknowledgeembodied or embedded
  23. 23. identify, create, represent,distribute, enable adoptioninsights and experiences ✓ Analysis ✓ Documentsknowledge ✓ Collaboration ✓ Conversationembodied or embedded ✓ Presentation
  24. 24. insights and experiencesknowledge ✓ How do we gain insight and experiences?embodied or embedded ✓ Learning ✓ Communication ✓ Sharing experiences
  25. 25. knowledgeembodied or embedded ✓ Knowledge versus information ✓ Learning and teaching ✓ Building on the knowledge of others
  26. 26. embodied or embedded ✓ Relying on key individuals ✓ Relying on practices and processes ✓ Shared ownership of knowledge
  27. 27. In-house designer Team 1 Team 2 Project ManagerFreelance Freelance designer developer Manager
  28. 28. In-house designer Team 1 Team 2 Project ManagerFreelance Freelance designer developer Manager
  29. 29. In-house designer Team 1 Team 2 What problems do you see in your company that are Project Manager the result of a lack ofFreelance designer knowledge flow? Freelance Manager developer
  30. 30. In-house designer Team 1 Team 2 What problems do you see in your company that are Project Manager the result of a lack ofFreelance designer knowledge flow? Freelance Manager developer
  31. 31. In-house designer Team 1 Team 2 Project ManagerFreelance Freelance designer developer Manager
  32. 32. Directed Removal of action barriershttp://www.sxc.hu/photo/213894
  33. 33. Direct action through initiativesthat break down into projectsthat break down into tasks
  34. 34. http://www.flickr.com/photos/library_of_congress/2163139101/
  35. 35. “Knowledge is power”
  36. 36. “Knowledge is power” Missing awareness of knowledge
  37. 37. “Knowledge is power” Missing awareness of knowledgeLack of time
  38. 38. “Knowledge is power” Missing awareness of knowledgeLack of time Missing reward systems
  39. 39. “Knowledge is power” Missing awareness of knowledgeLack of time Missing reward systems Missing knowledgemanagement awareness
  40. 40. Lack of time Missing knowledgemanagement awareness Missing awareness of knowledge“Knowledge is power” Missing reward systems
  41. 41. 10 %20 % 70 %
  42. 42. 10 % 20 % 70 % o ut pe op l e !It’s 7 0% a b
  43. 43. Team 1 Team 2
  44. 44. Team 1 Team 2 Community of practice
  45. 45. Community of practice Focuses on a practice or domain Organically created – not mandatedAgenda and projects defined by the community itself Membership is defined by the knowledge of the membersCan exist as long as the members believe they have something to contribute to, or gain from it
  46. 46. Community of practice+ Decreasing the learning curve of new employees+ Responding more rapidly to customer needs and inquiries+ Reducing rework and preventing "reinvention of the wheel"+ Spawning new ideas for products and services+ Capture and share “best practices”
  47. 47. Community of practice+ Decreasing the learning curve of new employees+ Responding more rapidly to customer needs and inquiries+ Reducing rework and preventing "reinvention of the wheel"+ Spawning new ideas for products and services+ Capture and share “best practices”
  48. 48. Team Standup Regular meeting Brief – standing up keeps it shortFocuses on keeping work flowing – by asking what? next? problems/obstacles? Lead by the team’s scrum master
  49. 49. Team Standup+ Keeps entire team up to date on project status+ Promotes closer working relationships with its frequency+ Raises topics needed to be discussed – increasing knowledge transfer
  50. 50. Solution match-making Includes everyone Led and moderated by a facilitatorPeople attending briefly explain problems/bugs and are then paired with those with solutions Short and effective through moderation and time-boxing Happens regularly – usually once per day
  51. 51. Solution match-making+ Helps people stuck with bugs find someone who has solved a similar problem+ Prevents solutions being “re-invented” for lack of knowing someone to ask+ Leads to increased cross-learning as matches made+ Raises topics needed to be discussed – increasing knowledge transfer
  52. 52. laets/. $ mullog laets ot tahw enifeD ]mohw morf[ ]tahw[ laets :snoitpO odorf gnir laets/. $ mullog .nelots gniR Pair programmingRequires little – a wide desk, big screen and sufficient personal hygiene Can be done by developers whenever they see the needOne developer is the tactical “driver” – the other the strategic “observer/navigator” – roles are switched frequently
  53. 53. laets/. $ mullog laets ot tahw enifeD ]mohw morf[ ]tahw[ laets :snoitpO odorf gnir laets/. $ mullog .nelots gniR Pair programming+ Helps new developers learn from more experienced developers+ Improves conformity in coding styles and solutions+ Applied “promiscuously” can be used to spread knowledge through the entire team+ Reduces defects/bugs by 15 - 50%
  54. 54. 10 %20 % 70 %
  55. 55. 0% a b ou tIt’s 2 10 % proce sses! 20 % 70 %
  56. 56. ? ! Training new staffNewly hired are helped to come up to speed fasterCan be made very cheap and resource non-intense Requires a mentor role and a CoP for development Has great effect even at small scale
  57. 57. ? ! Training new staff+ Even a simple checklist of “things to know” makes a difference+ Speeds up learning and new hires can start billing fast – as soon as day two+ Offloads rest of team from having to support the new hire+ Developers with teaching skills get recognition for being “mentors”
  58. 58. 10 %20 % 70 %
  59. 59. 0% a b ou tIt’s 1 te chno logy! 10 % 20 % 70 %
  60. 60. Wiki Can be built on Drupal in short time Good for storing informationContent needs to be kept up-to-date
  61. 61. Wiki+ Good for storing instructions, scripts, snippets and notes+ Repository for things you need to keep track of and which benefit more people than you+ Has low barrier of entry
  62. 62. Site documentsList everything technical that’s needed to know to work on a project Managed and owned by the developersShould be easy to access and stored with the site, for example in its code repository
  63. 63. Site documents+ Accessible and concise – follows a standardized format+ Helps developers taking over maintenance of a website+ Reduces depence on keeping notes in email and risk of having conflicting information
  64. 64. Browser notesShows notes and remarks on drupal.org projects in the browserInstalled in the browser as a user script and uses our wiki as note repositoryEveryone can edit and contribute notes – it’s easy and painless
  65. 65. Browser notes+ Makes information available contextually – no extra step needed to find it+ It’s always there - you don’t have to think about it+ Encourages contribution and updating of notes to keep them up-to date
  66. 66. Browser notesRead more and download: http://bit.ly/KP3ESH
  67. 67. issue tracker g.d.o git projects wikiscamps Drupal conferences maintainersforums bof’s irc
  68. 68. http://www.flickr.com/photos/isapisa/5630300229 events Regular references Stories and http://www.flickr.com/phot os/heyrocker/5337481700
  69. 69. Communicate Transparency the value of contributionshttp://www.sxc.hu/photo/189893
  70. 70. Yay, we reached the top! We’re awesomest!Progress andmilestonesmatter
  71. 71. “ Walk the talk”http://www.sxc.hu/photo/1188091
  72. 72. $ € £The money case for KM
  73. 73. se Softwa en reLic s Patent F ee s Ca pital Intellectual Property
  74. 74. “It’s all about the the brains!” $$$ $$$ $$$ $$$ $$$ Your intellectual capital goes home at 5http://www.flickr.com/photos/isapisa/5630296705
  75. 75. Assets Staff Know- ledge Brand Customers
  76. 76. Tacit Explicit Embedded
  77. 77. http://www.flickr.com/photos/37996595735@N01/40102158/
  78. 78. Economist Intelligence Study Foresight 2020 e competi tiveness rends to determin “ Five key t decade” in t he coming Knowledge management Globalization Demographics Atomization Personalizationwww.eiu.com/site_info.asp?info_name=eiu_Cisco_Foresight_2020&rf=0
  79. 79. Getting started✓ Const ant pain few res ources Can be fi xed with✓ be fixe d easily ✓ Can quickly Will sho w results ✓
  80. 80. Knowledge isstrategically important
  81. 81. Community of Practice
  82. 82. !New routine
  83. 83. ✓ d o t h is✓ t h e n t h at✓ b u t d o n’t f o rg e t t h is e it h e r✓ o r t h is f o r t h a t m a t te r Checklist
  84. 84. Toolhttp://www.flickr.com/photos/21025851@N00/2168414155/
  85. 85. EvaluateImplement Improve
  86. 86. Mastering The New Edge inOrganizational KnowledgeKnowledge Flow Carla O’dell, Cindy Hubert Frank Leistner
  87. 87. Summary✓ Understand the problems you have as a result of a lack of flow of knowledge✓ People, not tech, are key to making knowledge flow✓ Embed knowledge in your culture and processes and don’t rely on a few knowledgeable superstars✓ Knowledge is your most valuable asset✓ Fix the most painful problems first, start simple, evaluate and improve as you learn✓ Being transparent about the value and use of knowledge motivates people to contribute
  88. 88. Thank you for listening! We’re h iring! UX’ers, s developers, product owner and mo re! Talk to me. email jakob@nodeone.se twitter http://www.twitter.com/realsolipsistdrupal.org account http://drupal.org/user/37564

×