In any software development project that involves distributed systems with multiple developers, having Logical and Physical Architecture diagrams is best practice but in my experience these diagrams always start off being well maintained at the start of a project but do not get updated as the project get released and the maintenance phases kick in.
For complex projects with a lot of distributed processes, the diagrams tend to get outdated or inaccurate really quickly even before the initial release since no one person has all the knowledge.
Given this background, I want to ask the following questions to the community:
- How important are having accurate and up to date Logical and Physical Architecture diagrams?
- Are there any tools and processes that can help keep them up to date?
- Who should be responsible for keeping them up to date? How can sys admins, developers, and QA teams contribute?