Copyright ⓒ 2005 SE Technology. Co.,Ltd. All rights reserved. What are the differences between the architectural description of large scale software development and that of system development. SE Technology Ltd., IAE, 633-2, Koan-Ri, Packam-Myon, Yongin-City, Kyonggi-Do, , Korea IWFST2005, International Workshop on Future Software Technology 2005 Project Management Ph.D. Joongyoon Lee
Copyright ⓒ 2005 SE Technology, Ltd. All rights reserved. [ 2 ] Factors of IT application dev. projects failure Canceled Before Completion Cost Overrun (189 %) Time Overrun (222 %) 81 bill. $ loss / year (1% of US GNP) 59 bill. $ overrun / year US spend 250 bill. $/yr on approximately 175,000 IT appl. dev. projects. Meet Plan T23E-T10E STANDISH GROUP REPORT Recite : US % 16.2 % 31.1 % Project Impaired Factors 1.Incomplete Requirements 13.1 % 2.Lack of User Involvement 12.4 % 3.Lack of Resources10.6 % 4.Unrealistic Expectations 9.9 % 5.Lack of Executive Support 9.3 % 6.Changing Reqs. & Specs.8.7 % 7.Lack of Planning8.1 % 8.Didn’t Need It Any Longer 7.5 % 9.Lack of IT Management 6.2 % 10.Technology Illiteracy4.3 % 11.Other9.9 % Requirements Management Technical Other 28 % 52 % 10.5 % 10 %
Copyright ⓒ 2005 SE Technology, Ltd. All rights reserved. [ 3 ] The differences of Project Management between System and SW development System and software development projects are different from the view point of development target type, one is system the other is software. The detail contents of these Project Management process areas do not differ from system development project and software development project. Differences are the data which the project management activities deal with. The data, which contain architectural descriptions, are produced during Engineering and Support process. Basic Project Management PAs of CMMI
Copyright ⓒ 2005 SE Technology, Ltd. All rights reserved. [ 4 ] The Standard Process of ISO/IEC is Effective? PM Sys. Eng. When a system element is developed, an appropriate standard is applied corresponding to the nature of the system element. For system elements that are implemented in software, the processes of ISO/IEC are applied. Project Process Technical Process
Copyright ⓒ 2005 SE Technology, Ltd. All rights reserved. [ 5 ] SW Development Stages within System Life Cycle Stages of ISO/IEC ISO/IEC guides that after Architectural Design Process of system is performed, the processes of SW (ISO/IEC 12207) are applied for implementation. The guidance should be interpreted as that the Architectural Design Process should be completed before Software Development Process start. This means that the Software Development Process needs architectural descriptions of systems. As a matter of fact, lots of software development projects do not have enough architectural descriptions of systems at the start point. From this point of view, if there are not enough architectural descriptions of systems at the start point software development project, the project manager should perform the Architectural Design Process from the top layer of systems. This is the activity to define right requirement of the SW component.
Copyright ⓒ 2005 SE Technology, Ltd. All rights reserved. [ 6 ] Results and discussion Key finding of the STANDISH GROUP ’s survey is that a high percentage of executive managers believe that there are more project failures now than five years ago and ten years ago. This despite the fact that technology has had time to mature. The cause of project failure depends more on the complexity of software. The cause of project failure depends more on the requirement definition. At the start point of the software development project, generally there are insufficient architectural descriptions. In this environment, the large scale software development project should be considered as system development rather than software itself especially at the software architecting stage. If there are insufficient architectural descriptions are vague requirement of the SW item at the time of contract or early stage of SW development project, the developer shall develop a top-level system design for the interfaces external to the SW item and between the SW component of the SW item.