Znanje o proizvodu koje podrazumijeva informacije o karakteristikama, funkcionalnim značajkama i korištenju proizvoda, zajedno sa znanjem o razvojnim projektima proizvoda je karakterizirano kompleksnim informacijskim ovisnostima i neplaniranim promjenama zahtjeva. S obzirom na rast softverskih aplikacija u različitim tehničkim sustavima, kompleksnost ovih sustava i njihovog razvoja kontinuirano se povećava. Kompleksni projektni sustav može se definirati i kao skup aktivnosti u industriji razvoja softvera, gdje se znanje o proizvodu, raspoložive tehnologije, zahtjevi i drugi faktori dinamički mijenjaju tijekom procesa razvoja. Neplanirane promjene proizvoda često produljuju proces razvoja i projekte također, stoga projektni menadžment zahtijeva detaljno planiranje i učinkovito ostvarenje uzastopnih iteracija, otkrivajući pritom informacijske međuovisnosti, izmjene proizvoda i druge faktore za procjenu optimalnog trajanja, troškova i kvalitete. Postojeća pomagala za donošenje odluka i metoda procjene pružaju djelomičan uvid u znanje projektnih sustava te nisu kadra dati jasne smjernice koja metoda ili kombinacija metoda je pogodnija za upravljanje kompleksnim projektnim sustavom u stvarnom, dinamičnom okruženju. Kao rezultat toga, ne postoji sustavan način među postojećim tehnikama odlučivanja s kojim bi projektni menadžment razriješio probleme upravljanja kompleksnim projektnim sustavima. Ovaj rad opisuje sustavni postupak za upravljanje kompleksnim projektnim sustavima, koji se temelji na spajanju dvaju metoda, s ciljem omogućavanja detaljnog uvida menadžmenta u dinamiku kompleksnog projektnog sustava. Prva metoda uključuje modeliranje kompleksnih odnosa između resursa i aktivnosti, koristeći preslagivanje tih elemenata s ciljem smanjenja povratnih veza. Druga metoda pruža uvid u dinamiku projektnog sustava izvođenjem simulacije temeljene na modelu dobivenog projektnog sustava iz prve metode. Odabrane metode, poznate su kao višedomenska matrica (MDM) i obojena Petrijeva mreža (CPN), u pravilu su korištene zasebno te kasnije povezane kako bi se unaprijed definirali učinci promjena u bilo kojoj fazi procesa. Dakle, glavna značajka ovog rada je uglavnom usmjerena na simulaciju dinamike projektnog razvojnog sustava s pomoću MDM i CPN modela, gdje kompleksni projektni sustav može biti analiziran u detalje, prateći promjene u stvarnom vremenu. Konačni rezultat pokazuje sveobuhvatan odnos između troškova, raspodjele resursa i vremena te omogućuje kontrolirano i učinkovito planiranje. Ti odnosi, potrebni za postizanje tražene kvalitete proizvoda, mogu se dobiti uzastopnim izvršenjem predloženih postupaka.
Due to the growth of software application in different technical systems, the complexity of software-based components in technical systems and their development continuously increases. Also, complex project system can be defined as a set of activities in the software development industry where the product knowledge, available technologies, requirements and other factors dynamically change during the development process. The processes in software development projects reflect the product-related knowledge. The product knowledge, which includes information about the characteristics, functional features and product use, together with knowledge about product development projects, are characterized by complex information dependencies and unplanned change of requirements. The unplanned dynamic product change requests often extend the development process and make the complexity of the project systems even more intricate, that often extend the development process and projects. So, project management require detailed planning and efficient realization running iterations, discovering information dependencies, product changes and other factors to estimate optimal duration, cost and quality. The existing decision making tools and estimation methods provide a partial insight into knowledge of project systems and give no clear guidance which method or combination of methods are more suitable to manage a complex project system in a real, dynamic environment. As a result, there is no systematic way for project managers to choose among the existing decision-making techniques for resolving problems in managing a complex project system. A large number of projects exceed their budget and schedule targets because of project delays caused by different types of rework, mostly iterations or feedbacks on repairing errors. About 13% to 70% (on average: 33%) of the total project time at Intel was rework. The planned iterations are considered as the repetitions of tasks to improve an evolving development process and quality of a product. The unplanned iterations of correcting wrong information also prolonging development time. Planning and managing large-scale projects are non-trivial and accurate rework prediction is challenging. The impact of process rework is difficult to determine and hard to estimate. Finally, the duration and costs of product development in the projects are difficult to estimate. Detailed planning of realization in complex software development processes is required in order to meet the specific requirements. Therefore, project managers need innovative models and methods to plan development projects. Hence, the complexity management is needful in the early phases of product design, where detailed system specifications are often impossible to manage. Motivation: The motivation of this research is to develop the method of model-based engineering procedure, that could be used as modelling and simulation technique to deal with the increasing complexity of development systems. The intention is facilitating the development process in assisting with all aspects of the complex system life cycle, where the different domains are encountered in the concept of the development cycle. This work describes a systematic procedure for managing complex project systems, which is based on a concatenation of two methods, aimed to allow managers a detailed insight into dynamics of a complex project system. The first method includes modelling complex relations between resources and activities, using relocation of these elements to minimize feedbacks. The second method provides an insight into the dynamics of a project system by performing a simulation based on the model of project system obtained by the first method. The chosen methods, known as the Multiple-Domain Matrix (MDM) and the Coloured Petri Net (CPN), typically exploited separately, are linked together to enable predefining the effects of a change in any phase of the process. So, the proposed method is used for managing dynamics of development processes represented by activity-based Design Structure Matrix (DSM), in the complex environment of a project system represented by the Multiple-Domain Matrix (MDM), but the focus is based on a procedure of the process optimisation with the conversion of the project elements from the MDM to Coloured Petri Nets (CPN) model. The main feature of this work is mainly focused on simulating the dynamics of a project development system using the MDM and CPN models, where a complex project system could be analyzed in detail, following changes in real time. The final result shows a comprehensive relationship among costs, resource allocation and time, and enables a controlled and efficient planning. These relations, necessary to accomplish requested product quality, can be obtained by sequential execution of the proposed methods. The aim is resource optimization achieved by successive simulations with different combinations of team parameters. Chapters: 1) Introduction The chapter introduces the knowledge about the system which is a motivation for the research. Complexity in software development are described, as well as the communication in a complex project environment. The need to develop sustainably is stated as a concern for environmental preservation by better use of all resources and actively contributing to the long-term social, economic and ecological stability of the community to which we belong. As the subject of scientific research is outlined through the definition and structure of the problem cause together with the aim and the scope of the research with reference to related works. Bearing in mind the subject of research, a fundamental scientific hypothesis has been set that by using complexity management (DSM and MDM) and dynamic system modeling by CPN tools, it is possible to model and simulate a complex project system of software development as a management support, with the aim of obtaining the highest quality software with minimal cost and optimal resource consumption. Also, the main hypothesis support arguments as well as research questions are listed. Finally, the expected scientific contribution is described together with the methodology of this research. Considering related work in this area, there are several analytical models that have been developed to characterize the timing of iterative design processes. None of these simulation models considers product changes. Anyway, there is the lack of formal definitions in the DSM literature regarding DSM-based simulations implementation, also an ambiguity of the logic interpretation from the DSM structure into a process. Also, there is a gap between the literature concerning activities sequencing based on DSM and the process modelling literature. Consequently, there is a lack of a consistent method of transforming a DSM-based project plan to a logically correct concurrent process model, especially in the case of iterative activities. So, the proposal described in this paper proved to be more practical and universal, since it uses the CPN for process specification and simulation. 2) Software Development in Complex Project Environment Chapter begins with the definition of complexity as a new paradigm in system perception, which is referred to as a system property, especially when it comes to organization as a complex system and its features. The need of software quality assurance through complexity management that has been emphasized as the guideline of sustainable software development. In the perception of the development process, it starts from the premise that the software development process should be developed parallel with the product development, in such a way that it is possible to change the requirements or project conditions at any time and re-optimize the complete proces together with the project plan based on these changes in the current situation. This approach should belong to the 5th level of Capability Maturity Model (CMM) which allows complete development process definition and control, traceability of subprocess actions, causal analysis and resolution, as such should be used for managing a complex project structure. 3) Modelling the Dynamics of the Project System The component approach in architecture building is introduced in this chapter together with complexity management of product structure for static modeling of a complex project system by DSM method. In the proposed method, DSM is used for planning the design process by avoiding unnecessary and undesirable iterations in development processes. The DSM is a research tool for analysing product knowledge, representing and analysing the architecture of an individual system. It is used to handle dependencies and relations between items. In the proposed method, it is used for planning the design process by avoiding unnecessary and undesirable iterations in development processes. The DSM based on the work activities is used for modelling a project schedule and process flow. In combination with people-based DSM, it is used for modelling organizational structure based on information flow among people in groups. An example of the development process is defined as an activity-based DSM domain in MDM. The activity-based DSM belongs to the time-based type of DSM, where the ordering of the rows and columns indicates a flow through time: earlier activities in a process appear in the upper left corner of the DSM and later activities appear in the lower right corner of the DSM. An ideal sequence of the activities in the DSM is generated by a sequencing algorithm in the partition process that analyses and reorders time-dependent items. It implies rearranging of the DSM rows and columns for the elimination of any feedback marks or moves them as close as possible to the diagonal to minimize feedbacks. The algorithm identifies activities which do not provide any information to other elements in the matrix, so it places them at the bottom of the DSM. Partitioning shows dependencies in terms of how they must be performed, e.g. which activities can be performed in sequence, parallel or in combination when the blocks are coupled. By the partitioning, relations between activities are identified in terms of the level of sequencing or parallelization, so the major outcome is an identification of feedback loops and reworks. The partitioned activity-based DSM is arranged into the MDM together with the people-based DSM, which constitutes the team domain. The people-based DSM belongs to a static type of DSM. It represents systems where all the elements exist simultaneously, such as working groups in an organization or components of a product. Although, the MDM can describe the relationships and structure of a distributed project system, but it cannot provide a dynamic analysis of the system behaviour for different conditions in different circumstances. The two domains of the MDM represent a project development system, which are converted to CPN model for simulation. Such representation of the project system is suitable for easy conversion to a CPN model, using a few invented universal rules of conversion, to enable dynamic analysis of the system. CPN is used for dynamic modelling of development process derived from the DSM to predict the process behaviour regarding defined initial project conditions by simulation. CPN is a discrete-event modelling language for constructing models of concurrent systems and analysing their properties, introduces a more comprehensive approach that enables modelling of complete dynamics, including feedbacks based on complex stochastic calculations. It offers the option of a dynamic insight into the behaviour of project system in relation to other domains, such as participation and consumption of human resources during process activities. So, a high simulation performance is achieved by conversion of the MDM to the CPN model to give satisfying process and project estimations to project management. Finally, a redefinition of the project system structure is shown based on changes caused by new requirements in the product or development process. 4) Implementation and Validation of the Method The real power of the method are shown by the simulation of complex project system from business environment of information industry. Multiple simulations of the same project model calculate structure and the number of team members, which can develop the requested product with the minimum teamwork. That optimal structure is calculated by changing the initial conditions of a development team for a defined product development procedure, within a specified time, with a minimum cost. The results of 72 simulations are obtained by the combination of the initial team parameters that have changed for each simulation. It is about the number of the designers, testers and configuration manager in the team. The results are sorted into 9 groups by 8 measurements in order to find the optimal size and structure of the development team that can develop the requested product with the minimum teamwork. The case of optimal product development is used for further analysis that include work distribution, role usage and various analyses of the process dynamics of product development. Conclusion: This research presents the method of simulation a complex development project system using the MDM and CPN methodes. The intention was to propose a methodology for deep and precise insight in dynamics of the process stages. The goal is to show a comprehensive relationship among costs, resource allocation and development time, i.e. to enable a controlled and efficient planning in real time. The special focus is put on conversion procedure of MDM project model into CPN, to achieve dynamic analysis of the complex project system. The MDM shows a project system and enables a project management to model, visualize, and analyse the dependencies in a project system to discover and avoid unwanted iterations in development processes. Specifically, MDM is created from two DSM: the first representing development activates and their relations, the second representing team members and their working roles. The proposed conversion procedure shows the fixed topology of the converted CPN model is independent of a DSM rearrangement, but depends on the number of activities in activity-based DSM. Considering the related works, the described method of transforming MDM to CPN, as a concurrent process model, has a consistent logic that supports iterative activities and it is defined by rules of formal description. Generally, all information about relations among elements in the MDM are contained in arc inscriptions of the CPN model. Every rearrangement of the elements will change the conditions defined in the arc inscriptions, but not the topology of the CPN model. A special type of arc inscriptions is introduced as a stochastic mechanism of branching in activities that contain the feedback. Based on simulations, project management can predict costs, quality and development time, find impacts of rework, easily estimate project delays, and promptly manage change requests. The example of small development project simulation illustrates the estimation of product development time for different structures of team members, finding occupancy and the structure of development team which can develop the product with the lowest cost. The described method can provide the support in managing product change requests. That should be performed each time when a change requirement of the product has appeared, in order to find the optimal team or recalculate how long the project will be extended in that case. That can reduce the uncontrolled development planning, finds impacts of rework and estimate project delays in a very early planning phase, that positively affects the savings of time, resources, and increases the product quality. Some implementation problems are identified related to large projects over several hundred activities. It is about the limitation of CPN Tools on the size of the model which can be eliminated by developing the appropriate application support. Also, the large size of the model suggests a need for the automation of the entire conversion procedure from MDM to CPN.