Chapter 10. Knowledge Management Principles
When creating software architecture, you adhere to principles both explicitly and implicitly. Your company may have explicit principles that you need to comply with, such as security and architecture principles or coding patterns and principles, or you may be following a well-architected framework such as those from Azure, Amazon Web Services (AWS), or Google Cloud Platform (GCP).1 Other principles are implicit and may not be adhered to uniformly or even well-known. These tend to be individuals’ lessons learned.
This chapter discusses principles for improving your knowledge management and documentation, which I hope you will make explicit in your work.
Products over Projects
You have probably noticed that many companies organize their people and work around projects. Budgets are allocated to projects, and knowledge management is based on projects as well. But projects are transitory—a lot more transitory than products, which often have contributions from more than one project.
What happens to all the knowledge associated with your project when it ends? If documentation is organized by project, that knowledge is likely difficult to find and easily forgotten or even lost. But if your documentation is organized by product, you should be able to find the knowledge easily and reference or reuse it in other projects. This is a major difference between a project mindset and a product mindset.
Project Mindset
During the initial development ...
Get Communication Patterns now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.