Architecture Documentation for Developers: A Survey
|
|
|
- Ralf Justin Harris
- 10 years ago
- Views:
Transcription
1 FRAUNHOFER INSTITUTe FoR experimental Software engineering Iese Architecture Documentation for Developers: A Survey Dominik Rost Matthias Naab Crescencio Lima Christina von Flach Chavez
2
3 Fraunhofer IESE is an institute of the Fraunhofer-Gesellschaft. The institute transfers innovative software development techniques, methods and tools into industrial practice, assists companies in building software competencies customized to their needs, and helps them to establish a competitive market position. Fraunhofer IESE is directed by Prof. Dr. Dieter Rombach (Executive Director) Prof. Dr.-Ing. Peter Liggesmeyer (Scientific Director) Fraunhofer-Platz Kaiserslautern Germany
4
5 Executive Summary Software architecture has become an established discipline in industry and documentation is the key for its efficient and effective usage. However, many companies do not have any architecture documentation in place or, if they do, the available documentation is not perceived as adequate by developers to support them in their tasks. To complement our experiences from projects with industry customers and as a foundation for the improvement of methods and tools in architecture documentation, we conducted a survey among 147 industrial participants, investigating their current problems and wishes for the future. Participants from different countries in Europe, Asia, North and South America shared their experiences. This report presents the results of the survey. We identified five main findings. The results confirm the common belief that architecture documentation is most frequently outdated, updated only with strong delays, and inconsistent in detail and form and backed it up with data. Further, developers perceive difficulties with a one-size-fits-all architecture documentation, which does not adequately provide information for their specific tasks and contexts. Developers seek more interactive ways of working with architecture documentation that allow them to find needed information more easily with extended navigation and search possibilities. And finally, what developers perceive as relevant in terms of architecture information gives, in our opinion, a very complete and mature picture of what software architecture and its documentation should consist of. Based on these results, we discuss directions for further research and the development of advanced methods and tools for architecture documentation in this report. Centralization with powerful tooling and automated generation mechanisms are possible means for addressing the problems of outdated and unspecific architecture documentation. Additionally, a clear, easy-to-follow connection between architecture an code is a major concern of developers for which new techniques have to be created. To achieve increased uniformity, organizations should invest in internal standardization in terms of form, details, and terminology, as well as in establishing a single source of architecture documentation to avoid inefficiency due to scattered information. We understand that static architecture documents must be replaced by new and interactive ways to convey the information that allow easy searching and navigation. And finally, to increase readability and understandability, we see an additional need for standardization and clarity through reduction of information. Keywords: Software architecture, documentation, developers, industry, survey v
6
7 Table of Contents 1 Introduction The Practical Problem This Study Intended Audience Report Outline 3 2 Architecture Documentation in Research and Practice 4 3 Research Methodology Planning the Survey Designing and Conducting the Survey Analyzing the Data 9 4 Results Overview of Survey Participants and their Context Main Findings Architectural Information: The as-is Situation Representation of Architectural Information: The as-is Situation Architectural Information: The to-be Situation Representation of Architectural Information: The to-be Situation 19 5 Discussion Survey Results Conclusions 23 6 Acknowledgments Collaboration between IESE and UFBA Participating Companies 25 7 Appendix Related Studies Validity 27 vii
8
9 Introduction 1 Introduction 1.1 The Practical Problem Software architecture is accepted as an integral part of software engineering and as an enabler for efficient and effective software development. Increasing system size and complexity, as well as the employment of multiple, globally distributed development teams pose new challenges and increase the importance of documenting software architecture. Nevertheless, in many projects with industry, we experienced industrial organizations that face these challenges but still do not have any architecture documentation in place. One major reason for this is that the creation of architecture documentation is cost-intensive. As a consequence, their software development suffers from growing communication and alignment effort, which makes implementation increasingly inefficient, inconsistent, and incompliant with the architecture. During system evolution, this leads to architecture erosion [20], which can prevent the achievement of essential system qualities and leads to decreasing maintainability. This holds true even for the initial development of the system [14]. However, we also observe organizations that do have architecture documentation but are not able to leverage the potential it offers. The reasons for this are diverse. For instance, the information provided in architecture documentation is often too unspecific for a concrete usage or task. Software architects create models and documents when they design the system and provide these as a single piece of comprehensive architecture documentation to all software developers. The developers then have to understand the complete architecture documentation in order to extract the information that is relevant for the local scope of their task and adapt it to their context. Another problem is inconsistencies in content and form, making it a challenge to find and understand relevant architecture information. Very often, the effectiveness of architecture documentation decreases over time because it is not kept up to date. The costbenefit ratio of such architecture documentation may be a reason for an organization to decide to stop investing in architecture in general. These challenges should be addressed by applied research on architecture documentation. Enhanced methods and tools shall support architects in creating and maintaining architecture documentation that allows highly efficient and effective implementation for software developers. To collect empirical facts for backing up our project experiences and as a foundation for improving methods 1
10 Introduction 1.2 This Study and tools, we conducted a survey with developers in industry and asked them about their work with architecture documentation. In total, 147 developers from different countries in Europe, Asia, North and South America participated, working in organizations from two to more than 100,000 employees. In this report, we report on the creation and the results of the study and discuss our main findings. We focused on software architecture documentation for developers to complement our experiences from industry projects with the views of software developers. By doing this, we aim to create a basis for future improvement of methods and tools for architecture documentation to make implementation more efficient and effective. Therefore, we defined the overall goal of the study according to the GQM template [3] as: Characterizing the current situation and improvement potential of software architecture documentation with respect to architectural information and its representation from the perspective of developers in industry as the basis for developing practically applicable methods and tools to make implementation work more efficient and effective. There are some aspects that need to be emphasized in this goal statement: Our main focus is on software developers. While methods and tools might target architects in the creation of documentation, in this study we asked developers about their view as users of the documentation. A second aspect is that we distinguish two dimensions: (1) architecture information vs. architecture representation and (2) characterization of the current situation vs. requirements for the future. The combination of the two dimensions gives us four areas in which we asked developers about their views. And the last aspect is that this study constitutes the basis for the improvement of methods and tools for advanced architecture documentation that shall help developers to fulfill their implementation tasks in less time, with high-quality results. From the goal statement following the two dimensions, we derived four research questions, which are the source of the structure and content of the survey: RQ1: Which architectural information do developers currently receive for implementation activities and which problems do they perceive? RQ2: Which representation of architectural information do developers currently receive for implementation activities and which problems do they perceive? RQ3: Which architectural information would developers like to get for their implementation activities? 2
11 Introduction RQ4: Which representation of architectural information would developers like to get for their implementation activities? 1.3 Intended Audience 1.4 Report Outline This report on our study has several main target groups: Architects in industry can compare the state and practices concerning architecture documentation in their organizations to those of other companies. This will allow them to identify strength and weaknesses and get ideas for improving the capabilities in their own organization. Researchers in software architecture can get directions for future applied research in the field of architecture documentation. They will find ideas for the development of enhanced methods and tools for software architecture documentation for industrial organizations. Participants of the study can compare their answers to those of other organizations. They can get an idea of what other developers perceive as important in architecture documentation for their implementation work and can initiate improvement processes based on this, for example. The remainder of this report is structured as follows: In Section 2, we introduce fundamental work on architecture documentation. In Section 3, we describe our research methodology. In Section 4, we describe the results of our study; the main findings are presented Section 4.2. In Section 5, the main findings are discussed and the report is concluded. Section 6 presents acknowledgments for the collaboration between IESE and UFBA and for the participating companies. The appendix contains a discussion of related studies and threats to the validity of the study. 3
12 Architecture Documentation in Research and Practice 2 Architecture Documentation in Research and Practice Making software architecture explicit and persistent is a key factor in utilizing the potential it offers. This is reflected by the fact that almost all comprehensive approaches for software architecture also cover documentation. Examples are [4], [24], [26] or [11]. There is even a standard in place for the description of software architectures (ISO/IEC/IEEE 42010) [13]. Architecture views have been introduced to address the need to deal with the complexity of software systems and are still one of the central concepts of the discipline. They help to separate different concerns of the software systems according to the needs of different stakeholders. Different view sets have been presented since then; some of the best known and most frequently applied ones include Kruchten s 4+1 View model [16], the Siemens Four Views model [12], or SEI s Views and Beyond approach [5]. However, the usage of different architecture view types is not sufficient anymore to handle the complexity of modern software systems and to describe them adequately for different stakeholders. The amount of information can be still so high that efficient working is still hampered, making studies as ours necessary. For description languages, different ways are used and have been proposed in practice and research. These range from simple whiteboard sketches to formal architecture description languages, with the degree of formality being the main varying factor. In research, high levels of formality are typically valued in architecture description languages, as they allow sophisticated analyses and automated processing of information. Examples are ACME [10] or AADL [9]. In contrast, practice values fast creation and understandability, as architecture documentation is mainly used as a vehicle for information exchange. This is why whiteboard sketches and PowerPoint architectures are widely used. However, despite the disadvantages for which it is frequently criticized, the predominant description language for architectures is UML [19]. Often UML diagrams are complemented with descriptions in natural language. Accordingly, the format in which architecture documentation is distributed also varies. This includes electronic documents and presentation files and webpages, but also model files created with modeling tools like Sparx System s Enterprise Architect [6] or IBM s Rational Software Architect [22]. In recent research, the relatively new discipline of architecture knowledge management has emerged for explicating and persisting architecture information. Farenhorst and de Boer published a state-of-the-art survey on this topic [8] and observed four main directions of architecture knowledge management: 1. Shar- 4
13 Architecture Documentation in Research and Practice ing architecture knowledge to make architecture information efficiently available to stakeholders, as in [7] or [1]. 2. Aligning architecting with requirements engineering to create a connection between architecture information and requirements, as in [21]. 3. Towards a body of knowledge, to create a comprehensive encyclopedia of architecture information, as in [2]. 4. Intelligent support for architecting to enable working efficiently with architecture and its documentation, as in [25]. However, architecture knowledge management methods are not yet widely applied in practice at this point in time. 5
14 Research Methodology 3 Research Methodology 3.1 Planning the Survey For the description of our methodology research, we distinguish the following phases: planning the survey, designing and conducting the survey, and analyzing the data. We defined the overall goal of the survey and the four research questions as introduced in Section 1.2. Based on these, we planned and designed the survey and derived the actual survey questions for the participants. The target group for the survey consisted of software developers in industry. Thereby it was not important whether they actually had software architecture documentation available in their implementation work because even if they did not, they could still be asked about their wishes for the future. To invite participants we decided to use ; however, we did not want to merely contact random software companies. To increase the chances of a high response rate, we compiled a list of past and current customers and project partners from industry. As we typically have one or a small number of contact persons, we contacted them directly and asked them to distribute the information about the survey internally to software developers in their organization with the request to participate. In this way we contacted 92 IT organizations from Europe, Asia, North and South America, ranging from two to around 130,000 employees. Additionally, BITKOM 1, the German Association for Information Technology, Telecommunications and New Media, Software Foren Leipzig 2, and the Software Technologie Initiative e.v 3. provided assistance by distributing the information via their mailing lists. 3.2 Designing and Conducting the Survey The four research questions (see Section 1.2) provided the framework for the derivation of our survey questions. Figure 1 depicts the resulting structure of survey questions as a matrix. The key distinctions are between architectural information and its representation and between the as-is situation for the participant and wishes for a to-be situation related to architecture documentation
15 Research Methodology Additionally, we asked for information about the participants background (e.g., regarding their company, see Section 4.1). as-is (current) to-be (future) Representation RQ2 RQ4 Architecture Information RQ1 RQ3 Participant s Context Figure 1. Structure of survey questions and relationship to research questions In Figure 2, the flow of survey questions is presented. It starts with a question about the preferred language for conducting the survey. As this research was done in a German-Brazilian cooperation with many participants from Germany and Brazil expected, we offered the languages German, Portuguese and in addition, English. 7
16 Research Methodology Preferred language 1 AD available 1 General questions Questions about architectural information Questions about architecture representation as-is 8 as-is 5 as-is 7 to-be 2 to-be 3 to-be 2 Questions about participant s background 10 Figure 2. Flow of questions in the survey. Medium blue blocks (as-is) were only asked if architecture documentation was available. The circled number indicates the number of questions in the section Then we asked about the availability of architecture documentation for the participants and their tasks as a developer. This question had an impact on the further flow of survey questions: Only if a participant indicated that architecture documentation was available were the questions about the as-is situation asked; otherwise they were not visible for the participant. The main part of the survey consisted of three pages of questions, each visually separated into a set for the as-is situation and a set for the to-be situation: First, general questions about architecture documentation were asked, without any differentiation between the information aspects and their representation. Second, questions with a focus on architectural information in architecture documentation were asked. Third, questions about the representation of architecture information were asked. Finally, a set of questions about the participant s background were asked (cf. Section 4.1). We had two types of questions: First, questions with a fixed set of answers, partly single- and partly multi-selection ones. Second, there were questions with a free text answer. 8
17 Research Methodology 3.3 Analyzing the Data We created an online questionnaire containing 42 questions using the Enterprise Feedback Suite by questback 4. We conducted the survey in the period from December 1st, 2012 to January 31st, Only a subset of the participants who started the survey actually finished it. We considered the survey as finished when the participants clicked the submit button. Regarding the analysis and evaluation, when we talk about participants we refer to those who finished the survey. A total of 147 participants (N=147) have been included in the data analysis. The net sample was 345. This figure encompasses both the completed surveys and the ones that have been interrupted. The total sample, i.e. how many people saw was 572, making it a response rate of 60.31% and a completion rate of 25.7%. Nevertheless, we do not have a complete data set for each question, as not all questions were mandatory. That is, for each question the sample size might vary. As described above, we asked about the availability of architecture documentation and excluded the respective questions if no such documentation was available. Not all participants had architecture documentation available for their tasks. Thus, for the questions about current architecture documentation, we have only answers from a subset of the participants (N=109). For questions with fixed answers, we counted the results in the analysis. For the evaluation of free-text results, we grouped the answers into coherent categories with an appropriate name to cover the full range of answers. Then we additionally aligned these answer categories across questions wherever this was meaningful
18 Results 4 Results In the following sections, we will describe the results of the survey. 4.1 Overview of Survey Participants and their Context All participants are employed in industry and are somehow related to software development. Participants are affiliated with companies in eight different countries, mainly in Germany (59%), Brazil (23%), and Finland (13%). Further participants came from France, Japan, Sweden, Switzerland, and the United States. Although the survey aimed at studying the development perspective on software architecture, many participants with a slightly different focus in their own position contributed to the survey. Figure 3 depicts the distribution of the participants occupational positions. The largest group are developers (46%), followed by architects (23%) and managers (20%). The participant s position was asked as free text, thus we consolidated the answers into the depicted categories. In the category manager, in particular, we grouped quite different roles, ranging from team leader via product manager to chief executive officer. N=137 Developer Architect Manager Consultant Others 0% 20% 40% 60% 80% 100% Figure 3. Current position of the participants in their companies In order to judge the professional experience of the participants, we asked for the number of years they had already been in their current or in a similar position. The answers, grouped from an open question, were the following: 0 to 3 years 27%, 4 to 7 years 34%, 8 to 11 years 17%, 12 to 15 years 10%, more than 15 years 12%. In order to characterize the companies the participants are affiliated with, we asked for the industry sectors they work in (see Figure 4). Most participants work for companies whose main business is software development for multiple industries (27%). The other companies are developing software for customers from a dedicated sector or for their own business units. Other strong sectors in our survey were building construction management (10%), automotive (8%), energy (8%), and finance (8%). While the survey in general was anonymous, 10
19 Occurrences (N=142) Results we asked the participants at the end whether they agreed to have their company s name published in the study. The participating companies included, among others: Accenture, amiando, arago, Best Code Qualidade de Software, Daubit Development Service, Deloitte Consulting, Denso, Diamant Software, GEA Group, Gebhart Quality Analysis (QA) 82, IF Sertão PE, Kienbaum Management, KSB, msg systems, Murex, Partec, psb intralogistics, Radix Engenharia e Software, Rohde & Schwarz, SALT Solutions, SAP, Saphir Gesellschaft für Softwaresysteme, SEEBURGER, Software AG, SOLUTIS Tecnologias, Systemum, T-Systems, Talend, Tekla, Thoughtworks, UNIT4 Business Software, WIKON Kommunikationstechnik, and White Lion Technologies Figure 4. Sectors of the participants companies There are significant differences in the participants companies regarding the number of people contributing to software development. 41% reported fewer than 100 people in software development, 41% reported 100 to 1000, 11% reported 1000 to 5000, and 7% reported more than 5000 people in software development. The majority (50%) of the participants develop software according to a combination of agile and conventional development processes. 33% work completely with agile development processes, 7% work with purely conventional development processes. 10% do not use a structured development process at all. Finally, we asked the participants to rate the size of the product they are contributing to. 22% contribute to a very large product, 32% contribute to a large product. 34% contribute to a medium-size product, 11% contribute to a small product, and 1% to a very small product. How to estimate product size was left up to the participants for the sake of simplicity in answering the question. 11
20 Results 4.2 Main Findings This section describes the results of the survey. Please note that the results of the general questions are consistently integrated into this structure. We identified five main findings, which are summarized below and discussed in Section Architecture documentation is often not up to date and thus strongly lacks utility. In particular, architecture documentation is not kept up to date following changes in requirements or changes in the source code. 2. Architecture documentation is often provided in a one-size-fits-all manner. Consequently, it does not provide the right information for specific stakeholders and their current tasks. Developers, in particular, have strongly varying needs regarding information and the level of detail, which can only be covered by more specific architecture documentation. 3. Architecture documentation is often inconsistent. Inconsistency comes in different forms, like inconsistent structure within and across documents, inconsistent notations, or contradictory information. A higher level of consistency is desirable for developers in order for them to understand the architecture more easily and to come up with higher-quality implementation. 4. Architecture documentation often does not provide sufficient navigation support to easily find the right information. Developers want a more interactive way of working with architecture documentation: better navigation (along the hierarchical decomposition and general traceability to related aspects) and a powerful search functionality ( Google-like was often mentioned). 5. Architecture documentation is often scattered across different artifacts, such as several documents, presentations, or s. This makes it difficult for developers to efficiently find information that is relevant for their implementation tasks. Developers ask for a central access point where they can easily find all the architecture information they need. 6. Aggregating all the answers to the question What architecture information do you need for best support of your development tasks? provides a very complete and mature picture of which information architecture documentation should contain. This serves as helpful confirmation of what we see as architecturally relevant is also demanded by developers. Nevertheless, it has to be taken into account that architecture documentation should be strongly tailored to the specific usage. 4.3 Architectural Information: The as-is Situation In the general questions, we asked: What do you consider as the main problems with the architecture documentation you work with?. With respect to architectural information, the most frequent answers given are listed below: 12
21 % Results Outdated architecture documentation (25 [occurrences]) Inadequate level of granularity (19) Implementation not in sync with architecture anymore (17) Not specific for stakeholders and concrete situation (10) High costs/effort for creation and maintenance (6) Rationale missing (4) We asked about the amount of architecture documentation available. The results are depicted in Figure 5. The majority of participants have fewer than 100 pages of architecture documentation available in their development projects How much architecture documentation do you have typically available in development projects? (N=105) 0 < 10 < 100 < 500 < 1000 > 1000 Pages Figure 5. Amount of architecture documentation Figure 6 shows the answers to our questions about the up-to-dateness of architecture documentation. They confirm that architecture documentation is often outdated and if updated at all, with a strong delay. The results show remarkably high similarity to those reported in [17]. Based on these results we have to say that almost no improvement has been achieved within a whole decade. 13
22 % % % % Results How often is architecture documentation up to date? (N=106) 5 0 Always Very OftenSometimes Rarely Never When changes are made to a software system, how long does it take for the architecture documentation to be updated? (N=105) 5 0 Few days Few weeks Few months Rarely Never Figure 6. Up-to-dateness of architecture documentation We asked the participants to rate the perceived adequacy of the amount of architecture information provided (see Figure 7). A tendency can be observed that there is rather too little architectural information available. Some participants agree that architecture documentation also contains unnecessary information but most participants see no unnecessary information provided. Keeping in mind that many participants have too little architecture information, it is no surprise that they do not see much overhead. When architecture documentation becomes extensive, the need for better orientation and specific tailoring increases How would you rate the amount of provided architecture information? (N=106) Too little Rather too little About right Rather too much Too much The architecture documentation I work with contains a lot of unnecessary (overhead) information. (N=107) Strongly agree Agree Undecided Disagree somewhat somewhat Strongly disagree Figure 7. Adequacy of amount of architecture documentation provided Finally, for this category, we asked the participants about the overall quality of their architecture documentation. The majority of the participants (48%) rated it average, 29% rated it good and 18% poor. Despite the overall ten- 14
23 % Results dency being slightly positive, 71% of the participants giving a rating below good shows that there is still enough improvement potential for the quality of software architecture documentation. Figure 8 illustrates the results. How do you rate the overall quality of the architecture documentation you work with? (N=106) Very Poor Poor Average Good Very Good Figure 8. Overall quality of architecture documentation 4.4 Representation of Architectural Information: The as-is Situation In the general questions, we asked: What do you consider as the main problems with the architecture documentation you work with? and received the following most frequent answers with respect to the representation of architectural information: Inconsistencies and missing structure (15) Information scattered across documents (8) Missing traceability to other artifacts (5) Missing evolution and version support (2) Degree of formality too high (1) In order to get additional insights into the problems with the representation of architecture information, we asked: What problems do you see in the way architecture information is described? The results are shown in Table 1. Table 1. What problems do you see in the way architecture information is described? Answer Category Occurrences % (N=42) Missing common formats and structures 6 14,3 Targets too many groups and thus not specific 5 11,9 Unnecessary information 5 11,9 Wrong or varying degree of abstraction 4 9,5 Missing traceability to external information 3 7,1 15
24 Results Missing details in the written description 3 7,1 Hard to consistently update 3 7,1 Missing information about business logic, focus only on infrastructure 2 4,8 Description of things far in future, which developers don't know exactly 1 2,4 Missing consistency 1 2,4 Missing highlighting of information 1 2,4 Non-standardized diagrams, missing common terminology 1 2,4 Information duplication 1 2,4 Missing overview on architecture documentation 1 2,4 Additionally, we asked: What problems do you see in terms of finding the architecture information you need? The results are shown in Table 2. The answers to these two questions confirm those given to the question about the main problems and provide additional details. Table 2. What problems do you see in terms of finding the architecture information you need? Answer Category Occurrences % (N=42) Missing clarity in structure 13 23,2 No consistent storage of documents 11 19,6 Missing strong search functionality 10 17,9 Missing relationships / traceability (inside and to other artifacts) 8 14,3 Documents not up-to-date 8 14,3 Inconsistent terminology and notation 5 8,9 Too much information 4 7,1 Missing information 4 7,1 Mixing up information 1 1,8 Missing consistency among multiple documents 1 1,8 Information is too abstract 1 1,8 No knowledge, which information is there at all 1 1,8 Only understandable for people with same mindset as creators 1 1,8 Too complex diagrams 1 1,8 We asked about the main formats in which architecture documentation is provided. Architecture documentation is mostly provided as electronic documents, like Word or pdf (87%), model files (50%), and web pages (45%). 16
25 % % % % Results How is architecture information described? (N=109) Natural language UML diagrams Formal ADLs Other How often is architecture information scattered across different documents? (N=105) Always Very often Sometimes Rarely Never Figure 9. Notation of architecture documentation and scattering across documents The two key notations for the description of software architecture are natural language and UML (see Figure 9). Formal ADLs are used very rarely. This confirms the findings of [18]. Informal diagrams in Visio or PowerPoint are also used. Another result is that architecture information is typically not consolidated in a single source of information but scattered across documents (see Figure 9) The documentation structure supports me to easily find the architecture information I need. (N=104) Strongly agree Agree Undecided Disagree somewhat somewhat Strongly disagree How architecture information is described is adequate to support me in my development tasks. (N=103) Strongly agree Agree Undecided Disagree somewhat somewhat Strongly disagree Figure 10. Perceived adequacy of representation of architecture information We asked the participants how they perceive the support of their architecture documentation in finding specific information and performing their development tasks. Figure 10 depicts the results, showing that there is a tendency for the participants to perceive the representation as adequate. 17
26 Results 4.5 Architectural Information: The to-be Situation In the general questions, we asked: What are your wishes in general for the future of architecture documentation? and received the following most frequent questions with respect to architectural information: Up-to-date (19) In sync with implementation (18) Specific for stakeholders, concerns, tasks and contexts (14) Providing a system overview and the big picture (11) Presenting design decisions and rationale (10) Automatic creation/generation from code or requirements (10) More complete and more detail (7) Low cost and effort (3) As we explained in our main findings, up-to-date architecture information that is in sync with the implementation is the main concern, but specificity for stakeholders and conveying the big picture are also important aspects. In order to get a deeper insight, we asked the participants more specifically: What architecture information do you need for best support of your development tasks? From the answers it becomes evident that it is most important to developers to get an overall understanding of the complete system, as well as detailed information about the components in their scope together with interfaces and relationships to other components. More generally, we can say that they are interested in the complete information that constitutes software architecture. This is also one of our main findings as described in Section 4.2. Table 3 shows an overview. Table 3. What architecture information do you need for best support of your development tasks? Answer Category Occurrences % (N=103) Components, interfaces, relationships, decomposition 44 42,7 Big picture 20 19,4 Mapping to implementation 12 11,7 Functional modularization 11 10,7 Data model and data flow 11 10,7 Deployment and deployment alternatives 9 8,7 Patterns and best practices 9 8,7 Project context 9 8,7 Technologies, frameworks and standards 9 8,7 (Discarded) Architecture decisions and rationale 8 7,8 Architecture drivers 8 7,8 Behavior 7 6,8 Restrictions & Constraints 3 2,9 Details on communication (protocols, latency, throughput, state, ) 2 1,9 18
27 Results Ownership & team responsibilities 2 1,9 Critical elements with particular caution in development 2 1,9 Testing information 1 1 Glossary 1 1 Tutorial 1 1 Traceability in architecture model 1 1 Evolution of architecture over time 1 1 Detailed functional requirements 1 1 Operation information 1 1 History of architecture 1 1 Additionally, we asked the participants how much architecture documentation they perceive as optimal. This question is a bit provocative and as expected, the most frequent answer was: It depends. Mainly it depends on the target group and task, but also on the system and context. However, the answers also suggest that reducing the amount of information to what is really indispensable is desirable. Table 4 shows the results. Table 4. How much architecture documentation is optimal? Answer Category Occurrences % (N=83) Depends on target group and task 16 19,3 Depends on project / system 15 18,1 Enough to provide an overview of the system and context 9 10,8 As minimal as possible 9 10,8 Enough to allow impact analyses, down to the code 5 6 An amount that is still possible to keep up-to-date 5 6 Other 32 38, Representation of Architectural Information: The to-be Situation In the general questions, we asked the question: What are your wishes in general for the future of architecture documentation? and received the following most frequent questions with respect to representation of architectural information: Easy creation, handling, updating, and maintenance (20) Connected and integrated information, artifacts and tools (16) Readable and understandable (12) Consistent and systematically structured and described (11) Hierarchical navigation (6) Good searching functionality (5) Guidance and connection for subsequent activities (5) Basis for automated activities (4) Centralization of information (3) 19
28 Results In order to get a deeper insight, we asked the participants more specifically: In what format should architecture documentation be provided in the future? Table 5 shows an overview. Webpages, electronic documents, and diagrams are the predominant wishes. UML also plays a significant role; formal ADLs do not. Additionally, the participants frequently voted for standard formats for which no specific (reader) tool has to be installed. It has to be noted that the types of answers given are not disjoint: UML diagrams can be provided in electronic document files or on webpages. While the intention of this question was to learn about the actual formats (as in the as-is part of the survey (cf: Section 4.4)), the answers still show the priorities of the participants quite well. Table 5. In what format should architecture documentation be provided in the future? Answer Category Occurrences % (N=117) Webpages 25 21,4 Electronic documents 24 20,5 Diagrams 23 19,7 UML 19 16,2 Natural language 17 14,5 Standard formats 11 9,4 Architecture models 10 8,5 Wikis 9 7,7 Other 44 37,6 We asked: What means should architecture documentation provide to help you find the information you need? It can be observed that developers want interactive ways of working with architecture documentation, where it is possible to search information in different ways and navigate through hierarchical structures and related elements. Also, traces to other artifacts, like requirements documents have been rated as important. Table 6 shows an overview of the result data. Table 6. What means should architecture documentation provide to help you find the information you need? Answer Category Occurrences % (N=84) Interactive search functionality 25 29,8 Links and navigation 24 28,6 Traces to artifacts 15 17,9 Directories 10 11,9 Clear structure 9 10,7 Mapping to implementation 8 9,5 Overviews: system overview, topic-map, ,3 Centralized repository 6 7,1 Entrance points for goals, stakeholders, concerns, 4 4,8 20
29 Results Other 11 13,1 Finally we asked how architecture should be described to make it more useful for the developer s implementation task. Table 7 shows the results. It becomes evident that clarity and structure in diagrams and language are of the highest importance. Table 7. How should architectural information be described to make it more useful for your development tasks? Answer Category Occurrences % (N=71) Self-explaining, simple diagrams 15 21,1 Clear, concise, uniform, consistent 10 14,1 Clear terminology and language 6 8,5 Using a suitable notation 5 7,0 Providing detailed descriptions 4 5,6 Giving examples 3 4,2 Being traceable to other artifacts 3 4,2 Giving architecture decisions and rationale 3 4,2 Augmented with source code information 2 2,8 Tailored to the needs of reader 2 2,8 Describing the used patterns 2 2,8 Using overview diagrams 2 2,8 Other 5 7,0 21
30 Discussion 5 Discussion 5.1 Survey Results In the following sections, we will discuss the survey result and present our conclusions and next steps. With this study, we aimed at confirming our experiences from many industrial projects and at laying the foundation for innovative and practically applicable architecture documentation methods for improved implementation. From this perspective, we revisit our main research questions and the responses received from the participants. Concerning architectural information, it became evident that one of the participants main concerns is up-to-dateness. Architecture documentation suffers significantly from being outdated in the majority of cases, making it less relevant and useful for developers. To improve this situation, the maintenance of architecture documentation has to be simplified and made more efficient. Centralization of architecture information is the most feasible way we see to achieve this. However, this requires powerful tooling to allow the efficient and automated creation of architecture documentation tailored to the needs of individual developers. Such specific architecture information was another one of the main aspects mentioned by the participants. General and all-encompassing architecture documentation seems not adequate anymore for dealing with the size and complexity of modern software systems and development situations. Developers ask for architecture information that is specific for their scope, task, and context. Analogously to the aspect mentioned above, centralization of architecture information and automatic generation may be feasible strategies for addressing this. We outlined a first idea of such an approach in [23]. In terms of required architectural information, developers mainly ask for a system overview that provides the big picture of the system and its basic principles, complemented with detailed information within their scope, like components, interfaces, relationships, data, patterns, deployment, technologies, architectural drivers, etc. However, it is of major importance to reduce the amount of overhead information to the necessary minimum, without leaving out needed aspects. In general, we can say that the closer to the scope of the developer, the more details are needed, and analogously, the more details that need to be left out, the further away from the scope. 22
31 Discussion 5.2 Conclusions A clear, easy-to-understand and easy-to-follow connection between architecture information and implementation is a major concern for developers. While, such a connection can be established for detailed design using model-driven development and code generation techniques, this is currently not possible for architecture in general. Here we see the potential for further research and development of advanced tool support. Concerning the representation of architecture information, consistency and uniform structure were two of the main concerns voiced by the developers. Organizations might need to invest more effort into establishing internal standards and a common terminology. Extended automation, for example using generation techniques, might also contribute to achieving this goal. This fits also quite well with the need for a single source of information, which was repeatedly mentioned by the developers. In addition, the developers predominantly asked for interactive documentation that allows easy navigation and searching. We understand that static architecture documents as they are common are not adequate for serving the needs of developers. Future research needs to concentrate on such forms of documentation. And finally, readability and understandability need to be increased. We consider this to be another argument for standardization and clarity through reduction of information. We conducted an international study on the as-is and to-be situation of software architecture documentation from the perspective of developers. We are happy to having received contributions to this research from a total of 147 participants from industry. The study confirmed that software architecture is a very important topic in industrial software development and that many companies are successfully engaged in it. Aggregating the answers to what practitioners want as architectural support for their development activities results in an impressive list covering nearly all the literature topics on software architecture documentation. We identified a lot of interesting improvement opportunities regarding how software architecture can become even more helpful. Our main findings are that architecture documentation has to become up to date and consistent in order to better serve the developers needs. Additionally, developers demand more specific architecture documentation targeted at their concrete context and tasks. Such architecture documentation should be complemented by improved navigation and search possibilities. 23
32 Discussion As researchers of Fraunhofer, we strongly aim at improving the industrial applicability of software architecture methods and tools. We conducted this survey to complement our own experiences from projects and discussions with practitioners. The survey confirms that architects need more tool support for the creation of adequate architecture documentation. For the future, we plan to extend tools and increase the level of automation as next steps towards realizing the identified improvement potentials. 24
33 Acknowledgments 6 Acknowledgments We would like to thank all the participants who contributed by answering our questions. Additionally, we would like to thank our colleagues, business partners, and networks (Bitkom, Softwareforen Leipzig, STI e.v.), who supported us in inviting and reaching so many participants for the study. We thank our colleagues Jessica Jung for her help regarding the empirical aspects and Jens Knodel for reviewing the report. A scientific publication will be available from Springer-Verlag Heidelberg Berlin: Rost, D., Naab, M Software Architecture Documentation for Developers: A Survey. European Conference on Software Architecture (ECSA 2013) (July 2013), LNCS 7957, pp Collaboration between IESE and UFBA 6.2 Participating Companies This survey was conducted as part of the cooperation between the Fraunhofer Institute for Experimental Software Engineering (IESE), Germany and the Federal University of Bahia (UFBA), Brazil. Both are collaborating to establish a Fraunhofer Project Center on Software and Systems Engineering in Bahia. Its goal is to expand the activities of UFBA beyond its academic and scientific activities in order to act as a strong source of new technologies and solutions to the industry both nationally and internationally. We would like to particularly thank the following companies for their participation: Accenture, amiando, arago, Best Code Qualidade de Software, Daubit Development Service, Deloitte Consulting, Denso, Diamant Software, GEA Group, Gebhart Quality Analysis (QA) 82, IF Sertão PE, Kienbaum Management, KSB, msg systems, Murex, Partec, psb intralogistics, Radix Engenharia e Software, Rohde & Schwarz, SALT Solutions, SAP, Saphir Gesellschaft für Softwaresysteme, SEEBURGER, Software AG, SOLUTIS Tecnologias, Systemum, T- Systems, Talend, Tekla, Thoughtworks, UNIT4 Business Software, WIKON Kommunikationstechnik, and White Lion Technologies. 25
34 Appendix 7 Appendix 7.1 Related Studies In 2003, Lethbridge, Singer, and Forward published the results of three studies on how software engineers use documentation [17]. Unlike the work presented in this report, their studies were not focused on architecture documentation only. Most of their main findings confirm our experiences in industry projects. They state: Documentation of all types is frequently out of date, Much mandated documentation is so time consuming to create that its cost can outweigh its benefits, and A considerable fraction of documentation is untrustworthy. We were interested in whether there has been any improvement in the past ten years concerning these factors. To investigate this, we asked questions like How often is architecture documentation up to date? or How much architecture documentation do you have typically available in development projects? and specifically replicated the question of in your experience, when changes are made to a software system, how long does it take for the architecture documentation to be updated to reflect the changes?. It is fair to say that the problems from one decade ago persist to a large extent until today. In 2006, Koning and van Vliet reported on their study of four architecture descriptions from industry and their distances to the IEEE Standard 1471 in [15]. Specifically, they studied which parts of the documents were relevant to which stakeholder concern. They stated that Our research makes it very understandable that readers complain about too much information, as well as Almost none of the stakeholders is interested in the full report. This supports our assumption that unspecific architecture is a factor in inefficient and ineffective implementation activities. We included questions in our survey concerning the amount and specificity of architecture documentation provided to developers, like Please rate your agreement to the statement: The architecture documentation I work with contains a lot of unnecessary (overhead) information.. In 2012, Malavolta et al. reported the results of their study on the industrial usage of architecture description languages in [18]. The main findings of their study include: Organizations (even in domains involving critical systems) prefer semi-formal and generic ALs than formal and domain-specific ones like ADLs and [ ] Code generation is not often required. Link to requirements (elicitation and specification) is important as well. We included questions about the usage of formal ADLs in our survey, as well as about developers wishes concerning the features of architecture documentation. Besides this, we largely adopted their paper s structure as we found it quite compelling. 26
35 Appendix 7.2 Validity In this section, we describe threats to validity and limitations of the survey. Not all participants finished the study and submitted their results. As described in Section 4.3, we found that the answers of the participants who did not finish diverged considerably from the participants who did finish. However, we decided not to include unfinished surveys as they were not confirmed by the participants. The survey included questions that were not mandatory. Thus, not all participants filled in all questions. We always took the number of answers given as the reference and typically indicated how many results we got. We did not restrict the number of participants in a single company. This leads to the effect that some companies are represented by a single participant while others are represented by multiple participants. However, contexts and projects in larger companies are so different that we considered it valuable to get multiple contributions. Our survey was mainly targeted at developers, as indicated in the research question. Although we clearly put this in the survey invitation, several participants indicated that their main role is rather architect or manager. However, we nevertheless see this as valuable input and assume that these participants took a developer perspective (currently doing actual implementation work, having done it earlier, or supervising people who do implementation work). The questions we raised in the survey are not fully disjoint. So we received partially similar answers to our questions. However, this confirmed the general tendencies and top results fairly well. For free text questions, we derived categories from the participants answers for aggregation purposes. These categories might depend on our background. However, we see a good match of these categories and typical topics in the literature. This study is related to other research performed by us [23]. Although we tried to maintain neutrality, we might have been biased in the survey design and analysis. 27
36 Appendix References [1] Babar, M.A. and Gorton, I A Tool for Managing Software Architecture Knowledge. Second Workshop on Sharing and Reusing Architectural Knowledge - Architecture, Rationale, and Design Intent (SHARK/ADI 07: ICSE Workshops 2007) (May. 2007), [2] Babu T., L. et al ArchVoc--Towards an Ontology for Software Architecture. Second Workshop on Sharing and Reusing Architectural Knowledge - Architecture, Rationale, and Design Intent (SHARK/ADI 07: ICSE Workshops 2007) (May. 2007), 5 5. [3] Basili, V.R. and Rombach, H.D The TAME project: towards improvement-oriented software environments. IEEE Transactions on Software Engineering. 14, 6 (Jun. 1988), [4] Bass, L. et al Software Architecture in Practice. Addison-Wesley Professional. [5] Clements, P. et al Documenting Software Architectures: Views and Beyond. Addison-Wesley Professional. [6] Enterprise Architect: Accessed: [7] Farenhorst, R. et al A Just-In-Time Architectural Knowledge Sharing Portal. Seventh Working IEEE/IFIP Conference on Software Architecture (WICSA 2008) (Feb. 2008), [8] Farenhorst, R. and De Boer, R.C Knowledge Management in Software Architecture: State of the Art. Software Architecture Knowledge Management. M. Ali Babar et al., eds. Springer Berlin Heidelberg [9] Feiler, P. et al The Architecture Analysis & Design Language (AADL): An Introduction. [10] Garlan, D. et al Acme: architectural description of component-based systems. Foundations of component-based systems [11] Gorton, I Essential Software Architecture. Springer Berlin Heidelberg; Auflage: 2nd ed [12] Hofmeister, C. et al Applied Software Architecture. Addison-Wesley Professional. 28
37 Appendix [13] International Organization Of Standardization ISO/IEC/IEEE 42010: Systems and software engineering -- Architecture description. [14] Knodel, J Sustainable Structures in Software Implementations by Live Compliance Checking. Fraunhofer Verlag. [15] Koning, H. and Vliet, H. Van Real-life IT architecture design reports and their relation to IEEE Std 1471 stakeholders and concerns. Automated Software Engg. 13, 2 (Apr. 2006), [16] Kruchten, P The 4+1 View Model of A rchitecture. IEEE Software. 12, 6 (1995), [17] Lethbridge, T.C. et al How software engineers use documentation: the state of the practice. IEEE Software. 20, 6 (2003), [18] Malavolta, I. et al What Industry Needs from Architectural Languages: A Survey. IEEE. [19] OMG UML Superstructure Spcification [20] Perry, D.E. and Wolf, A.L Foundations for the study of software architecture. ACM SIGSOFT Software Engineering Notes. 17, 4 (Oct. 1992), [21] Pohl, K. and Sikora, E COSMOD-RE: Supporting the Co-Design of Requirements and Architectural Artifacts. 15th IEEE International Requirements Engineering Conference (RE 2007) (Oct. 2007), [22] Rational Software Architect: ibm.com/software/awdtools/swarchitect/websphere/. Accessed: [23] Rost, D Generation of task-specific architecture documentation for developers. Proceedings of the 17th international doctoral symposium on Components and Architecture - WCOP 12 (New York, New York, USA, Jun. 2012), 1. [24] Rozanski, N. and Woods, E Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives. Addison-Wesley Professional. [25] Tang, A. et al Software Architecture Documentation: The Road Ahead Ninth Working IEEE/IFIP Conference on Software Architecture (Jun. 2011), [26] Taylor, R.N. et al Software Architecture: Foundations, Theory, and Practice. Wiley. 29
38
39 Docum ent Inform ation Title: Architecture Documentation for Developers: A Survey Date: June 2013 Report: Status: Distribution: IESE /E Final Public Unlimited Copyright 2013 Fraunhofer IESE. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means including, without limitation, photocopying, recording, or otherwise, without the prior written permission of the publisher. Written permission is not needed if this publication is distributed for non-commercial purposes.
NASCIO EA Development Tool-Kit Solution Architecture. Version 3.0
NASCIO EA Development Tool-Kit Solution Architecture Version 3.0 October 2004 TABLE OF CONTENTS SOLUTION ARCHITECTURE...1 Introduction...1 Benefits...3 Link to Implementation Planning...4 Definitions...5
Modeling Guidelines Manual
Modeling Guidelines Manual [Insert company name here] July 2014 Author: John Doe [email protected] Page 1 of 22 Table of Contents 1. Introduction... 3 2. Business Process Management (BPM)... 4 2.1.
WebSphere Business Modeler
Discovering the Value of SOA WebSphere Process Integration WebSphere Business Modeler Workshop SOA on your terms and our expertise Soudabeh Javadi Consulting Technical Sales Support WebSphere Process Integration
An Integrated Quality Assurance Framework for Specifying Business Information Systems
An Integrated Quality Assurance Framework for Specifying Business Information Systems Frank Salger 1, Stefan Sauer 2, Gregor Engels 1,2 1 Capgemini sd&m AG, Carl-Wery-Str. 42, D-81739 München, Germany
How To Develop Software
Software Engineering Prof. N.L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture-4 Overview of Phases (Part - II) We studied the problem definition phase, with which
A Design Technique: Data Integration Modeling
C H A P T E R 3 A Design Technique: Integration ing This chapter focuses on a new design technique for the analysis and design of data integration processes. This technique uses a graphical process modeling
A Variability Viewpoint for Enterprise Software Systems
2012 Joint Working Conference on Software Architecture & 6th European Conference on Software Architecture A Variability Viewpoint for Enterprise Software Systems Matthias Galster University of Groningen,
The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into
The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material,
Risk Knowledge Capture in the Riskit Method
Risk Knowledge Capture in the Riskit Method Jyrki Kontio and Victor R. Basili [email protected] / [email protected] University of Maryland Department of Computer Science A.V.Williams Building
Extended Enterprise Architecture Framework Essentials Guide
Extended Enterprise Architecture Framework Essentials Guide Editorial Writer: J. Schekkerman Version 1.5 2006 Preface An enterprise architecture (EA) establishes the organization-wide roadmap to achieve
V-Modell XT. Part 1: Fundamentals of the V-Modell
V-Modell XT Part 1: Fundamentals of the V-Modell THE V-MODELL XT IS PROTECTED BY COPYRIGHT. BUNDESREPUBLIK DEUTSCHLAND 2004. ALL RIGHTS RESERVED. COPYRIGHT RESERVED BUNDESREPUBLIK DEUTSCHLAND 2004.THE
Software Engineering/Courses Description Introduction to Software Engineering Credit Hours: 3 Prerequisite: 0306211(Computer Programming 2).
0305203 0305280 0305301 0305302 Software Engineering/Courses Description Introduction to Software Engineering Prerequisite: 0306211(Computer Programming 2). This course introduces students to the problems
Requirements engineering
Learning Unit 2 Requirements engineering Contents Introduction............................................... 21 2.1 Important concepts........................................ 21 2.1.1 Stakeholders and
Development models. 1 Introduction. 2 Analyzing development models. R. Kuiper and E.J. Luit
Development models R. Kuiper and E.J. Luit 1 Introduction We reconsider the classical development models: the Waterfall Model [Bo76], the V-Model [Ro86], the Spiral Model [Bo88], together with the further
Realizing business flexibility through integrated SOA policy management.
SOA policy management White paper April 2009 Realizing business flexibility through integrated How integrated management supports business flexibility, consistency and accountability John Falkl, distinguished
Basic Unified Process: A Process for Small and Agile Projects
Basic Unified Process: A Process for Small and Agile Projects Ricardo Balduino - Rational Unified Process Content Developer, IBM Introduction Small projects have different process needs than larger projects.
The Role of Requirements Traceability in System Development
The Role of Requirements Traceability in System Development by Dean Leffingwell Software Entrepreneur and Former Rational Software Executive Don Widrig Independent Technical Writer and Consultant In the
Agile Software Engineering Practice to Improve Project Success
Agile Software Engineering Practice to Improve Project Success Dietmar Winkler Vienna University of Technology Institute of Software Technology and Interactive Systems [email protected]
WHITE PAPER DATA GOVERNANCE ENTERPRISE MODEL MANAGEMENT
WHITE PAPER DATA GOVERNANCE ENTERPRISE MODEL MANAGEMENT CONTENTS 1. THE NEED FOR DATA GOVERNANCE... 2 2. DATA GOVERNANCE... 2 2.1. Definition... 2 2.2. Responsibilities... 3 3. ACTIVITIES... 6 4. THE
JOURNAL OF OBJECT TECHNOLOGY
JOURNAL OF OBJECT TECHNOLOGY Online at www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2006 Vol. 5. No. 8, November-December 2006 Requirements Engineering Tasks Donald Firesmith,
Single Level Drill Down Interactive Visualization Technique for Descriptive Data Mining Results
, pp.33-40 http://dx.doi.org/10.14257/ijgdc.2014.7.4.04 Single Level Drill Down Interactive Visualization Technique for Descriptive Data Mining Results Muzammil Khan, Fida Hussain and Imran Khan Department
Enterprise Architecture Assessment Guide
Enterprise Architecture Assessment Guide Editorial Writer: J. Schekkerman Version 2.2 2006 Preface An enterprise architecture (EA) establishes the organization-wide roadmap to achieve an organization s
Risk Management Framework
Risk Management Framework Christopher J. Alberts Audrey J. Dorofee August 2010 TECHNICAL REPORT CMU/SEI-2010-TR-017 ESC-TR-2010-017 Acquisition Support Program Unlimited distribution subject to the copyright.
Ten steps to better requirements management.
White paper June 2009 Ten steps to better requirements management. Dominic Tavassoli, IBM Actionable enterprise architecture management Page 2 Contents 2 Introduction 2 Defining a good requirement 3 Ten
Traceability Patterns: An Approach to Requirement-Component Traceability in Agile Software Development
Traceability Patterns: An Approach to Requirement-Component Traceability in Agile Software Development ARBI GHAZARIAN University of Toronto Department of Computer Science 10 King s College Road, Toronto,
BUSINESS RULES AS PART OF INFORMATION SYSTEMS LIFE CYCLE: POSSIBLE SCENARIOS Kestutis Kapocius 1,2,3, Gintautas Garsva 1,2,4
International Conference 20th EURO Mini Conference Continuous Optimization and Knowledge-Based Technologies (EurOPT-2008) May 20 23, 2008, Neringa, LITHUANIA ISBN 978-9955-28-283-9 L. Sakalauskas, G.W.
FRAUNHOFER INSTITUTE FOR EXPERIMENTAL SOFTWARE ENGINEERING IESE GO MOBILE WE MOBILIZE YOUR BUSINESS
FRAUNHOFER INSTITUTE FOR EXPERIMENTAL SOFTWARE ENGINEERING IESE GO MOBILE WE MOBILIZE YOUR BUSINESS 2 Mobilize your Business Applications Increase your business success with the help of mobile business
Application Lifecycle Management: Marriage of Business Management with Software Engineering
Application Lifecycle Management: Marriage of Business Management with Software Engineering Lovelesh Chawla, Robert F. Roggio School of Computing University of North Florida Jacksonville, FL [email protected]
Integration of Time Management in the Digital Factory
Integration of Time Management in the Digital Factory Ulf Eberhardt a,, Stefan Rulhoff b,1 and Dr. Josip Stjepandic c a Project Engineer, Daimler Trucks, Mannheim, Germany b Consultant, PROSTEP AG, Darmstadt
Realizing CMMI using Enterprise Architect and UML for Process Improvement
Realizing CMMI using Enterprise Architect and UML for Process Improvement Jack Hunnicutt, Anteon Corporation www.anteon.com Ramsay Millar, integrate IT architects LLC www.integrateitarchitects.com Introduction
Software Design Document (SDD) Template
(SDD) Template Software design is a process by which the software requirements are translated into a representation of software components, interfaces, and data necessary for the implementation phase.
California Enterprise Architecture Framework
Version 2.0 August 01, 2013 This Page is Intentionally Left Blank Version 2.0 ii August 01, 2013 TABLE OF CONTENTS 1 Executive Summary... 1 1.1 What is Enterprise Architecture?... 1 1.2 Why do we need
1.1 The Nature of Software... Object-Oriented Software Engineering Practical Software Development using UML and Java. The Nature of Software...
1.1 The Nature of Software... Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering Software is intangible Hard to understand
Business Analyst Work Plan. Presented by: Billie Johnson, CBAP CSM
Business Analyst Work Plan Presented by: Billie Johnson, CBAP CSM Agenda Topic Introduction Overview of a Business Analysis Work Plan Initiating a Business Analysis Effort Components of the Business Analysis
ONTOLOGY FOR MOBILE PHONE OPERATING SYSTEMS
ONTOLOGY FOR MOBILE PHONE OPERATING SYSTEMS Hasni Neji and Ridha Bouallegue Innov COM Lab, Higher School of Communications of Tunis, Sup Com University of Carthage, Tunis, Tunisia. Email: [email protected];
Abstraction in Computer Science & Software Engineering: A Pedagogical Perspective
Orit Hazzan's Column Abstraction in Computer Science & Software Engineering: A Pedagogical Perspective This column is coauthored with Jeff Kramer, Department of Computing, Imperial College, London ABSTRACT
Your Software Quality is Our Business. INDEPENDENT VERIFICATION AND VALIDATION (IV&V) WHITE PAPER Prepared by Adnet, Inc.
INDEPENDENT VERIFICATION AND VALIDATION (IV&V) WHITE PAPER Prepared by Adnet, Inc. February 2013 1 Executive Summary Adnet is pleased to provide this white paper, describing our approach to performing
Software Engineering Reference Framework
Software Engineering Reference Framework Michel Chaudron, Jan Friso Groote, Kees van Hee, Kees Hemerik, Lou Somers, Tom Verhoeff. Department of Mathematics and Computer Science Eindhoven University of
The role of integrated requirements management in software delivery.
Software development White paper October 2007 The role of integrated requirements Jim Heumann, requirements evangelist, IBM Rational 2 Contents 2 Introduction 2 What is integrated requirements management?
TOGAF usage in outsourcing of software development
Acta Informatica Pragensia 2(2), 2013, 68 76, DOI: 10.18267/j.aip.25 Section: Online: aip.vse.cz Peer-reviewed papers TOGAF usage in outsourcing of software development Aziz Ahmad Rais 1, Rudolf Pecinovsky
Web Application Development Processes: Requirements, Demands and Challenges
Web Application Development Processes: Requirements, Demands and Challenges THAMER AL-ROUSAN 1, BASEM HADIDI 2, SHADI ALJAWARNEH 3 1, 3 Faculty of Science and Information Technology, Isra University, Amman,
06 - Role of the Software Architect. Prof. Peter Sommerlad IFS Institute for Software HSR Rapperswil
06 - Role of the Software Architect Prof. Peter Sommerlad IFS Institute for Software HSR Rapperswil Overview What is Software Architecture? Views on Architecture Role of a Software Architect exercises
Embarcadero DataU Conference. Data Governance. Francis McWilliams. Solutions Architect. Master Your Data
Data Governance Francis McWilliams Solutions Architect Master Your Data A Level Set Data Governance Some definitions... Business and IT leaders making strategic decisions regarding an enterprise s data
How To Develop An Enterprise Architecture
OSI Solution Architecture Framework Enterprise Service Center April 2008 California Health and Human Services Agency Revision History REVISION HISTORY REVISION/WORKSITE # DATE OF RELEASE OWNER SUMMARY
Success in Change. Anabel Houben Carsten Frigge C4 Consulting GmbH. Representative Survey on Success and Failure in Managing Change
Anabel Houben Carsten Frigge C4 Consulting GmbH Rainer Trinczek Hans J. Pongratz Technical University of Munich Success in Change Representative Survey on Success and Failure in Managing Change Management
Business Intelligence Not a simple software development project
Business Intelligence Not a simple software development project By V. Ramanathan Executive Director, Saksoft Date: Mar 2006 India Phone: +91 44 2461 4501 Email: [email protected] USA Phone: +1 212 286 1083
Development of Enterprise Architecture of PPDR Organisations W. Müller, F. Reinert
Int'l Conf. Software Eng. Research and Practice SERP'15 225 Development of Enterprise Architecture of PPDR Organisations W. Müller, F. Reinert Fraunhofer Institute of Optronics, System Technologies and
Guidelines for Best Practices in Data Management Roles and Responsibilities
Guidelines for Best Practices in Data Management Roles and Responsibilities September 2010 Data Architecture Advisory Committee A subcommittee of Information Architecture & Standards Branch Table of Contents
An Automated Workflow System Geared Towards Consumer Goods and Services Companies
Proceedings of the 2014 International Conference on Industrial Engineering and Operations Management Bali, Indonesia, January 7 9, 2014 An Automated Workflow System Geared Towards Consumer Goods and Services
Best-Practice Software Engineering: Software Processes to Support Project Success. Dietmar Winkler
Best-Practice Software Engineering: Software Processes to Support Project Success Dietmar Winkler Vienna University of Technology Institute of Software Technology and Interactive Systems [email protected]
The Enterprise Project Management Office
The Enterprise Project Management Office A Conceptual Review Dick Patterson [email protected] 1 Report Overview Almost all enterprises are confronted by accelerating change. An effective, Enterprise
D6.1: Service management tools implementation and maturity baseline assessment framework
D6.1: Service management tools implementation and maturity baseline assessment framework Deliverable Document ID Status Version Author(s) Due FedSM- D6.1 Final 1.1 Tomasz Szepieniec, All M10 (31 June 2013)
Increasing frequency of releases to every week down from quarterly major releases
Continuous Delivery with Go enables an 87% improvement in release time, 85% reduction in test time and ROI of 6x in one of Germany s largest consumer portals. Increasing frequency of releases to every
Efficient Management of Tests and Defects in Variant-Rich Systems with pure::variants and IBM Rational ClearQuest
Efficient Management of Tests and Defects in Variant-Rich Systems with pure::variants and IBM Rational ClearQuest Publisher pure-systems GmbH Agnetenstrasse 14 39106 Magdeburg http://www.pure-systems.com
APPLYING CASE BASED REASONING IN AGILE SOFTWARE DEVELOPMENT
APPLYING CASE BASED REASONING IN AGILE SOFTWARE DEVELOPMENT AIMAN TURANI Associate Prof., Faculty of computer science and Engineering, TAIBAH University, Medina, KSA E-mail: [email protected] ABSTRACT
BUSINESS RULES AND GAP ANALYSIS
Leading the Evolution WHITE PAPER BUSINESS RULES AND GAP ANALYSIS Discovery and management of business rules avoids business disruptions WHITE PAPER BUSINESS RULES AND GAP ANALYSIS Business Situation More
Ensuring Contract Compliance through integration of Ariba Contracts and SAP ECC Michael Chavez and Sean Rhoades, Deloitte Consulting LLP
Orange County Convention Center Orlando, Florida June 3-5, 2014 Ensuring Contract Compliance through integration of Ariba Contracts and SAP ECC Michael Chavez and Sean Rhoades, Deloitte Consulting LLP
Software Engineering Compiled By: Roshani Ghimire Page 1
Unit 7: Metric for Process and Product 7.1 Software Measurement Measurement is the process by which numbers or symbols are assigned to the attributes of entities in the real world in such a way as to define
Data Modeling Basics
Information Technology Standard Commonwealth of Pennsylvania Governor's Office of Administration/Office for Information Technology STD Number: STD-INF003B STD Title: Data Modeling Basics Issued by: Deputy
Quantification and Traceability of Requirements
Quantification and Traceability of Requirements Gyrd Norvoll Master of Science in Computer Science Submission date: May 2007 Supervisor: Tor Stålhane, IDI Norwegian University of Science and Technology
Increasing Development Knowledge with EPFC
The Eclipse Process Framework Composer Increasing Development Knowledge with EPFC Are all your developers on the same page? Are they all using the best practices and the same best practices for agile,
Component visualization methods for large legacy software in C/C++
Annales Mathematicae et Informaticae 44 (2015) pp. 23 33 http://ami.ektf.hu Component visualization methods for large legacy software in C/C++ Máté Cserép a, Dániel Krupp b a Eötvös Loránd University [email protected]
Document management concerns the whole board. Implementing document management - recommended practices and lessons learned
Document management concerns the whole board Implementing document management - recommended practices and lessons learned Contents Introduction 03 Introducing a document management solution 04 where one
Task-Model Driven Design of Adaptable Educational Hypermedia
Task-Model Driven Design of Adaptable Educational Hypermedia Huberta Kritzenberger, Michael Herczeg Institute for Multimedia and Interactive Systems University of Luebeck Seelandstr. 1a, D-23569 Luebeck,
Keywords document, agile documentation, documentation, Techno functional expert, Team Collaboration, document selection;
Volume 4, Issue 4, April 2014 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com A Document Driven
Leveraging Standard Software from the Cloud with Service-Oriented EAM
Leveraging Standard Software from the Cloud with Service-Oriented EAM Helge Buckow, Hans-Jürgen Groß, Gunther Piller, Norbert Stumpf, Oliver F. Nandico, Johannes Willkomm, Alfred Zimmermann SOA Innovation
Improving Traceability of Requirements Through Qualitative Data Analysis
Improving Traceability of Requirements Through Qualitative Data Analysis Andreas Kaufmann, Dirk Riehle Open Source Research Group, Computer Science Department Friedrich-Alexander University Erlangen Nürnberg
Requirement Management with the Rational Unified Process RUP practices to support Business Analyst s activities and links with BABoK
IBM Software Group Requirement Management with the Rational Unified Process RUP practices to support Business Analyst s activities and links with BABoK Jean-Louis Maréchaux Software IT Specialist IBM Rational
Family Evaluation Framework overview & introduction
A Family Evaluation Framework overview & introduction P B Frank van der Linden O Partner: Philips Medical Systems Veenpluis 4-6 5684 PC Best, the Netherlands Date: 29 August, 2005 Number: PH-0503-01 Version:
Business Process Modeling with Structured Scenarios
Business Process Modeling with Structured Scenarios Doug Rosenberg ICONIX Software Engineering, Inc. In 2008, based on our experience with a number of business process engineering projects over the last
A Methodology for Development of Enterprise Architecture of PPDR Organisations W. Müller, F. Reinert
A Methodology for Development of Enterprise Architecture of PPDR Organisations W. Müller, F. Reinert Fraunhofer Institute of Optronics, System Technologies and Image Exploitation IOSB 76131 Karlsruhe,
Procurement Programmes & Projects P3M3 v2.1 Self-Assessment Instructions and Questionnaire. P3M3 Project Management Self-Assessment
Procurement Programmes & Projects P3M3 v2.1 Self-Assessment Instructions and Questionnaire P3M3 Project Management Self-Assessment Contents Introduction 3 User Guidance 4 P3M3 Self-Assessment Questionnaire
Contents. viii. 4 Service Design processes 57. List of figures. List of tables. OGC s foreword. Chief Architect s foreword. Preface.
iii Contents List of figures List of tables OGC s foreword Chief Architect s foreword Preface Acknowledgements v vii viii 1 Introduction 1 1.1 Overview 4 1.2 Context 4 1.3 Purpose 8 1.4 Usage 8 2 Management
Applying 4+1 View Architecture with UML 2. White Paper
Applying 4+1 View Architecture with UML 2 White Paper Copyright 2007 FCGSS, all rights reserved. www.fcgss.com Introduction Unified Modeling Language (UML) has been available since 1997, and UML 2 was
Development Process Automation Experiences in Japan
Development Process Automation Experiences in Japan Dr. Olaf Kath ikv ++ technologies ag Germany ikv++ technologies ag 2007 who we are core business optimization and automation of our customer s system
White Paper: Designing Resourceful Graphical User Interfaces (GUIs) for Healthcare Applications
Accelerate Development Reduce Time to Product Automate Critical Tasks White Paper: Designing Resourceful Graphical User Interfaces (GUIs) for Healthcare Applications The ASHVINS GROUP, Inc. 6161 Blue Lagoon
Appendix B Data Quality Dimensions
Appendix B Data Quality Dimensions Purpose Dimensions of data quality are fundamental to understanding how to improve data. This appendix summarizes, in chronological order of publication, three foundational
Design Specification for IEEE Std 1471 Recommended Practice for Architectural Description IEEE Architecture Working Group 0 Motivation
Design Specification for IEEE Std 1471 Recommended Practice for Architectural Description IEEE Architecture Working Group 0 Motivation Despite significant efforts to improve engineering practices and technologies,
» Kienbaum 360 Degree Feedback
» Kienbaum 360 Degree Feedback Develop leaders. Improve leadership quality. What we offer 2» The Challenge 3 Self-reflected, authentic, confident Why leadership quality is so important good leaders make
QUALITY CONTROL PROCESS FOR TAXONOMY DEVELOPMENT
AUTHORED BY MAKOTO KOIZUMI, IAN HICKS AND ATSUSHI TAKEDA JULY 2013 FOR XBRL INTERNATIONAL, INC. QUALITY CONTROL PROCESS FOR TAXONOMY DEVELOPMENT Including Japan EDINET and UK HMRC Case Studies Copyright
Business Process Management In An Application Development Environment
Business Process Management In An Application Development Environment Overview Today, many core business processes are embedded within applications, such that it s no longer possible to make changes to
IT Management with Enterprise Architecture
IT Management with Enterprise Architecture Draft version Pontus Johnson, Robert Lagerström, Mathias Ekstedt, and Magnus Österlind 2012 2.2 Modeling tutorial This section will guide you through a modeling
Talend Metadata Manager. Reduce Risk and Friction in your Information Supply Chain
Talend Metadata Manager Reduce Risk and Friction in your Information Supply Chain Talend Metadata Manager Talend Metadata Manager provides a comprehensive set of capabilities for all facets of metadata
Business Process Discovery
Sandeep Jadhav Introduction Well defined, organized, implemented, and managed Business Processes are very critical to the success of any organization that wants to operate efficiently. Business Process
A Process View on Architecture-Based Software Development
A Process View on Architecture-Based Software Development Lothar Baum, Martin Becker, Lars Geyer, Georg Molter System Software Research Group University of Kaiserslautern D-67653 Kaiserslautern, Germany
DEVELOPING REQUIREMENTS FOR DATA WAREHOUSE SYSTEMS WITH USE CASES
DEVELOPING REQUIREMENTS FOR DATA WAREHOUSE SYSTEMS WITH USE CASES Robert M. Bruckner Vienna University of Technology [email protected] Beate List Vienna University of Technology [email protected]
Business Architecture Scenarios
The OMG, Business Architecture Special Interest Group Business Architecture Scenarios Principal Authors William Ulrich, President, TSG, Inc. Co chair, OMG BASIG [email protected] Neal McWhorter, Principal,
Human-Readable BPMN Diagrams
Human-Readable BPMN Diagrams Refactoring OMG s E-Mail Voting Example Thomas Allweyer V 1.1 1 The E-Mail Voting Process Model The Object Management Group (OMG) has published a useful non-normative document
