=Paper=
{{Paper
|id=Vol-1564/paper10
|storemode=property
|title=Continuous Requirements Engineering in FREEDOM Framework: A Position Paper
|pdfUrl=https://ceur-ws.org/Vol-1564/paper10.pdf
|volume=Vol-1564
|authors=Marite Kirikova
|dblpUrl=https://dblp.org/rec/conf/refsq/Kirikova16
}}
==Continuous Requirements Engineering in FREEDOM Framework: A Position Paper==
Continuous Requirements Engineering in the FREEDOM Framework: a Position Paper Marite Kirikova Riga Technical University, Latvia marite.kirikova@rtu.lv Abstract. Continuous change, which, nowadays, is a commonly accepted feature of both business and technical environments, requires continuous change in a business and its supporting systems, including information technology solutions. This, in turn, leads to the need for continuity also in the realm of requirements engineering. It is necessary to be aware whether it is necessary to change the requirements, why and when this should be done; and how to handle the related changes in the environment, business, system, systems development process, and systems maintenance. To find out how to answer at least part of these questions, the FREEDOM framework is established by analyzing different configurations of work systems and also information and knowledge flows in a viable systems model. The paper focuses on propagation and feedback relationships among the requirements engineering function and other constituents of the FREEDOM framework. Keywords: requirements engineering, continuous engineering, future state model, as-is state model, solution engineering, design. 1 Introduction In the situation when the business environment changes very rapidly, new approaches to systems development are needed. One of the solutions is agility. However, agility alone can cause chaotic systems growth [1]. Therefore, it is not surprising that more and more attention is currently paid to different variations of systems engineering, such as Enterprise Engineering, Security Engineering, Usability Engineering [2], etc. Engineering is recognized by organized, transparent, and responsible statement and achievement of systems development goals, regardless of whether the system under consideration is a physical one, a technical one, or even an abstract combination of thoughts (idea system). However, traditionally we may understand engineering as a process, which strictly starts with requirements elicitation, and then follows all V model steps down to detailed design and testing and then up to validation [3]. This might be very clear and "one dimensional" if the system is built from scratch. However, nowadays, one of the main challenges is that several evolving systems are working in concert requiring agile and continuous adjustments in organizational strategies, policies, processes, and supporting information technology. As a result, such notions as continuous engineering [4], continuous software engineering [5], DevOps [6], continuous requirements engineering [7] and the like are emerging. Focusing on requirements engineering, the question arises, how continuous requirements engineering relates to other types of engineering and other phenomena in the contemporary rapidly changing multi-systems environment. To seek answers to this question we propose and then use the FREEDOM framework, which has emerged from related research in worksystems based systems engineering and systems viability [8]. The framework is introduced in Section 2. Afterwards the continuous requirements engineering, as a constituent of the FREEDOM framework, is discussed in Section 3. Brief conclusions are presented in Section 4. 2 FREEDOM Framework The FREEDOM framework has the following constituents (see Figure 1): F - Future representation, R - Reality representation, E1 - requirements Engineering, E2 - fulfillment Engineering, D - Design and implementation, O - Operations, and M - Management. Fig. 1. FREEDOM framework The constituents of the framework should be viewed as functions with changeable granularity, e.g., E2 - fulfillment Engineering can be fully "moved into (inside of)" E1 - requirements Engineering, and form function EE - requirements Engineering and fulfillment Engineering; or D - Design and implementation can be fully "moved into" E - fulfillment Engineering and form function ED - fulfillment Engineering, Design and implementation; and so forth. F - Future representation is the constituent of the framework that is responsible for representation of the To-Be situation, i.e., the representation of a vision of the target system in its context. Artifacts that are developed by this function are mainly different enterprise models [9, 10], enterprise architecture development artifacts [11], project plans, design documents, and even results of predictive analytics [12], that represent and characterize an envisioned future situation. These artifacts may be developed by F itself and also can be contributed by other constituents of the FREEDOM framework (see Figure 2 and green arrow in Figure 1). R - Reality representation is responsible for all artifacts that represent the present (As-Is) situation. The types of these artifacts are similar to those of F, with just the difference that here the information is about the current situation. Like in F, the contents may be developed by R itself or by other constituents of the FREEDOM framework. Information available in databases, warehouses, and other IT systems also may belong to R. The mapping and traceability between F and R is to be established and maintained - this is one of the challenges of contemporary enterprises. Fig. 2. Contribution of different FREEDOM constituents to the Future representation E1 - requirements Engineering is the function dedicated to the model and tool based acquisition and management of high quality requirements that can be used by functions on the right from E1. E1 to a large extent can help to meet the challenge mentioned in the previous paragraph. It also can richly contribute to F and R. E2 - fulfillment Engineering is the function that takes care of handling project portfolios, that would lead to the fulfillment of stated requirements. It is common to put the design next to the requirements engineering [2]. However, we have to take into consideration that the requirements engineering, design, and implementation are often distributed and overlapping nowadays and include cross-cutting concerns, e.g., security [13, 14]; therefore, there should be engineered process(es) that take care of their continuous alignment, flexibility, and quality. In simpler cases E2 can be included in (merged with) E1 or it can include (be merged with) D. D - Design and implementation is the function that produces the design and handles implementation of the target system. The border between the design and implementation may be more or less strict depending on the fulfillment strategies, methods, chosen lifecycles, and guidelines established in E2. O - Operations regard the actual operation of the implemented system, including its maintenance. M - Management refers to all levels of management under which the target system operates. The management can influence both the reality and its representation function R (see brown arrow in Figure 1) and the future vision and its representation function F (see green arrow in Figure 1). It is assumed that knowledge continuously propagates from E 1 towards O in a managed and transparent way. It is also assumed that each function can acquire information from other functions and can provide feedback to other functions. The management function can provide direct requests for actions to all other functions. All functions can have the capability to acquire information from the wider external environment beyond the reach of F and R. In the next section we will look more closely at how E1 deals with information in the case of continuous requirements engineering. 3 Continuous E1 From the functional point of view requirements engineering is an information processing function. Therefore, embedment of continuous requirements engineering in the FREEDOM framework will be discussed from the point of view of "information relationships" between requirements Engineering (E1), which in this case is continuous requirements engineering; and other constituents of the framework. The "information relationships" are represented in Figure 3, however, here the information and knowledge flows between F and other elements of the framework, R and other elements of the framework, and some other "information relationships" are not shown for the sake of clarity of representation. These flows are shown in Figure 1 and Figure 2 (Figure 2 represents only flows with respect to F, but the representation of the flows for R is very similar). Fig. 3. Continuous requirements engineering in FREEDOM framework (ma - monitoring and analytics, maa - monitoring, analytics, and audit) The following information relationships must exist in the framework to ensure continuity of requirements engineering: Knowledge forward propagation from requirements Engineering to other constituents of the model: E1→E2, E1→D, E1→O, E1→M, E1→R (these relationships are not shown in Figures 1-3), and E1→F (shown in Figure 2). In other words, the direct knowledge flow from E1 to other FREEDOM constituents must be ensured. Knowledge supply from F and R: both future representations and reality representations should be available for E1 (see Figure 1). Feedback information from all constituents of the framework: F→E 1, R→E1, E2→E1, D→E1, O→E1, M→E1. By feedback information we understand here evaluative information about activities or artifacts of E1. Information to be acquired by monitoring, applying analytics to, and auditing other constituents of the framework, namely, F, R, E2, D, and O, as well as by monitoring and applying analytics to the wider external environment (as requirements engineering should be aware of scientific discoveries, new available technologies, competitive solutions, etc.). Requests from management (M), which can directly provide information about necessary deliverables of E1. The above list of "information relationships" shows the spectrum of information handling variability in continuous requirements engineering. Taking into consideration this spectrum, it is clear, first, that continuous requirements engineering has to deal with complex information handling tasks; second, handling of these tasks requires appropriate IT tool support; and, third, the handling of the information will require manual, semi-automatic, and fully automatic functions. Another issue to be taken into consideration is the fact that the structure (granularity of constituents - see Section 2) of the FREEDOM framework can change according to particular enterprise and project situations. This may require a different number of constituents with which the "information relationships" are established, but it should not exclude any of the relationships mentioned in the list presented above. 4 Conclusions With the purpose to better understand the phenomenon of continuous requirements engineering, this paper analyzed the continuous requirements engineering function in the context of the FREEDOM framework, which has emerged from related research in worksystems based systems engineering and systems viability. The use of the framework helped to identify main information units to be handled by continuous requirements engineering. To some extent, it also allows assessment of the complexity and variability of the tasks of continuous requirements engineering. We can conclude that, besides the regular "duties" of requirements engineering [15], the following issues have to be considered in continuous requirements engineering: Continuous requirements engineering has to have such capabilities as knowledge propagation, monitoring, analytics, and auditing. As can be derived from the above, continuous requirements engineering must be both reactive and predictive concerning user needs, possible innovative solutions, and possible fulfillment, design, implementation, and operation problems. Continuous requirements engineering has to be able to handle a wide variety of knowledge and information flows related to other functions of systems development, operations (including maintenance), and management. Continuous requirements engineering has to be flexible with respect to the number and granularity of other functions belonging to the same functional ecosystem, as well as with respect to its own modes of functionality (manual, semi-automatic, automatic). The complexity of the tasks requires appropriate support tools for continuous requirements engineering. In this position paper only "What?" with respect to continuous requirements engineering was considered. The detailed proposals of how to integrate all issues discussed in this paper in continuous requirements engineering processes is the subject of further research. Acknowledgment This work is supported in part by the Latvian National research program SOPHIS under grant agreement Nr.10-4/VPP-4/11. References 1. Haunts, S.: Advantages and disadvantages of agile software development (2014). Available at: https://stephenhaunts.com/2014/12/19/advantages-and-disadvantages-of-agile-software- development/ 2. Richter, M., Flückiger, M.: User-Centred Engineering, Springer (2014) 3. Clark, J.O.: System of Systems Engineering and Family of Systems Engineering from a standards, V-Model, and Dual-V Model perspective, Systems Conference, 2009 3rd Annual IEEE, pp. 381–387. Available at: http://dx.doi.org/10.1109/SYSTEMS.2009.4815831 4. The competitive advantage of continuous engineering, IBM white paper. Available at: http://public.dhe.ibm.com/common/ssi/ecm/ra/en/raw14358usen/RAW14358USEN.PDF 5. Continuous Software Engineering, Bosch, J. (ed.), Springer (2014) 6. Virmani, M.: Understanding DevOps & bridging the gap from continuous integration to continuous delivery. Proceedings of INTECH 2015, IEEE (2015) 7. Kirikova, M.: Enterprise Architecture and Knowledge Perspectives on Continuous Requirements Engineering. Proceedings of REFSQ-2015 Workshops, Research Method Track, and Poster Track co-located with REFSQ 2015, Essen, Germany, March 23, 2015. CEUR-WS.org, Vol. 1342, ISSN 1613-0073, pp. 44–51, CEUR (2015) 8. Kirikova, M.: Work Systems Paradigm and Frames for Fractal Architecture of Information Systems. CAiSE Forum 2014, Thessaloniki, Greece, June 16–20, 2014, Selected Extended Papers. Information Systems Engineering in Complex Environments, Vol. 204, Lecture Notes in Business Information Processing, pp. 165–180, Springer (2015). Available at: http://dx.doi.org/10.1007/978-3-319-19270-3_11 9. Sandkuhl, K., Stirna, J., Persson, A., Wißotzki, M.: Enterprise Modeling Tackling Business Challenges with the 4EM Method, Springer (2014) 10. Seigerroth, U.: The Diversity of Enterprise Modeling – a Taxonomy for Enterprise Modeling Actions. Complex Systems Informatics and Modeling Quarterly, CSIMQ, No. 4, pp. 12–31 (2015). Available at: http://dx.doi.org/10.7250/csimq.2015-4.02 11. TOGAF® 9.1: Part II: Architecture Development Method (ADM). Introduction to the ADM, 1999–2011. Available at: http://pubs.opengroup.org/architecture/togaf9- doc/arch/chap05.html 12. Finlay, S.: Predictive Analytics, Data Mining and Big Data: Myths, Misconceptions and Methods, Springer (2014) 13. Kaiser, B., Weber, R., Oertel, M., Böde, E., Monajemi Nejad, B., Zander, J.: Contract- Based Design of Embedded Systems Integrating Nominal Behavior and Safety. Complex Systems Informatics and Modeling Quarterly, CSIMQ, No. 4, pp. 66–91, ISSN 2255-9922 (2015). Available at: http://dx.doi.org/10.7250/csimq.2015-4.05 14. Schmitt, C., Liggesmeyer, P.: Getting Grip on Security Requirements Elicitation by Structuring and Reusing Security Requirements Sources. Complex Systems Informatics and Modeling Quarterly, CSIMQ, No. 3, pp. 15–34, ISSN 2255-9922 (2015). Available at: http://dx.doi.org/10.7250/csimq.2015-3.02 15. Pohl, K.: Requirements Engineering - Fundamentals, Principles, and Techniques, Springer (2010)