Knowledge - Key to effective software development

956 views

Published on

Software development is all about acquiring knowledge. Most companies however lack an understanding of how knowledge creation happens, and focus only (if at all) on the sharing of explicit knowledge.

In this presentation I describe a model for understanding how knowledge creation happens, and give examples of activities and principles we can follow that helps us improve our efforts in all aspects of knowledge creation.

Published in: Business, Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
956
On SlideShare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
17
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • \n
  • Ground breaking article, started Knowledge Management field. Nonaka, with Takeuchi, wrote The New New Product Development Game in 1986, which led to Scrum.\n
  • How can anybody claim that building software is about writing code?\n
  • How can anybody claim that building software is about writing code?\n
  • How can anybody claim that building software is about writing code?\n
  • How can anybody claim that building software is about writing code?\n
  • How can anybody claim that building software is about writing code?\n
  • How can anybody claim that building software is about writing code?\n
  • How can anybody claim that building software is about writing code?\n
  • How can anybody claim that building software is about writing code?\n
  • How can anybody claim that building software is about writing code?\n
  • How can anybody claim that building software is about writing code?\n
  • How can anybody claim that building software is about writing code?\n
  • How can anybody claim that building software is about writing code?\n
  • How can anybody claim that building software is about writing code?\n
  • How can anybody claim that building software is about writing code?\n
  • How can anybody claim that building software is about writing code?\n
  • How can anybody claim that building software is about writing code?\n
  • How can anybody claim that building software is about writing code?\n
  • How can anybody claim that building software is about writing code?\n
  • How can anybody claim that building software is about writing code?\n
  • How can anybody claim that building software is about writing code?\n
  • How can anybody claim that building software is about writing code?\n
  • How can anybody claim that building software is about writing code?\n
  • How can anybody claim that building software is about writing code?\n
  • How can anybody claim that building software is about writing code?\n
  • How can anybody claim that building software is about writing code?\n
  • How can anybody claim that building software is about writing code?\n
  • How can anybody claim that building software is about writing code?\n
  • How can anybody claim that building software is about writing code?\n
  • How can anybody claim that building software is about writing code?\n
  • How can anybody claim that building software is about writing code?\n
  • How can anybody claim that building software is about writing code?\n
  • How can anybody claim that building software is about writing code?\n
  • How can anybody claim that building software is about writing code?\n
  • How can anybody claim that building software is about writing code?\n
  • How can anybody claim that building software is about writing code?\n
  • How can anybody claim that building software is about writing code?\n
  • How can anybody claim that building software is about writing code?\n
  • How can anybody claim that building software is about writing code?\n
  • Phil Armour. The hard part in building software is not building it (coding), it is knowing what to do and how to do it. Coding is simply the mechanism used to capture knowledge.\n
  • What is the constraint in software development?\n
  • \n
  • \n
  • (Shared) knowledge prevents bugs, removes bottlenecks, improves effectiveness\n
  • \n
  • How can we improve knowledge-acquiring? It happens by itself to an extent, but not enough.\n
  • Knowledge sharing takes time away from grinding at the keyboard. Courses and books cost money. If it becomes a question of budget you have lost.\n
  • Budgets only focus on sharing explicit knowledge. We forget the continuous sharing of tacit knowledge.\n
  • With knowledge creation happening continuously and holistically there is nothing stopping us!\n
  • To understand where we need to improve our efforts we need a model of how knowledge creation happens.\n
  • In The Five Orders of Ignorance Phillip Armour talks about ignorance as the flip-side of knowledge. Acquiring knowledge is the same as reducing ignorance. 0OI is lack of ignorance, 1OI is lack of answer, 2OI is lack of question, 3OI is lack of process, 4OI is meta ignorance. 3OI is where methodologies, processes and models come in.\n
  • In The Five Orders of Ignorance Phillip Armour talks about ignorance as the flip-side of knowledge. Acquiring knowledge is the same as reducing ignorance. 0OI is lack of ignorance, 1OI is lack of answer, 2OI is lack of question, 3OI is lack of process, 4OI is meta ignorance. 3OI is where methodologies, processes and models come in.\n
  • We value databases of information. Make it searchable, findable, attainable. Have policies about codifying knowledge, and sharing it.\n
  • Work with the people, as bearers of knowledge. Focus on personal relations, networks and meeting places for tacit knowledge to manifest.\nBoth perspectives are important, but it is easy to focus only on codifying knowledge with movement of employees etc. This is a fallacy though, lots of knowledge does not lend itself to codifying.\n
  • Masters essay in informatics, Maria Håkansson and Frida Wedefelt, Göteborgs Universitet, 2003\nA: Easy, competence efforts.\nB: Medium, though most people like to share. Work continuously.\nC: Easy, focused efforts.\nD: Very difficult. People must want to learn. Cultural. Work continuously.\nE: Easy if you want it. Give space & time.\n
  • Masters essay in informatics, Maria Håkansson and Frida Wedefelt, Göteborgs Universitet, 2003\nA: Easy, competence efforts.\nB: Medium, though most people like to share. Work continuously.\nC: Easy, focused efforts.\nD: Very difficult. People must want to learn. Cultural. Work continuously.\nE: Easy if you want it. Give space & time.\n
  • Masters essay in informatics, Maria Håkansson and Frida Wedefelt, Göteborgs Universitet, 2003\nA: Easy, competence efforts.\nB: Medium, though most people like to share. Work continuously.\nC: Easy, focused efforts.\nD: Very difficult. People must want to learn. Cultural. Work continuously.\nE: Easy if you want it. Give space & time.\n
  • Masters essay in informatics, Maria Håkansson and Frida Wedefelt, Göteborgs Universitet, 2003\nA: Easy, competence efforts.\nB: Medium, though most people like to share. Work continuously.\nC: Easy, focused efforts.\nD: Very difficult. People must want to learn. Cultural. Work continuously.\nE: Easy if you want it. Give space & time.\n
  • Masters essay in informatics, Maria Håkansson and Frida Wedefelt, Göteborgs Universitet, 2003\nA: Easy, competence efforts.\nB: Medium, though most people like to share. Work continuously.\nC: Easy, focused efforts.\nD: Very difficult. People must want to learn. Cultural. Work continuously.\nE: Easy if you want it. Give space & time.\n
  • Masters essay in informatics, Maria Håkansson and Frida Wedefelt, Göteborgs Universitet, 2003\nA: Easy, competence efforts.\nB: Medium, though most people like to share. Work continuously.\nC: Easy, focused efforts.\nD: Very difficult. People must want to learn. Cultural. Work continuously.\nE: Easy if you want it. Give space & time.\n
  • Masters essay in informatics, Maria Håkansson and Frida Wedefelt, Göteborgs Universitet, 2003\nA: Easy, competence efforts.\nB: Medium, though most people like to share. Work continuously.\nC: Easy, focused efforts.\nD: Very difficult. People must want to learn. Cultural. Work continuously.\nE: Easy if you want it. Give space & time.\n
  • Masters essay in informatics, Maria Håkansson and Frida Wedefelt, Göteborgs Universitet, 2003\nA: Easy, competence efforts.\nB: Medium, though most people like to share. Work continuously.\nC: Easy, focused efforts.\nD: Very difficult. People must want to learn. Cultural. Work continuously.\nE: Easy if you want it. Give space & time.\n
  • Masters essay in informatics, Maria Håkansson and Frida Wedefelt, Göteborgs Universitet, 2003\nA: Easy, competence efforts.\nB: Medium, though most people like to share. Work continuously.\nC: Easy, focused efforts.\nD: Very difficult. People must want to learn. Cultural. Work continuously.\nE: Easy if you want it. Give space & time.\n
  • Masters essay in informatics, Maria Håkansson and Frida Wedefelt, Göteborgs Universitet, 2003\nA: Easy, competence efforts.\nB: Medium, though most people like to share. Work continuously.\nC: Easy, focused efforts.\nD: Very difficult. People must want to learn. Cultural. Work continuously.\nE: Easy if you want it. Give space & time.\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • You cannot control knowledge creation, especially the tacit knowledge. Incentives only hurt. Create an environment where knowledge creation can thrive, and it will.\n
  • The Japanese word ba, meaning “place”, is used when talking about the environment work happens in. It has physical, virtual and cultural aspects. Work on all!\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Knowledge - Key to effective software development

    1. 1. KnowledgeThe key to effective software development Chris Hedgate @chrishedgate chris@hedgate.net http://www.hedgate.net/
    2. 2. In an economy where the only certainty is uncertainty, the onesure source of lasting competitive advantage is knowledge. Ikujiro Nonaka The Knowledge-Creating Company Harvard Business Review, 1991
    3. 3. Write code
    4. 4. “Fake” example Google it Copy-paste Try yourself similar Ask an expert What code? Get time Write code from expert... New technology?
    5. 5. Policies? Avoid performance issues“Fake” example Follow policies Write Google it “correct code” Copy-paste Try yourself similar Which solution? Ask an expert What code? Get time Write code from expert... New technology?
    6. 6. Ask the architect Read docs Policies? Understand design Avoid performance issues“Fake” example Follow policies Find the right place Understand existing code Write Google it “correct code” Where in code base? Copy-paste Try yourself similar Which solution? Ask an expert What code? Get time Write code from expert... New technology?
    7. 7. Ask the architect Read docs Policies? Understand design Avoid performance issues“Fake” example Follow policies Find the right place Understand Am I allowed? existing code Write Do I have Google it “correct code” necessary rights? Where in code base? Modify Copy-paste Try yourself existing code similar Which solution? Ask an expert What code? Get time Write code from expert... New technology?
    8. 8. Ask the architect Read docs Policies? Understand design Avoid performance issues“Fake” example Follow policies Find the right place Understand Am I allowed? existing code Write Do I have Google it “correct code” necessary rights? Where in code base? Modify Copy-paste Try yourself existing code Talk to similar Which solution? customer Which customer? Ask an expert What code? Which problem? Get time Write code Specs? from expert... New Understand specs technology?
    9. 9. Integrate?!?
    10. 10. | Software development is a knowledge-acquiring activity Photo from benchilada’s Flickr stream http://www.flickr.com/photos/benchilada/2467805788/
    11. 11. | Improve effectiveness by removing constraints
    12. 12. Hypothetically One team works for 12 months on a product
    13. 13. Hypothetically One team works for 12 months on a productStart over! Same team, same product and same technology
    14. 14. Hypothetically One team works for 12 months on a productStart over! Same team, same product and same technology How long?
    15. 15. | Learning is the #1 constraint in software development
    16. 16. | Learn early! Photo from Wayan Vota’s Flickr stream http://www.flickr.com/photos/dcmetroblogger/3297731157/
    17. 17. | Challenge - Our knowledge-acquiring efforts lacks a plan
    18. 18. | Knowledge sharing costs time and money
    19. 19. | Mostly focused on sharing explicit knowledge Photo from margolove’s Flickr stream http://www.flickr.com/photos/margolove/1252522330/
    20. 20. | Goal - Continuous and holistic knowledge creation
    21. 21. | A complete model for knowledge creation
    22. 22. Phillip G. Armour The Five Orders of IgnoranceCommunications of the ACM, October 2000
    23. 23. “The way we learn is to discover what we don’t know we don’t know,make it something we (just) don’t know, then make it something we know.” Phillip G. Armour The Five Orders of Ignorance Communications of the ACM, October 2000
    24. 24. “The way we learn is to discover what we don’t know we don’t know,make it something we (just) don’t know, then make it something we know.” “Without a method for discovering what we don’t know we don’t know, it’s a problem we’ll never solve.” Phillip G. Armour The Five Orders of Ignorance Communications of the ACM, October 2000
    25. 25. | Knowledge-as-objects is a codifying perspective
    26. 26. | Knowledge-as-relations is a personalizing perspective
    27. 27. | Effective knowledge transfer
    28. 28. | Effective knowledge transfer A Value of sender’s knowledge base
    29. 29. | Effective knowledge transfer Motivation of sender to share A B Value of sender’s knowledge base
    30. 30. | Effective knowledge transfer Motivation of sender to share A B C Value of sender’s Availability of knowledge base transmission channels
    31. 31. | Effective knowledge transfer Motivation of Motivation of sender to share receiver to receive A B C D Value of sender’s Availability of knowledge base transmission channels
    32. 32. | Effective knowledge transfer Motivation of Motivation of sender to share receiver to receive A B C D E Value of sender’s Availability of Absorbation capacity knowledge base transmission channels at receiver
    33. 33. | Value activities and roles that builds knowledge
    34. 34. V (D) = LIS(D)
    35. 35. The SECI model of knowledge creation
    36. 36. Socialization I I
    37. 37. Socialization Externalization I I I I I G I I I
    38. 38. Socialization Externalization I I I I I G I I I Combination G G O G G
    39. 39. Socialization Externalization I I I I I G I I IInternalization Combination G O G G O G I G
    40. 40. Tacit TacitTacit Socialization Externalization ExplicitTacit Internalization Combination Explicit Explicit Explicit
    41. 41. | Create an environment for knowledge creation
    42. 42. | The ba - a physical, virtual and cultural place
    43. 43. Socialization Conversation Pairing Morning meetings Water cooler Sit together Music
    44. 44. CodificationRetrospectives ExternalizationCode reviewsWhiteboardsInformation radiatorsDocumentationPresentationsBrownbag lunchesCode labs
    45. 45. ReuseScrum-of-scrumsWikisCoding guidelinesPlanning meetingsDemos and reviewsPatterns Combination
    46. 46. Learning Mentorship Pairing Information radiators Study groupsInternalization
    47. 47. What do your ba look like?• What activitities/things do all of you do?• Which is the most innovative example?• What would you like to do?
    48. 48. | Make knowledge creation your main focus
    49. 49. Q: What if I train staff and they leave? A: What if you don’t, and they stay? Twitter (attribution unknown)

    ×