[72], since projects exhibit the characteristics of complex systems, the method to manage them cannot be predicted in advance, it will emerge from the interactions between the project elements and the environment. It may also involve seeing beyond our product for considering the larger journey on which is user’s there- even before they arrived at the products. Temporal complexity results in projects where due to unexpected legislative changes of rapid changes in technology, there is a high level of uncertainty regarding future constraints that could destabilize the project. Sommer and Loch [12] treat complexity and unforeseeable uncertainty as separate constructs. It can be done by shaping our documentation around schemes that the user already uses for categorizing each information into segments. All these works highlight the importance of complexity in project contexts in general and in particular its effects on project goals and objectives, project organization form and arrangement, and in the experience requirements for the management personnel. For all practical purposes, a project manager deals with perceived complexity as he cannot understand and deal with the whole reality and complexity of the project. QA leverages the various numbers of metrics which also include defect metrics and test coverage metrics. Technical complexity is found in architectural, industrial design, and R&D projects which have design characteristics or technical aspects that are unknown or untried and where complexity arises because of the uncertainty regarding the outcome for many independent design solutions [51]. Context’s characteristics, leader’s job, danger signals, and response to danger signals. In this paper, we give a general overview of how complexity has been investigated by the project management community and propose several ideas to address this topic in the future. Therefore, some of the tools are a great platform on which we can build our software systems, but at the end of the day, you are still left to build all the business logic and interfaces in our increasingly complex and demanding system. U. Steger, W. Amann, and M. L. Maznevski, R. E. Levitt, J. Thomsen, T. R. Christiansen, J. C. Kunz, Y. Jin, and C. Nass, “Simulating project work processes and organizations: toward a micro-contingency theory of organizational design,”, E. C. Conforto, E. Rebentisch, and D. Amaral, “Learning the art of business improvisation,”, A. Jaafari, “Project management in the age of complexity and change,” in, J. Pollack, “The changing paradigms of project management,”, J. R. Turner and R. A. Cochrane, “Goals-and-methods matrix: coping with projects with ill defined goals and/or methods of achieving them,”, T. Williams and D. Hillson, “Editorial–PMI Europe 2001,”, D. J. Snowden and M. E. Boone, “A leader’s framework for decision making,”, A. J. Shenhar, “Strategic project management: the new framework,” in, A. J. Shenhar and D. Dvir, “Toward a typological theory of project management,”, T. B. Clift and M. B. Vandenbosch, “Project complexity and efforts to reduce product development cycle time,”, T. Little, “Context-adaptive agility: managing complexity and uncertainty,”, T. M. Williams, “The need for new paradigms for complex projects,”, A. J. Shenhar, “One size does not fit all projects: exploring classical contingency domains,”, R. Atkinson, L. Crawford, and S. Ward, “Fundamental uncertainties in projects and the scope of project management,”, R. Müller, J. G. Geraldi, and J. R. Turner, “Linking complexity and leadership competences of project managers,” in, O. Perminova, M. Gustafsson, and K. Wikström, “Defining uncertainty in projects–a new perspective,”, T. Williams, “Assessing and moving on from the dominant project management discourse in the light of project overruns,”, J. H. Payne, “Management of multiple simultaneous projects: a state-of-the-art review,”, A. Laufer, G. R. Denker, and A. J. Shenhar, “Simultaneous management: the key to excellence in capital projects,”, A. K. Pundir, L. Ganapathy, and N. Sambandam, “Towards a complexity framework for managing projects,”, H. Singh and A. Singh, “Principles of complexity and chaos theory in project execution: a new approach to management,”. A complex collection of interactive units jointly performing a wide range of functions(iii)Scope 3: Array. Review articles are excluded from this waiver policy. This is very simple. In a similar context, Vidal and Marle [11] define project complexity as that property of a project which makes it difficult to understand, foresee, and keep under control its overall behaviour. Plus, it enables software reuse among multiple applications to reduce the complexity of vehicle software development and ease the burden for Tier 1s and carmakers. External influences can either be political or market-related changes, while internal influences come from changes in strategy, in individual behaviour, etc. Remington et al. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. Next, some of the most relevant complexity models in the project management literature will be revised. Project complexity is determined in my organization by evaluating project attributes using the seven criteria listed below: 1. However, whileno complex projects have standards that are recognized to guide their management,complexprojects do not have guides to deal with their complexity. Size has traditionally been considered the primary cause of complexity in organizations [37–40]. According to the author, if there are limits to what we can know about our organization, there are limits to what we can achieve in a predetermined and planned way. On the contrary, if it is too complex, it can be useless to project managers. The most important lesson to draw from these models is that software development is at least ‘complicated’, probably ‘complex’ and occasionally ‘chaotic’ on the product- or project-level. An understanding of project complexity and how it might be managed is of significant importance for project managers because of the differences associated with decision-making and goal attainment that appear to be related to complexity [8, 9]. Girmscheid and Brockmann [34] argue that any difference between a complicated project and a complex project has to do with the number of elements as opposed to the relationships between the elements (complex). It can be prevented by vulnerabilities from being introduced into the source code. The one, usually known as the field of descriptive complexity, considers complexity as an intrinsic property of a system, a vision which invited researchers to try to quantify or measure complexity. 2018, Article ID 4891286, 10 pages, 2018. https://doi.org/10.1155/2018/4891286, 1Project Management Research Group, Universidad de Cantabria, Santander 39004, Spain, 2Department of Naval and Industrial Engineering, GEM, Universidade da Coruña, Ferrol 15403, Spain, 3Escuela Técnica Superior de Náutica, Universidad de Cantabria, Santander 39004, Spain. Projects based on existing and well-established technologies(ii)Medium-Technology Projects. Pich et al. The complex and chaotic domains do not have a clear cause and effect relationship, and decisions must be made based on incomplete data. He introduces the U-process as a methodology for addressing complex challenges and distinguishes complexity in three ways: (i) dynamic complexity: the cause and effect of complexity are far apart and it is hard to grasp from first-hand experience; (ii) generative complexity: a situation where the solution cannot be calculated in advance based only on what has worked in the past; and (iii) social complexity: the people involved who have different perspectives and interests must participate in creating and implementing the solution. How complexity is perceived and interpreted by project managers may result in different types of project complexity. The importance of complexity to the project management process is widely acknowledged for several reasons [1–8]: (i) it influences project planning, coordination, and control; (ii) it hinders the clear identification of goals and objectives of major projects; (iii) it can affect the selection of an appropriate project organization form and experience requirements of management personnel; (iv) it can be used as criteria in the selection of a suitable project management arrangement; and (v) it can affect different project outcomes (time, cost, quality, safety, etc.). Complexity measures offer great potential for con- taining the galloping cost of software development and maintenance. Furthermore, uncertainty has been broken down into four levels of technological uncertainty (low-, medium-, high-, and super high-technology projects). Any problem you’re trying to solve with software has some level of inherent complexity. So, if your code has a cyclomatic complexity value over 10, you shouldn’t hesitate to try and fix it right away. Part of the literature has focused on uncertainty [32, 63]. If the model is too simple, it is not enough close to reality. Finally, the current and the future management approaches to address this topic in the future are proposed. Complexity and Project Management: A General Overview, Project Management Research Group, Universidad de Cantabria, Santander 39004, Spain, Department of Naval and Industrial Engineering, GEM, Universidade da Coruña, Ferrol 15403, Spain, Escuela Técnica Superior de Náutica, Universidad de Cantabria, Santander 39004, Spain, Low-Technology Projects. The context and environment under which the project is undertaken can be an essential feature of complexity. In this carefully chosen example, the volume of work (licking 1,000 stamps and one snip to some part of the brain) and the complexity of that work combine such that each will take the same amount of time. But decreasing the amount of cost it takes for building software involves many other avenues which do not require making languages more expressive. Pich et al. [32] associate categories of uncertainty with variations, foreseen uncertainty, unforeseen uncertainty, and chaos. The origins of complexity theory applied to project management can be traced back to the works by Morris [1, 2], Bennet and Fine [3], Bubshait and Selen [4], Bennet and Cropper [5], Gidado [6], Wozniak [7], and Baccarini [8]. Development testing metrics empowers the development with automated test and analysis the hidden defects to provide objective risk assessment to the organization regarding the quality of the source code. The positive influence is due to the apparition of phenomena that could not be predicted due to the sole knowing, even complete, of the behaviour and interactions of the elements of the system. A taxonomical examination from literature,”, R. V. Ramasesh and T. R. Browning, “A conceptual framework for tackling knowable unknown unknowns in project management,”, S. M. Qureshi and C. Kang, “Analysing the organizational factors of project complexity using structural equation modelling,”, F. C. Saunders, A. W. Gale, and A. H. Sherry, “Conceptualising uncertainty in safety-critical projects: a practitioner perspective,”, S. Sinha, A. I. Thomson, and B. Kumar, “A complexity index for the design process,”, J. S. Russell, E. J. Jaselskis, and S. P. Lawrence, “Continuous assessment of project performance,”, P. R. Lawrence and J. W. Lorsch, “Differentiation and integration in complex organizations,”, E. Custovic, “Engineering management: old story, new demands,”, M. V. Tatikonda and S. R. Rosenthal, “Technology novelty, project complexity, and product development project execution success: a deeper look at task uncertainty in product innovation,”, M. T. Pich, C. H. Loch, and A. D. Meyer, “On uncertainty, ambiguity, and complexity in project management,”, S. Ward and C. Chapman, “Transforming project risk management into project uncertainty management,”, G. Girmscheid and C. Brockmann, “The inherent complexity of large scale engineering projects,”, K. A. Richardson, “Managing complex organizations: complexity thinking and the science and art of management,”, K. I. Gidado, “Project complexity: the focal point of construction production planning,”, J. M. Beyer and H. M. Trice, “A reexamination of the relations between size and various components of organizational complexity,”, P. De Meyer, F. Maes, and A. Volckaert, “Emissions from international shipping in the Belgian part of the North Sea and the Belgian seaports,”, A. R. Meyer and L. J. Stockmeyer, “The equivalence problem for regular expressions with squaring requires exponential space,” in. [9] defines a complex project as one that demonstrates a number of characteristics to a degree or level of severity that makes it extremely difficult to predict project outcomes, to control or manage the project. That means all software development has intrinsic project complexity, simply because it exists, if you will. Kahane’s [56] approach to complexity is deeply rooted in a social environment. Since software is needed almost everywhere today, its development is a highly intelligent and precise process, involving various steps. Operative complexity, i.e., the degree to which organizations of the project are independent when defining their operations to achieve given goals, and cognitive complexity which identifies the degree to which self-reflection, sense-making processes, the emergence of an identity, or even an organizational culture is possible, are also different types of complexity identified in the literature [36]. Pollack and Remington and Pollack [50, 51] emphasize that a clear distinction on the type of complexity helps in selecting the appropriate model to manage a project. 6 Stages of Software Development Process “ As the world became more and more dependent on technology with each passing day, software automatically became an important organ for development. Flux is affected by external and internal influences. It is often unclear which test required being run, what the status of each test is, and who the owner of the test results. Life-cycle size for cost, 2. The pace of software development often slows down as the product matures. Table 1 shows the main factors that are considered in the literature as drivers of project complexity. It explains why there is a need for a variety of technologies and a given level specialization in each of them. Baccarini [8] proposes to define technological complexity in terms of differentiation and interdependencies. In part one, I covered the technical debt side of sustainable software development. Some of these techniques involve embedding journey maps which can carry users through the process from start to end. A complex collection of interactive units jointly performing a wide range of functions, Scope 3: Array. Directional complexity is often found in change projects where the direction of the project is not understood and when it is clear that something must be done to improve a problematic situation [51]. [9] group a number of factors that seem to contribute to the perception of project complexity under the following headings: goals, stakeholders, interfaces and interdependencies, technology, management process, work practices, and time. Meaning, if one does not currently have the ability to handle complexity at the level required of a certain position, no amount of training, coaching, or personal will can change it. Atkinson et al. The simple and complicated domains are characterized by cause and effect relationships, and right answers can be determined based on facts. Tatikonda and Rosenthal [31] and Pundir et al. Consequently, the software delivered to the organization is too frequently short on a quality basis, innovation and meeting business expectations.This helps to translate putting quality and its associated activities at the middle of the software lifecycle. The increasingly fast-paced systems of today’s business and social environment, characterized by discontinuity and change, force organizations to make decisions and take the corresponding actions based on multiple unknown variables. Projects that, although confined to a limited time-frame, still can achieve their objectives, Fast-Competitive Projects. and Müller et al. Baccarini [8] considers technological and organizational complexities as the core components of project complexity. And this translated to money at the end. The last domain, disorder, is applied when it is unclear which of the four is dominant and is tackled by breaking it down into smaller components and then assigning them to the other four domains. Project complexity can also be interpreted and operationalized in terms of differentiation (number of elements in a project) and interdependencies and connectivity (degree of interrelatedness between these elements), which are managed by integration, that is, by coordination, communication, and control [1, 8, 26–29]. As software shifted from being a business enabler to a competitive business differentiator, there is a rise in emphasizing the software quality for protecting the brand which did not evolve. It's not that the people I'm talking to are stupid, they're quite honestly people at the top of their respective (non-tech) fields. So complexity is a factor in the number of story points assigned, but only to the extent to which that complexity increases the expected effort. Product development projects belong to type 2, while application software development and R&D and organizational change projects belong to type 3 and type 4 projects, respectively. In a software development project, the life cycle activities not only intellect-intensive, but each member has to typically interact, review the work done by other members and interface with several other team members creates various complexity to manage software projects. Project organization complexity, 4. (i)Low-Technology Projects. Other approaches used to deal with complexity in project management contexts include systems theory to help understand how different aspects affect the project as a system [8, 51, 55]. Structural complexity stems from large-scale projects which are typically broken down into small tasks and separate contracts. Vague enough definitions allow for creativity and selectivity for the people doing the work.” But he seems to suggest some complexity could be reduced by carefully and thoughtfully examining the whole software development process. In addition, all project participants including owners, managers, contractors, and consultants must be clear about these goals and objectives. A collection of components in a single unit, performing a well-defined limited function(ii)Scope 2: System. The increased complexity had led to high numbers of software project failures in terms of time, cost quality etc. We begin by discussing the different definitions of complexity in project contexts. If we compare a developer and a tester, then for a developer the configuration becomes trivial but for the tester it becomes absolutely complex. Organizational and interactive management is one of the riskiest parts of a project. An understanding of project complexity and how it might be managed is of significant importance for project managers because of the differences associated with decision-making and goal attainment that are related to complexity. According to Parsons-Hann and Liu [10], it is evident that complexity contributes to project failure in organizations; what is not clear is to what degree this statement holds true. According to [25, 34], four different types of project complexity, overall, task, social, and cultural, help to best understand and prevent projects from failure. In software development, each of the team members are responsible for the quality work and by making every team member responsible for the quality software, all team members must be able to prove his or her work on the software moving towards the finished product in the right direction. Baccarini [8] categorizes technological complexity in terms of differentiation and interdependence, which is further categorized into three types given in an ascending order of complexity: (i) pooled, in which each element gives a discrete contribution to the project; (ii) sequential, where one element’s output becomes another’s input; and (iii) reciprocal, where each element’s output becomes inputs for other elements [51, 52]. Payne [70] takes a perspective which combines difficulty and systems thinking, associating complexity with the multiple interfaces between individual projects, the organization, and the parties concerned. In this work, the main project compl… Projects based on non-yet existing technologies in which, although the project goal is clear, no technology is known to achieve the final product, Scope 1: Assembly. Risk, 6. A large collection of systems functioning together to achieve a common purpose, Regular Projects. Table 2 shows the characteristics of each context, the leader’s job, the danger signals, and the response to these danger signals [57]. Broadly speaking, technology can be defined as the transformation process which converts inputs into outputs using materials, means, techniques, knowledge, and skills [8, 26]. Then, the different types of project complexity and the main project complexity models are presented. L. M. Corbett, J. Brockelsby, and C. Campbell-Hunt, R. Dewar and J. Hage, “Size, technology, complexity, and structural differentiation: toward a theoretical synthesis,”. Well at that point, you’re now well into the “complex code” territory. In this type of projects, since time to market is directly associated with competitiveness, missing the deadline might not be fatal but it could hurt competitive positions(iii)Critical-blitz projects are the most urgent and most time-critical projects in which meeting schedule is critical to success and project delay means project failure. To achieve this objective, more integrated approaches for managing projects in complex environments and new methods of planning, scheduling, executing, and controlling projects must be investigated. One’s ability to handle complexity is not static. It can be an essential feature of complexity. Without the development platform, executives and the managers manually seek out the information and the potential risks about the application under development and test which makes it subjective assessment about the status of an application with the organization. They must be adequately and properly defined both at a strategic and at an operational level. Substantial relationships have been found in both cross-sectorial and longitudinal studies in many different samples of organizations between size and various components of complexity such as personal specialization, division of labor, and structural differentiation [38]. Overall and task complexity can be managed by a functional organization with decentralized decision-making and social complexity by trust and commitment, whereas cultural complexity by sense-making processes. The tasks to simplify the software development services complexity is even more daunting tasks in the landscape of developer and API documentation. Typically, engineering and construction projects fall within the category of type 1 projects. Snowden and Boone [57] developed the Cynefin framework, which allows executives to see new things from new viewpoints, assimilate complex concepts, and address real-world problems and opportunities. Social complexity describes the number of members communicating and working with each other and the differentiation of their tasks, while cultural complexity encompasses the number of different historical experiences and sense-making processes that confront each other in a project. They concluded that project managers were more concerned with organizational complexity than technical or environmental complexities. Fine, “Measurement of complexity in construction projects,” in, P. Bennett and S. Cropper, “Uncertainty and conflict: combining conflict analysis and strategic choice,”, D. Baccarini, “The concept of project complexity—a review,”, K. Remington, R. Zolin, and R. Turner, “A model of project complexity: distinguishing dimensions of complexity from severity,” in, H. Parsons-Hann and K. Liu, “Measuring requirements complexity to increase the probability of project success,” in, L.-A. H. Singh and A. Singh [73] argue that it is at the edge of chaos, where linear systems begin to fail and nonlinear systems begin to dominate and where project managers must begin to pay greater attention to the nonlinear and subtle influences in their planning and management styles. In project contexts, there is a lack of consensus on what complexity really is [12–20]. Technological complexity by differentiation refers to the variety and diversity of some aspects of a task such as number and diversity of inputs/outputs, number and diversity of tasks to undertake, and number of specialities and contractors, involved in the project. Effort estimates may be used as input to project plans, iteration plans, budgets, investment analyses, pricing processes and bidding rounds. Projects that, although confined to a limited time-frame, still can achieve their objectives(ii)Fast-Competitive Projects. Task complexity refers to the density of the units, causal links, and consequences within a temporal and spatial frame. Relationships between project participants, suppliers, overlapping of activities, methods, and techniques are factors that affect project complexity. The number of project participants and how the information flows between them are a key factor affecting project complexity. In software development, effort estimation is the process of predicting the most realistic amount of effort (expressed in terms of person-hours or money) required to develop or maintain software based on incomplete, uncertain and noisy input.