Granularity of Documentation

Similar documents
Systems Architecting Process

How to Create an Architecture Overview

Medical Imaging in Chronological Order

Execution architecture concepts

Documentation Tools to produce Articles and Presentations

WHAT IS SOFTWARE ARCHITECTURE?

Design Objectives and Design Understandability

Summary: Issues / Open Questions:

How-to: SharePoint Web Forms

A Reference Architecture Primer

What is Software Architecture

INTRODUCING A MULTIVIEW SOFTWARE ARCHITECTURE PROCESS BY EXAMPLE Ahmad K heir 1, Hala Naja 1 and Mourad Oussalah 2

Ch 1: The Architecture Business Cycle

Object-oriented perspective

SOFTWARE ARCHITECTURE & DESIGN INTRODUCTION

The Tool Box of the System Architect

TMEMAS Thesaurus Management System

Execution architecture concepts

Software Development Chapter 1

Enabling Performance & Stress Test throughout the Application Lifecycle

Increasing Interoperability, what is the Impact on Reliability? Illustrated with Health care examples

Interface (API) Design

Why Real Testing Requires Emulation, Not Just Simulation for Layer 4-7

1 Executive Overview The Benefits and Objectives of BPDM

Low Level Design Activities. Implementation (Low Level Design) What is a Good Low Level Module? Black Box Aspects. Black box aspects White box aspects

SEEKING THE ACTUAL REASONS FOR THE "NEW PARADIGM" IN THE AREA OF IS ANALYSIS 2. GENERAL CHARACTERISTICS OF THE "STRUCTURED APPROACH" IN IS DEVELOPMENT

Creating a Lattix Dependency Model The Process

From Legacy to State-of-the-art; Architectural Refactoring

The #1 Key to Removing the Chaos. in Modern Analytical Environments

Unofficial Comment Form Project Real-time Monitoring and Analysis Capabilities IRO and TOP-010-1

Up and Running Software The Development Process

Chapter : Analysis Modeling

Vision. OCR and OCV Application Guide OCR and OCV Application Guide 1/14

Software Design. Levels in Design Process. Design Methodologies. Levels..

Multiprocessor scheduling

SOLUTION BRIEF NETWORK OPERATIONS AND ANALYTICS. How Can I Predict Network Behavior to Provide for an Exceptional Customer Experience?

Designing and documenting the behavior of software

CS 575: Software Design

SQL Tuning Reading Recent Data Fast

Software Architecture

A Practical Approach to Balancing Application Performance and Instrumentation Information Using Symantec i 3 for J2EE

Web UI Dos and Don ts

This module presents the star schema, an alternative to 3NF schemas intended for analytical databases.

How to Evaluate a Next Generation Mobile Platform

Comparative Analysis of Architectural Views Based on UML

Metaprogrammable Toolkit for Model-Integrated Computing

Taming Rave: How to control data collection standards?

File System Interface and Implementation

Modeling and Analysis: System Model

Content Management for the Defense Intelligence Enterprise

IN5050: Programming heterogeneous multi-core processors Thinking Parallel

BUILDING MICROSERVICES ON AZURE. ~ Vaibhav

Dynamic Memory Allocation

New Trends That Can Change Our Role

vsan 6.6 Performance Improvements First Published On: Last Updated On:

EBOOK THE BEGINNER S GUIDE TO DESIGN VERIFICATION AND DESIGN VALIDATION FOR MEDICAL DEVICES

Architectural Code Analysis. Using it in building Microservices NYC Cloud Expo 2017 (June 6-8)

Announcements. Reading Material. Recap. Today 9/17/17. Storage (contd. from Lecture 6)

THE IMPLICATIONS OF PERFORMANCE, SECURITY, AND RESOURCE CONSTRAINTS IN DIGITAL TRANSFORMATION


CHAPTER 9 DESIGN ENGINEERING. Overview

The Analysis and Proposed Modifications to ISO/IEC Software Engineering Software Quality Requirements and Evaluation Quality Requirements

Software Architectures. Lecture 6 (part 1)

AADL Graphical Editor Design

INDEX UNIT 4 PPT SLIDES

TERMINOLOGY MANAGEMENT DURING TRANSLATION PROJECTS: PROFESSIONAL TESTIMONY

WHITE PAPER: ENTERPRISE AVAILABILITY. Introduction to Adaptive Instrumentation with Symantec Indepth for J2EE Application Performance Management

Working with Excel The Advanced Edition

Introduction. Chapter 1. What Is Visual Modeling? The Triangle for Success. The Role of Notation. History of the UML. The Role of Process

SE351a: Software Project & Process Management. 13 Oct., 2005 SE351a, ECE UWO, (c) Hamada Ghenniwa

From Legacy to State-of-the-art; Architectural Refactoring

1: Introduction to Object (1)

The data quality trends report

Heuristic Review of iinview An in-depth analysis! May 2014

It s possible to get your inbox to zero and keep it there, even if you get hundreds of s a day.

Motivations. Shared Memory Consistency Models. Optimizations for Performance. Memory Consistency

System Definition Guide

Integration of information security and network data mining technology in the era of big data

CSc Senior Project Writing Software Documentation Some Guidelines

Virtualization. Q&A with an industry leader. Virtualization is rapidly becoming a fact of life for agency executives,

System Definition Guide

Requirements Validation and Negotiation

Packet Switching - Asynchronous Transfer Mode. Introduction. Areas for Discussion. 3.3 Cell Switching (ATM) ATM - Introduction

Interactive Responsiveness and Concurrent Workflow

EUSurvey Open Source Software Quickstart Guide (v2)

Introduction to IRQA 4

Principles of Object-Oriented Design

Klocwork Architecture Excavation Methodology. Nikolai Mansurov Chief Scientist & Architect

2 TEST: A Tracer for Extracting Speculative Threads

for Credit is between September 5 and October 3 at midnight.

Refactoring and Rearchitecturing

Requirements Validation and Negotiation

Architectural Styles. Reid Holmes

SAP. Modeling Guide for PPF

CSC Operating Systems Fall Lecture - II OS Structures. Tevfik Ko!ar. Louisiana State University. August 27 th, 2009.

AOSA - Betriebssystemkomponenten und der Aspektmoderatoransatz

Announcements. Computer System Organization. Roadmap. Major OS Components. Processes. Tevfik Ko!ar. CSC Operating Systems Fall 2009

Lab 1 MonarchPress Product Description. Robert O Donnell CS411. Janet Brunelle. September 20, Version #2

TECHNOLOGY BRIEF: CA ERWIN DATA PROFILER. Combining Data Profiling and Data Modeling for Better Data Quality

STEP Data Governance: At a Glance

Transcription:

- compound Hasbergsvei 36 P.O. Box 235, NO-3603 Kongsberg Norway gaudisite@gmail.com This paper has been integrated in the book Systems Architecting: A Business Perspective", http://www.gaudisite.nl/sabp.html, published by CRC Press in 2011. Abstract The design of ation is discussed, with emphasis on the requirements, the need for decomposition, the measures needed to maintain and criteria for granularity. Distribution This article or presentation is written as part of the Gaudí project. The Gaudí project philosophy is to improve by obtaining frequent feedback. Frequent feedback is pursued by an open creation process. This is published as intermediate or nearly mature version to get feedback. Further distribution is allowed as long as the remains complete and unchanged. All Gaudí s are available at: http://www.gaudisite.nl/ version: 1.2 status: concept September 9, 2018

1 Introduction Documentation is an important communication means in the Product Creation Process. The whole ation set is written by multiple authors with different competencies. System architects contribute to the of the ation, and write a small subset of the ation themselves. The size of the units within the ation is called the granularity of the ation. The right level of granularity improves the effectiveness of the ation. We discuss criteria to design the ation, the ation granularity, and the ation processes. 2 Stakeholders Project leader is responsible for time, budget, result author writes architect or editor specification describes is responsible for technical interacts with interacts with context others legend relation artifact consumer uses implementation realizes producer stakeholder Figure 1: The stakeholders of a single Figure 1 shows the stakeholders of a. The is a description of some function or component that has to be realized by means of an implementation. The producers and the consumers of the function or component are the main stakeholders of the. The author is also an important stakeholder. The function or component is always realized and used within a broader context. This context interacts with the function or component, so the persons responsible for the context are also stakeholder of the. In the context there will be other stakeholders as well; people who do have some involvement with the function or component. page: 1

2.1 Example digital flat screen TV An electronics designer writes a specification for a Printed Circuit Board (PCB) to be used in a digital flat screen TV. A digital designer and a layout engineer realize the design, hence they are the producers. A software engineer will write the software making use of the functionality of the board, he is one of the consumers. The product (the digital flat screen TV) is the context for this PCB. The designer of the power supply might be a stakeholder, especially if the PCB has specific power requirements. The industrial designer responsible for the packaging is another stakeholder. The final product will have a project leader, responsible for the schedules, costs et cetera and is stakeholder with respect to these issues. The architect at last is responsible for a balanced and consistent product design, where the PCB should fit in. 3 Requirements The ation of a product need to be decomposed in smaller units, with the smallest units being atomic s. We will discuss the requirements for the entire ation, the s itself, and the underlying process. The criteria for the entire ation and process are: Accessibility for the readers ; the information should be understandable and readable for the intended audience. The signal-to-noise ratio in the must be high; information should not be hidden in a sea of words. Low threshold for the readers ; No hurdles such as many pages of meta information, cumbersome security provisions, or complicated tools should dissuade readers from actually reading the Low threshold for the authors ; authors have to be encouraged to write. Hurdles, such as poor tools or cumbersome procedures, provide an excuse to delay writing. Completeness of important information. Note that real completeness is an illusion, there are always more details that can be ed. All crucial aspects have to be covered by the entire ation set. Consistency of the information throughout the ation. The writers strive for consistency, but we have to realize that in the complex world with many stakeholders some inconsistencies can be present. Inconsistencies that have significant impact on the result have to be removed. Maintainability of the entire ation, both during product creation as well as during the rest of the product life cycle. page: 2

Scalability of the ation to later project phases, where many more engineers can be involved. The following measures help for scalability: well defined ation explicit specifications at higher aggregation levels recursive application of and s distribution of the review process Evolvability of the ation over time. Most ation is re-used in successive projects. Process to ensure the quality of the information. The quality of the content of the information is core to good results. Documentation that has been made only to satisfy the procedure is a waste of effort and time. From reader point of view this translates in the requirements for the infra: it must be fast and easy to view and to print s, and searching in the ation also has to be fast and easy. Searching must be possible in a d, e.g. hierarchical, way, and also via free text a la Google. Any part of the ation must be reachable within a limited number of steps, so no excessively deep hierarchies. The criteria for the s within the ation are: High cohesion within the. The information in a has to belong together. If information is not connected to the rest of the, then this information might belong in another. Low coupling with other s. Some coupling will be present, since the parts together will form the system. If the coupling is high, then the decomposition is suspect and might need improvement. Accessibility for the readers, as for the entire ation. Low threshold for the reader, as for the entire ation. Low threshold for the author, as for the entire ation. Manageable steps to create, review, and change the. Documents in product creation are reviewed and updated frequently. Hence these operations should take limited effort and time. The consequence is that single s should not be large. Clear responsibilities, especially for the content of the. Documents with multiple authors are suspect, responsibility for the content can be diffuse. page: 3

Worse are s where an anonymous team or committee is the author. If a needs multiple authors, then it is often a symptom of bad decomposition. Also the reviewers responsibility must be clear, hence we recommend to limit the number of reviewers. When many reviewers are needed, then the decomposition is again suspect. Clear position and relation with the context s only make sense in the intended context. On purpose the information is captured in multiple s. Therefor for every individual it should be clear in what context it belongs and how it relates to other s. Well-defined status of the information. Documents are used and most valuable in the period when they are created. The content can be quite preliminary or draft. The must clearly indicate what the status is of its content, so that readers can use it with proper precautions. Timely availability of the. When s are too late available we do not harvest the value. Authors have to balance quality, completeness,and consistency against the required effort and time. A very important function of ation is communication. Communication requires that the information is accessible for all stakeholders, and that the threshold to produce ation or to use ation should be low 1. 4 Documentation Structure The standard way to cope with large amounts of information is to decompose the information in smaller parts. The decomposition of the large amount of information results in a set of smaller s. The of such a decomposition is made explicit in the ation, fulfilling the requirement to have a well defined ation. The ation is managed as a normal. An is required to keep the accessible, addressing the requirement to have specifications at higher aggregation levels. Overviews help the readers, especially when the more detailed information gets scattered in smaller s. This decomposition is applied recursively, see Figure 3. In this way the granularity supports the realization of the requirements as described in the 3. For instance, the principle of recursion is a good answer to the requirements related to scalability 1 Quite often organizations focus on the ation procedures, and ation management, forgetting the main drivers mentioned in this subsection. The result can be tremendous thresholds, causing either apathy or bypasses. It cannot be stressed enough that procedures and tools are the means to solve a problem and not a goal in itself page: 4

compound Figure 2: Large s are decomposed in smaller s, supported by a and of the entire ation. Creating explicit and s and allocating creation and maintenance to authors supports maintainability. A fine grain, e.g. small s, lower the threshold to make s and to read the contents, in this way answering requirements accessibility for the reader, low threshold for the reader and low threshold for the author. The clarity and the value of the content is the foremost requirement for ation. Decomposing the ation is a balancing act in many dimensions, similar to the decomposition of systems. Clarity and value of the content may not suffer from the. Dogmatic structuring rules might be conflicting with clear responsibilities (single author). When authors write outside their expertise area, then there is a severe quality risk. The decomposition has to result in sufficiently small s to support the requirement Manageable steps to create, review, and change, Large, monolithic s violate this requirement. The granularity is an important design criterion for the ation. The extreme that every single value is an entity 2 is not optimal, because the relations between values are even more important than the value itself. In case of single value ation, relations are lost. The other extreme, to put everything in a single, is conflicting with many of the requirements, such as manageability, clear responsibilities, well-defined status and timely availability. The granularity aspect, with the many psychological factors involved, is further discussed in 5. 2 A common pitfall is to store all values in a database. In this way every value is an entity in itself. Such a database creates the suggestion of completeness and flexibility, but in reality it becomes a big heap, where the designers lose the. These databases may help the verification process, but do not fulfill the ation needs. page: 5

atomic compound compound atomic atomic compound compound compound compound Figure 3: Decomposition is applied recursively until the atomic s fulfill the requirements in section 3 5 Payload, the ratio between overhead and content An atomic must be small enough to be accessible to readers. Thick s are put on top of the stack of interesting papers to be read, to be removed when this stack overflows. For most people time is the most scarce resource. Struggling through all kinds of overhead is a waste of their scarce and valuable time. Documentation effectively supports communication if the reader can start directly with reading the relevant information. Figure 4 shows the layout of a good. The front page is used for all relevant meta-information. Meta-information is the information required for the management, defining the status, responsibilities, context etc. The history and change information on the second page should be a service to the readers, to enable them to quickly see the relevant changes relative to earlier versions they might have read. More extensive change information, required for quality assurance purposes can be present in the management system, it should not distract the reader from the information itself. Such a needs only to be opened to access the contents. Many older page: 6

front page title identification author distribution status review history changes diagrams tables 1. aap 2. noot 3. mies lists and ca 50% text meta information max 2 pages contents 2..18 pages Figure 4: Layout of a good, heuristic for the number of pages of a good is 4 nrofpages 20 organizations tend to make s with up to 10 pages of overhead information. Many people are interrupted by phone, calendar, e-mail, or person before reaching page three. The overhead de facto inhibits people to read the contents of badly written s 3. The contents of a well written ought to be optimized to get the essential information transferred. The reader community exists of different people, with differing reading and learning styles. To get information across the information must be visualized (diagrams), d and summarized (tables and lists) and, to a limited extend, explained in text. Once a start its life cycle, the next risk is that the keeps growing Authors have the tendency to transform comments and critiques of readers in explaining text. Unfortunately, large sections of text hide the key information, and violation of the maximum of 20 pages gets probable. It is better to translate the comments and critiques back into an improved diagram, table or list. Authors have to find the root cause of reader comments. For example an unclear diagram gives rise to misunderstanding. Another frequent occurring trap is the extension of a with missing context information. For instance, if the higher level specification is missing, parts of that specification are included in the lower level specification. An effective counter measure for this trap is to write the specification, showing the context and enabling to write the context later step by step. This strategy results in s that are more focused, have a better cohesion internally, and have less coupling with other s. The heuristic mentioned in Figure 4 is that a good should have 4 or more pages. This minimum should trigger people with the question if the information in a very small has a right of existence on its own. The ratio overhead versus payload for very small s is unbalanced. There are a small s were the small size is appropriate. 3 Often the situation is much worse than described here. In name of standardization these counterproductive layouts are made mandatory, forcing everyone to create thresholds for readers! page: 7

The maximum number of pages for a good is 20. These s don t scare people away yet. A 20 page can be read in less than one hour, and the review can also be done in less than one hour. For many purposes 10 to 15 page s are optimal. If s require more than 20 pages the recipe is simple: make it a compound, so split the content in multiple smaller s. In large s a natural split up is often directly visible. Large s often violate a number of the requirements in 3. For instance, the is edited by a single person but written by multiple authors. Another symptom of requirement violation is a that is partly finished and partly in draft status (for instance requirements sections are written, while the design is still in full motion). 6 Acknowledgements Angelo Hulshout triggered me to fill the the open ends in the requirements section. References [1]. The system architecture homepage. http://www. gaudisite.nl/index.html, 1999. History Version: 1.2, date: August 4, 2010 changed by: textual adaptations changed some figures with lists in the article into description lists changed status to concept Version: 1.1, date: June 8, 2010 changed by: replaced lists by figures Version: 1.0, date: May 18, 2004 changed by: Updated layout Updated figures Added missing text and some more detailed requirements lists Added acknowledgements Version: 0.4, date: August 7, 2002 changed by: Abstract added Version: 0.2, date: October 22, 1999 changed by: Initial Version, no changelog maintained yet. page: 8