Brief introduction of S/W architecture, process and reuse, which might have not been succeeded to deliver the committed benefits in Korean market. I presented it in 2007, revisited today and felt to share this presentation with you.
9. S/W Architecture 2. S/W architecture
๏ฃ The fundamental organization of a system, embodied in its
components, their relationships to each other and the environment,
and the principles governing its design and the evolution [ANSI/IEEE Std 1471]
๏ฃ The structure or structures of the system, which comprise software
elements, the externally visible properties of those elements, and the
relationships among them [Bass, et.al., 2003]
๏ฃ Documenting software architecture facilitates communication between
stakeholders, documents early decisions about high-level design, and
allows reuse of design components and patterns between projects.
๏ผ {Structure/Organization, Components, Relationships, Principles}
- 7/33 - SW ์ํคํ ํธํฌ๋ผ
11. Why is software architecture important? 2. S/W architecture
๏ฃ Hardest to change
๏ฃ Represents earliest
design decisions ๏ฃ Most critical to get right
๏ฃ Communication vehicle
among stakeholders
๏ฃ Performance
๏ฃ First design artifact
addressing ๏ฃ Modifiability
๏ฃ Reliability
๏ฃ Security
๏ฃ Key to systematic reuse ๏ฃ Transferable, reusable
abstraction
The right architecture paves the way for system success.
The wrong architecture usually spells some form of disaster.
Software Product Lines: Reuse That Makes Business Sense, Linda Northrop, 2007
- 9/33 - SW ์ํคํ ํธํฌ๋ผ
12. Typical categories of influencing factors 2. S/W architecture
๏ฃ Many kinds of view
๏ฃ Quality attributes, ISO9126
๏ฃ functionality, reliability, usability, efficiency, maintainability, portability
๏ฃ Quality attribute scenarios
๏ฃ availability, modifiability, performance, security, testability, usability
๏ฃ Global analysis
Organizational Factors Technological Factors Product Factors
๏ฃ Management ๏ฃ General-purpose hardware ๏ฃ Functional features
๏ฃ Staff skills, interests, ๏ฃ Domain-specific hardware ๏ฃ User interface
strengths, weaknesses ๏ฃ Software technology ๏ฃ Performance
๏ฃ Process and development ๏ฃ Architecture technology ๏ฃ Dependability
environment ๏ฃ Standards ๏ฃ Failure detection,
๏ฃ Development schedule reporting, recovery
๏ฃ Development budget ๏ฃ Service
๏ฃ Product cost
์ฐธ์กฐ : Applied Software Architecture, C. Hofmeister, Addison Wesley, 2000
- 10/33 - SW ์ํคํ ํธํฌ๋ผ
14. 3. S/W process
Why S/W Process?
๏ฃ The quality of a software product is governed by the quality of the
processes used to develop and maintain it.
๏ฃ To improve the quality of the product, one must improve the quality of the
processes used to create the product.
๏ฃ Fundamental theories are based on Crosby, Deming and Juran, and
therefore, the roots are TQM (Total Quality Management).
๏ฃ S/W process is
๏ฃ A description of current practice
๏ฃ A baseline for analysis and comparison of software processes
๏ฃ A repository of organization software manufacturing "know-how"
๏ฃ A template for planning software development
๏ฃ A vehicle for implementation and enactment
๏ฃ A measure for software process improvement
Dan Lee, 2006
- 12/33 - SW ์ํคํ ํธํฌ๋ผ
15. Process reference model & OSSP 3. S/W process
๏ฃ CMMI, PSP/TSP, Software Product Lines, ISO/IEEE12207, Six Sigma,
SWEBOK, LEAN (Toyoda Production System), โฆ
๏ฃ ISO9000 & CMMI L3 ์ธ์ฆ ์กฐ์ง์
๏ผ
๏ผ ๏ผ
๏ผ ๏ผ
John D. Vu
- 13/33 - SW ์ํคํ ํธํฌ๋ผ
16. CMMI 3. S/W process
๏ผ
๏ผ
Disciplined Process
Project Management
๏ผ
๏ผ
๏ผ
๏ผ
Consistent Process
Organizational Standardization
๏ผ
Predictable Process
Management by Facts & Data
Continuously Improving
Process Operational Excellence
SW ์ํคํ ํธํฌ๋ผ
17. ๋ด์ฌํ ๋๊ตฌ - PDCA & IDEAL 3. S/W process
๏ฃ Deming
๏ฃ 85% of all quality problems โ ํ๋ก์ธ์ค๋ฅผ ๋ฐ๊พธ๊ฑฐ๋ ๊ฒฝ์์ง์ ์ฐธ์ฌ๊ฐ ํ์
๏ฃ 15% of quality problems โ ์ค๋ฌด์๊ฐ ํด๊ฒฐ ๊ฐ๋ฅ
๏ฃ ์คํ ์ค์ฌ (Check-Act) ์ผ๋ก ์ ํ์ด ํ์ํจ
Demingโs PDCA
โข Immediate remedies โข Objectives
โข Future actions โข Methods
Deming Cycle Act Plan
IDEAL in CMM
for Improvement
Check Do
โข Against objectives โข Train
โข How methods executed โข Execute
- 15/33 - SW ์ํคํ ํธํฌ๋ผ
19. S/W Process ์ฑ์๋ - CMMI general goals and practices 3. S/W process
๏ฃ GG 1 Achieve Specific Goals
๏ฃ GP 1.1 Perform Specific Practices
๏ฃ GG 2 Institutionalize a Managed Process
๏ฃ GP 2.1 Establish an Organizational Policy
๏ฃ GP 2.2 Plan the Process
๏ฃ GP 2.3 Provide Resources
๏ฃ GP 2.4 Assign Responsibility
๏ฃ GP 2.5 Train People
๏ฃ GP 2.6 Manage Configurations
๏ฃ GP 2.7 Identify and Involve Relevant Stakeholders
๏ฃ GP 2.8 Monitor and Control the Process
๏ฃ GP 2.9 Objectively Evaluate Adherence
๏ฃ GP 2.10 Review Status with Higher Level Management
๏ฃ GG 3 Institutionalize a Defined Process
๏ฃ GP 3.1 Establish a Defined Process
๏ฃ GP 3.2 Collect Improvement Information
๏ฃ GG 4 Institutionalize a Quantitatively Managed Process
๏ฃ GP 4.1 Establish Quantitative Objectives for the Process
๏ฃ GP 4.2 Stabilize Subprocess Performance
๏ฃ GG 5 Institutionalize an Optimizing Process
๏ฃ GP 5.1 Ensure Continuous Process Improvement
๏ฃ GP 5.2 Correct Root Causes of Problems
- 17/33 - SW ์ํคํ ํธํฌ๋ผ
22. Time to move up a maturity level 3. S/W process
๏ฃ Global average to level 5 ๏ 99 months
๏ฃ ๊ตญ๋ด ๊ธฐ์ ์ ์ผ๋ง๋ ๊ฑธ๋ฆฌ๋์ง ?
๏ฃ CMMI ๋์ ํจ๊ณผ๋ฅผ ๋ฌ์ฑํ๊ธฐ ์ํด์๋ ๋ด์ฌํ ์ค์ฌ์ผ๋ก ์ ํ์ด ํ์ํจ
Average time to move to next level
Level 2 34 months
Level 3 25 months
Level 4 30 months
Level 4 + PSP/TSP
20 months
Level 5 10 months
Based on 216 organization assessments conducted between 1991-2000, John D. Vu, 2003
- 20/33 - SW ์ํคํ ํธํฌ๋ผ
23. ROI in S/W Process Improvement 3. S/W process
๏ฃ CMMI Performance Results (December 15, 2005)
http://www.sei.cmu.edu/cmmi/results.html
๏ฃ Analysis of Return on Investment
๏ผ
1. 10,000 LOC ๊ฐ๋ฐ , ๊ฐ๋ฐ์ 4 ๋ช ํ๋ก์ ํธ ๊ธฐ์ค
2. ROI of Software Process Improvement: Metrics for Project Managers and Software Engineers,ย David F. Rico, J. Ross Publishing, 2004
- 21/33 - SW ์ํคํ ํธํฌ๋ผ
24. Software Reuse 3. S/W process
๏ฃ ์์ค์ฝ๋์ ๋ฌธ์์ ์ฌ์ฌ์ฉ์ ํตํ ์์ฐ์ฑ ํฅ์
40%
Code
Others 36%
35%
33%
Percent of Software Reuse
30%
28%
25% 25%
20%
15% 15%
10% 10%
7%
5%
3%
0%
Level 2 Level 3 Level 4 Level 5
Code reuse: No modification
Other reuse: Templates, Test cases etc. John D. Vu, 2003
- 22/33 - SW ์ํคํ ํธํฌ๋ผ
25. Review & Inspection Benefit Ratio 3. S/W process
๏ฃ ๊ฒฐํจ์ ์กฐ๊ธฐ ๋ฐ๊ฒฌ ๋ฐ ์ ๊ฑฐ๋ฅผ ํตํ ์ฌ์์ ๋น์ฉ ์ ๊ฐ
Before Review/Inspection
After Implemented Review/Inspection
19%
Reduce 31% in rework
Rework Effort
12%
8%
3% 4%
1%
Req. Design Code Test Post-Release
Formal Review & Inspection increased design effort by 4%
decreased rework effort by 31%
Cost: Benefit ratio is 4% : 31% or 1 : 7.75
Based on 6 organizations assessed at level 4 & 5, John D. Vu, 2003
- 23/33 - SW ์ํคํ ํธํฌ๋ผ
26. PSP/TSP Benefits 3. S/W process
Software Size
2.36X more
Sloc count
System 41days
32 days
Test time 28 days
94% less time
(75% lower defect)
4 days
Release # 6 Release # 7 Release # 8 Release # 9
PSP/TSP
trained
Source: SEI industry Study of PSP/TSP in 18 U.S companies, John D. Vu, 2003
- 24/33 - SW ์ํคํ ํธํฌ๋ผ
27. 3. S/W process
Five keys to look forโฆ
1. Can the organization demonstrate actual business benefit of process
improvement ? (improvement trends or results?)
2. Which projects follow (or not follow) the standard processes?
3. Are these processes being verified independently that they are used
and controlled at the project level?
4. Is day-to-day decision making based on measurement data (where
appropriate)?
5. How are business goals prioritized and intergroup conflicts resolved?
(John D. Vu, 2003)
๏ฃ Maturity levels and certification are meaningless, if they cannot be
explained in terms of business objectives.
๏ฃ Provide faster service, deliver higher quality products, and achieve
customer satisfaction. (Dan Lee, 2006)
- 25/33 - SW ์ํคํ ํธํฌ๋ผ
28. Software Reuse 4. Reuse
๏ฃ Adapting existing software components to new applications is easy;
๏ฃ If it does not fit, modify it until it fits.
๏ฃ Any code can be reused since itโs โmodularizedโ already.
๏ฃ Opportunistic reuse
๏ฃ Adapt existing software components to new applications by modifying them.
It is not cost effective since you still have to modify and test it.
๏ฃ Systemic reuse
๏ฃ Reuse โwell-definedโ and โwell designedโ software components without any
modification.
Software Product Lines: Reuse That Makes Business Sense, Linda Northrop, 2007
- 26/33 - SW ์ํคํ ํธํฌ๋ผ
29. Reuse 4. Reuse
๏ฃ ์ ์ฌ ์ฐจ์์ ์ฌ์ฌ์ฉ ์ ๋ต ์๋ฆฝ์ ํตํ Reuse Governance ํ๋ณด
๏ฃ ์ ๋ฌธ๊ฐ ์ฌ์ฌ์ฉ - ๊ธฐ์ ๋ณ , ์ ๋ฌด ์์ญ๋ณ , โฆ
๏ฃ S/W ๊ณตํ - ์ฒด๊ณ์ ์ธ ๋ถ์ , ์ค๊ณ๋ฅผ ํตํ ์ฌ์ฌ์ฉ
๏ฃ PAL (Process Asset Library) & KM
๏ฃ ์ ์ฌ ์ฌ์ฌ์ฉ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
Programmer Project Enterprise
Led Led Initiative
CBD maturity
Reuse 6 Fully utilized component repository
Component Component
Based Based Components are enterprise standard
Programming Analysis 5 Enterprise-wide agreement on components
Architecture
4 Components are reused
Ad-hoc reuse of components across projects
Components are business concept
3 Analysts model business concepts as components
Technology
2 Components are implementation concept
Programmers/designers structure code implementation as components
1 Components are GUI controls
ActiveX, or JavaBeans components are used to implement client applications
Butler Group,1998
- 27/33 - SW ์ํคํ ํธํฌ๋ผ
34. ROI - Nokia Mobile Phones 4. Reuse
๏ฃ Product lines with 25-30 new products per year versus 5 per year
originally.
๏ฃ Across products there are
๏ฃ varying display sizes
๏ฃ varying sets of features
๏ฃ 58 languages supported
๏ฃ 130 countries served
๏ฃ multiple protocols
๏ฃ configurable features
๏ฃ Organizational Benefits
๏ฃ Improved productivity by as much as 10x
๏ฃ Increased quality by as much as 10x
๏ฃ Decreased cost by as much as 60%
๏ฃ Decreased labor needs by as much as 87%
๏ฃ Decreased time to market (to field, to launch...) by as much as 98%
๏ฃ Ability to move into new markets in months, not years
Software Product Lines: Reuse That Makes Business Sense, Linda Northrop, 2007
- 32/33 - SW ์ํคํ ํธํฌ๋ผ
35. ๊ธ๋ก๋ฒ S/W ๊ฒฝ์๋ ฅ ํ๋ณด๋ฅผ ์ํด์๋
๏ฃ Paradigm shift
๏ฃ from certification to institutionalization for real business value
๏ฃ Global standards
๏ฃ ๊ตญ์ ํ์ค (IEEE, ISO, PMBOK, SWEBOK, CMMI, Six Sigmaโฆ)
๏ฃ ์ ๋ณดํต์ ๋จ์ฒดํ์ค (TTAS) http://www.tta.or.kr/Home2003/library/ttasList.jsp
๏ฃ Open Sources & Web2.0
๏ฃ wikipedia (http://en.wikipedia.org/)
๏ฃ Eclipse ํ๋ก์ ํธ โ Open UP, โฆ.
๏ฃ ํฌ๋ผ , blog, Community ์ ์ ๊ทน์ ์ธ ์ฐธ์ฌ
๏ฃ Programming, ์ฆ ๊ตฌํ์ด ๊ธฐ๋ณธ์ด ๋์ด์ผ ํจ
- 33/33 - SW ์ํคํ ํธํฌ๋ผ