Becoming a Certified Software Development Professional CSPD and
Becoming a Certified Software Development Professional (CSPD) and Overview of The Software Engineering Body of Knowledge (SWEBOK) (Required reading SWEBOK Chapters 1 and 2 Text Ch 1 -4)
The SWEBOK Guide § § Task Force Objectives 1. Promote a consistent view of SE worldwide 2. Clarify the place and boundaries of SE relative to other related disciplines 3. Define/characterize the contents of the SE discipline 4. Provide access to the various components of the SWEBOK 5. Provide a foundation for curriculum development and individual certification and licensing
The SWEBOK Guide Cont’d § A guide to describe the core of the SE Body of Knowledge § Broken into Knowledge Areas
How we will use SWEBOK § Has many “definitions” of most key terms, you will be required to know the terms defined in the chapters assigned. § Has references to primary material (and occasional textbooks), you can use later when/if you need more details. § Only doing an overview, you are expected to know what is there, not necessarily how to do it. § Really covering the SWEBOK takes 5 -8 courses!
Knowledge Areas § Establishes boundaries that identify engineering disciplines § May share common boundaries with other disciplines § Does not attempt to describe all of the knowledge within SE
Knowledge Areas Cont’d § Captures a subset of “generally accepted” knowledge or the core of SE
Knowledge Areas Cont’d § There are 10 KAs in the SWEBOK § Each KA contains a reasonable topic list presenting sound information about SE § Excludes specific knowledge regarding application domains, business, technology, SLCs and development methods § Compatible with what is generally found in industry
Knowledge Area Cont’d § Each KA follows the KA Description Specification § Includes description, topics, related areas and reference materials.
The Repeatable Process § The first 5 KAs cover the repeatable process – – – Requirements Design Construction Testing Maintenance § Define KA used in the development of software management processes § Together the are comparable to the definition of CMM level 2 excluding business specific knowledge
Software Requirements § § § Requirements engineering process Requirements elicitation Requirements analysis Software requirements specification Requirements validation Requirements management
Software Design § § § Basic concepts Key issues of software Structure and architecture Software design quality analysis and evaluation Design notation Software design strategies and methods
Software Construction § Considered one of the fundamental act of SE § The construction of working, useful software through programming, validation and testing. § Three styles of construction – Linguistic – Formal – Visual
Software Construction Cont’d § Principles of construction – Reduction of complexity – Anticipation of diversity – Structuring for validation – Use of external standards Where does the Software Engineer learn to construct software? Is Computer Science a required related discipline?
Software Testing § § Basic concepts Test levels Test techniques Test-related measures and management
Software Maintenance § § Basic concepts Maintenance process Key issues Techniques for maintenance Is there a SENG course that covers software maintenance?
Related Disciplines § § § § Computer Science Mathematics Projects Management Computer Engineering Cognitive Science and Human Factors Systems Engineering Management and Management Science
The Defined and Managed Process § The last 5 KAs cover the defined and managed process: • • • Software Configuration Management Software Engineering Process Software Engineering Tools and Methods Software Quality Analysis § Together they are comparable to the definition of CMM level 3 and 4
Software Configuration Management (SCM) § § § Management of the SCM Process Software Configuration Identification Software Configuration Control Software Configuration Status Accounting Software Configuration Auditing Software Release Management and Delivery
Software Engineering Management § Organizational Management § Process/ Project Management § Software Engineering Measurement
Software Engineering Process § Software Engineering Process Concepts – Process Infrastructure – Process Measurement – Process Definition – Qualitative Process Analysis – Process Implementation and change
Software Engineering Tools and Methods § Software Tools: requirements tools, design tools, Construction tools, testing tools, maintenance tools , engineering process tools, quality tools, configuration management tools, engineering management tools, infrastructure support tools, Miscellaneous tools issues § Software Methods: – – Heuristic Formal Prototyping Miscellaneous
Software Quality § § Software Quality Concepts Purpose and Planning of SQA and V&V Activities and Techniques for SQA and V&V Measurement Applied to SQA and V&V
A complete SWEBOK based Education Program Software Engineering Management Software Engineering Process Software Engineering Tools and Methods Software Quality Software Configuration Management SWEBOK Software Maintenance Software Requirement Software Testing Software Design Software Construction
An Organizational alternative Ø What is CMMI, and how related to PSP and CMM. Ø What is required to achieve CMMI? Ø Relating CMMI and EIA 859!
What is CMMI? • Defines 5 levels of process maturity • Describes model framework to be used for: • Assessing process maturity • Determining priorities • Instituting process improvement Capability Maturity Model Integration CMMI
Relation to PSP and CMM § PSP is the Personal Software process, and is basically a “process” (supported by course material to teach it) for an individual to follow a capabilities-based maturity model. § CMM is the older SEI Capability Maturity Model, strictly for Software Development. CMMI is a generalization that covers more systems and project issues as well as business processes.
CMMI Levels Level 5 Optimizing The five levels of CMMI process maturity! Level 4 Quantitatively Managed Level 3 - Defined Level 2 - Managed Level 1 - Performed Level 0 - Incomplete
At what CMMI Level are we performing? Are all process goals being accomplished? NO Review data management procedures to determine CMMI Level Are one or more of the process goals not accomplished? YES CMMI Level 0 Incomplete Process not performed • Are Data Management requirements being met? • Are all customers identified? • Are all customer requirements identified? • Are customer requirements being met? Performing at CMMI Level 0
How do we achieve Level 1? Identify your customers Identify customers needs Develop steps to produce the desired work products Identify management process goals Identify work products
What is CMMI Level 1? Level 1 - Performed • Specific goals are being accomplished • No defined processes • Individuals may follow differing procedures • Using general purpose tools
CMMI Level 1 Characteristics • Dependent on individuals • Results vary • Resources vary • Results unpredictable • Practices are informal • Quality inconsistent
Determining the CMMI Level YES Are there Is the process documented? NO policies governing the process? NO YES Is there a process plan? NO YES Is training provided for individuals executing the Process? Are there adequate resources to execute the Plan? NO NO CMMI Level 1 Process Performed Performing at CMMI Level 1 YES
EIA 859 Includes 9 high level Data Management Principles EIA Standard 859 Principles address functions of Data Management Industry Standard for Data Management Describes fundamental concepts to be considered when structuring a Data Management process DRAFT
EIA 859 Principles EIA Standard 859 Industry Standard for Data Management DRAFT 1. Define the organizationallyrelevant scope of Data Management 2. Plan for, acquire, and provide data responsive to customer requirements 3. Develop DM processes to fit the context and business environment in which they will be performed. 4. Identify data products and views so their requirements and attributes can be controlled. 5. Control data repositories, data products, data views, and meta data using approved change control process. 6. Establish and maintain an identification process for intellectual property, proprietary, and competition-sensitive data. 7. Retain data commensurate with value. 8. Continuously improve data management. 9. Effectively integrate data management and knowledge management.
CMMI & EIA 859 CMMI EIA 859 Level 5 Optimizing Level 4 Quantitatively Managed Level 3 - Defined Level 2 - Managed Level 1 - Performed Principles 1. Define the organizationallyrelevant scope of Data Management 2. Plan for, acquire, and provide data responsive to customer requirements 3. Develop DM processes to fit the context and business environment in which they will be performed. 4. Identify data products and views so their requirements and attributes can be controlled. 5. Control data repositories, data products, data views, and meta data using approved change control process. 6. Establish and maintain an identification process for intellectual property, proprietary, and competition-sensitive data. 7. Retain data commensurate with value. 8. Continuously improve data management. 9. Effectively integrate data management and knowledge management. Advocates Repeatable Processes Project Level & Enterprise Level
Relating CMMI & EIA 859 Principles EIA Standard 859 Industry Standard for Data Management DRAFT 1. Define the organizationallyrelevant scope of Data Management 1. Define the 2. Plan for, organizationallyacquire, and provide data relevant scope Data requirements Management responsive toof customer 3. Develop DM processes to fit the context and business environment in which they will be performed. 4. Identify data products and views so their requirements and attributes can be 3. Develop DM processes to fit the controlled. context and business environment in 5. Control data repositories, databe views, and meta data whichproducts, they will performed using approved change control process. 6. Establish and maintain an identification process for intellectual property, proprietary, and competition-sensitive data. 8. Continuously improve data 7. Retain data commensurate with value. management. 8. Continuously improve data management. 9. Effectively integrate data management and knowledge management.
CMMI Level 2 2 - Managed Level • Planned and executed IAW policy/procedures • Established objectives • Adequate resources • Applicable to a particular group/project
CMMI Level 2 YES Is the process Documented? Are there established YES policies governing the process? CMMI Level 2 Develop policies for process execution based on organizational requirements and customer needs. Develop standards for work products and services. Identify stakeholders. Define process dependencies and work products and services. Define resource requirements (funding, people etc. ) Define work products requiring configuration control. Define process measurement requirements to determine process performance. YES Is there a Are there adequate process plan? resources to execute the Plan? EIA 859 Principle 3 Develop DM processes to fit the context and business environment in which they will be performed. Determine related organizational policies. Identify external forces. Determine related business objectives. Determine requirements for access and delivery. Determine who will create, access, update, and dispose of the data. YES Is training provided for individuals executing the Process?
Comparing CMMI Level 2 & EIA 859 YES Is the process monitored? YES Are work products under configuration control? CMMI Level 2 Evaluate the effect of deviations from the process plans and descriptions. Review accomplishments against process plans and descriptions. Place the process work products under configuration management. Coordinate the process plan and description with relevant stakeholders. Monitor and control the process. Assign responsibility and authority for performing the process. Obtain the necessary resources. YES Are all relevant stakeholders being considered? YES Is the process controlled and measured? Is the process being objectively evaluated? EIA 859 Principle 3 Make needed adjustments in processes, practices, policy, organizational alignment and infrastructure. Control the integrity of data, data elements, data structures and data views. Establish a change control process that imposes the appropriate level of review and approval. Establish mechanisms for tracking and determining status of data.
CMMI Level 3 - Defined • Process institutionalized • Process consistent across the organization • Process measurable
YES Is the process defined? YES Is the process unique to the organization? YES Is the process considered standard? YES Is the process being objectively evaluated? CMMI Level 3 Define process steps for institutionalization. Define policy/guidelines for tailoring process steps. Define process tailoring. Document process tailoring. Collect and document work process/product measurement results. Develop and maintain a data base for process/product measurement information. Document and store lessons learned in the data base. Is the process institutionalized? YES
CMMI Level 3 Are there guidelines for tailoring the institutionalized process? YES Is the tailored process documented? CMMI Level 3 Define process steps for institutionalization. Define policy/guidelines for tailoring process steps. Define process tailoring. Document process tailoring. Collect and document work process/product measurement results. Develop and maintain a data base for process/product measurement information. Document and store lessons learned in the data base. Is there a data base to record process improvements? YES Is the process quantitatively managed? EIA 859 Principle 8 Establish and maintain a metric process and reporting strategy. Establish the necessary tools and infrastructure to support the process and assess the results.
CMMI Level 4 Quantitatively Managed • Controlled using statistical and other techniques • Process variation identified
CMMI Level 4 Is quantitative/ qualitative process/ product data being collected? YES Are significant processes/products statistically managed? YES Is the collected data being analyzed? Are the quantitative/ qualitative objectives based on customer needs? YES Is the process stable and predictable? CMMI EIA 859 Level 4 Principle 8 Determine an understanding of the ability of the process to achieve the quantitative objectives. Determine objectives for statistical control. Identify and measure the subprocess determined to be under statistical control. Identify and measure process and product attributes important to quality and process performance. Identify causes for process variation. Manage processes to attain statistical stability and predictability. Predict the ability of the process to achieve performance objectives using managed statistical data. Institutionalize process performance baselines. Take appropriate action when desired quantitative and process/ product performance objectives. are not being met. Recognize the need to continuously improve the quality of data resources. Establish and maintain a metric process and reporting strategy. Establish the necessary tools and infrastructure to support the process and assess the results. Monitor the quality of data to improve data and processes.
CMMI Level 5 Optimizing • Continuously improving performance • Incremental improvement • Technological improvement
Comparing CMMI Level 5 & EIA 859 Does the process include continuous improvement objectives? YES Is the process optimized? YES Does the process allow for tech improvements? YES Does the process include a plan for attaining improvement objectives? CMMI EIA 859 Level 5 Principle 8 Develop and maintain process/ product improvement objectives. Identify and implement technelogical innovations for process/ product improvements. Manage process/product improvement deployment. Measure results against objectives. Identify and correct process/ product defects. YES Does the process identify problems and defects? Recognize the need to continuously improve the quality of data resources. Implement a strategy for on-going improvement. Improve Data Management through a systematic and selfdiagnostic process. . Identify objective evidence of improvements.
Summary 5 Level 4 Level 3 EIA Standard 859 Industry Standard for Data Management Level 2 Level 1 CMMI DRAFT Data Management
References § Guide to the Software Engineering Body of Knowledge: Trial Version, 2001, http: //www. swebok. org/stoneman/version 09. html § Trip, Leonard L. , Professionalization of Software Engineering: Next Steps, 1999, http: //www. swebok. org/documents/x 3009. pdf § “A Summary of the ACM Position on Software Engineering as a Licensed Engineering Profession”, http: //www. acm. org/serving/se_policy/selep_main. html § “An Assessment of Software Engineering Body of Knowledge Efforts: A Report to the ACM Council“, http: //www. acm. org/serving/se_policy/bok_assessment. pdf § IEEE Computer Society Web Site: http: //computer. org/certification § Code of ethics http: //computer. org/certification/ethics. htm § Comm. of the ACM, Nov. 2002 (45, 11) – Licensing Software Engineers - 6 articles
- Slides: 48