Presentation on theme: "(Required reading SWEBOK Chapters 1 and 2 Text Ch 1-4)"— Presentation transcript:
1(Required reading SWEBOK Chapters 1 and 2 Text Ch 1-4) Becoming a Certified Software Development Professional (CSPD) and Overview of The Software Engineering Body of Knowledge (SWEBOK)(Required reading SWEBOK Chapters 1 and 2Text Ch 1-4)
2Background Licensing Professional Engineer Certification Regulation by government (state in US)Professional EngineerIndividual granted title & authority to offer engineering servicesCertificationStatement of competence by an authority
3Professions What is a profession?? Characteristics Law Medicine AccountingCharacteristicsWell defined body of knowledge / practicesCode of ethicsContinuing educationPublic service / commitment
4SE and EngineeringWhy?Software has evolved from individual activity to highly organized team effortTo help solve the software crisisCertificationLegitimacyWhy:Better to proactively establish it now, rather than have governmental imposed constraints laterLegitimacy – to become recognized, as other engineering disciplines are, and to set standards as a basis for certification
5Background - Status 1998 - Texas 2001 - Canada Board of Prof. Eng. Makes Soft. Eng. a recognized specialty~ 44 PEs with this specialty in May, ’02.CanadaJune: Canadian Eng. Acr. Board accredits 3 university soft eng programsHuge controversy rages…..
6Background - Efforts IEEE & ACM efforts (1993 - 2000) Results Joint Committee on Establishing Soft. Eng. as a professionSWECC (1998) Soft. Eng Co-ord. Comm.ResultsCurriculum recommendationsCode of ethicsSoft Eng Body of Knowledge (SWEBOK)
7Background - RecentACM withdrew support/cooperation from SWEEC in 2000Drops support for licensing software engineersIEEE CS Continues“Certified Software Engineering Professional” Beta Test Exam offered (April - June) 2001Becomes current CSDP program
11Education Requirements Applicant must:Have baccalaureate or equivalent university degreeProof:Copy of diplomaORCopy of transcript
12Professional Requirements Adherence to code of professional behavior (code of ethics)Technical competencyProof (1 of 4 ways):Membership in IEEE, IEEE CS, or ASQMembership in any of 17 equivalent orgs.Recommendation of 2 IEEE CS membersRegistration as Professional Engineer
13Experience Requirements 9,000 hours software engineering experience (4.5 years.)At least 2 years experience in last 4 yearsExperience in 6 or more of 11 areasProof:Resume / Curriculum Vitea detailing workANDReport of Experience Forms
20Sample PDUs Other Presentations Self Study Employment RTP Spin: 1 PDUs 3 years ACM, CS, journals: PDUsEmployment3 5/yr: PDUsOtherReferee, reviewer ?? PDUs
21CSDP - Evaluation Pros Cons Backed by IEEE Multiple choice exam Developed by open, consensus processIncludes the accepted componentsConsMultiple choice examNo analysis of real workNo measurement of engineering, judgmentNo enforcement of codeNo real recognitionNo consensus
22The SWEBOK Guide Task Force Objectives Promote a consistent view of SE worldwideClarify the place and boundaries of SE relative to other related disciplinesDefine/characterize the contents of the SE disciplineProvide access to the various components of the SWEBOKProvide a foundation for curriculum development and individual certification and licensing3 task forces:define body of knowledge and recommended practicesethics and professional standards (completed 1998 and approved by ACM)educational curricula for education (1998) (undergrad, grad)
23The SWEBOK Guide Cont’d A guide to describe the core of the SE Body of KnowledgeBroken into Knowledge AreasObjectives: basically, the goal is to define the core body of knowledge of SEcore = everything that should be mastered to become certified. Material from related disciplines (like project management) is also needed by SE, but is not included in the coreNOT goals:define everything in SEdefine a level of detail allowing testing and defining curriculum
24How we will use SWEBOKHas 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!
25Knowledge AreasEstablishes boundaries that identify engineering disciplinesMay share common boundaries with other disciplinesDoes not attempt to describe all of the knowledge within SE
26Knowledge Areas Cont’d Captures a subset of “generally accepted” knowledge or the core of SE
27Knowledge Areas Cont’d There are 10 KAs in the SWEBOKEach KA contains a reasonable topic list presenting sound information about SEExcludes specific knowledge regarding application domains, business, technology, SLCs and development methodsCompatible with what is generally found in industry
28Knowledge Area Cont’d Each KA follows the KA Description Specification Includes description, topics, related areas and reference materials.
29The Repeatable Process The first 5 KAs cover the repeatable processRequirementsDesignConstructionTestingMaintenanceDefine KA used in the development of software management processesTogether the are comparable to the definition of CMM level 2 excluding business specific knowledge
31Software Design Basic concepts Key issues of software Structure and architectureSoftware design quality analysis and evaluationDesign notationSoftware design strategies and methods
32Software Construction Considered one of the fundamental act of SEThe construction of working, useful software through programming, validation and testing.Three styles of constructionLinguisticFormalVisual
33Software Construction Cont’d Principles of constructionReduction of complexityAnticipation of diversityStructuring for validationUse of external standardsWhere does the Software Engineer learn to construct software?Is Computer Science a required related discipline?
34Software Testing Basic concepts Test levels Test techniques Test-related measures and management
35Software Maintenance Basic concepts Maintenance process Key issues Techniques for maintenanceIs there a SENG course that covers software maintenance?
36Related Disciplines Computer Science Mathematics Projects Management Computer EngineeringCognitive Science and Human FactorsSystems EngineeringManagement and Management Science
37The Defined and Managed Process The last 5 KAs cover the defined and managed process:Software Configuration ManagementSoftware Engineering ManagementSoftware Engineering ProcessSoftware Engineering Tools and MethodsSoftware Quality AnalysisTogether they are are comparable to the definition of CMM level 3 and 4
38Software Configuration Management (SCM) Management of the SCM ProcessSoftware Configuration IdentificationSoftware Configuration ControlSoftware Configuration Status AccountingSoftware Configuration AuditingSoftware Release Management and Delivery
40Software Engineering Process Software Engineering Process ConceptsProcess InfrastructureProcess MeasurementProcess DefinitionQualitative Process AnalysisProcess Implementation and change
41Software 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 issuesSoftware Methods:HeuristicFormalPrototypingMiscellaneous
42Software Quality Software Quality Concepts Purpose and Planning of SQA and V&VActivities and Techniques for SQA and V&VMeasurement Applied to SQA and V&V
43A complete SWEBOK based Education Program Software EngineeringTools and MethodsSoftware EngineeringProcessSoftware EngineeringManagementSoftware QualitySoftware ConfigurationManagementSWEBOKSoftware MaintenanceSoftware RequirementSoftware TestingSoftware ConstructionSoftware Design
44Challenges Withdrawal of the ACM Core BOK vs. specific ACM interests and prioritiesProfessional developmentDevelopment and maturation of computing disciplinesPublic interest and critical systemsSoftware qualityAssociation for Computing Machinery was an initial supporter of the SWEBOK effort along with IEEECore BOK vs. specific BOKsoftware development involves many tasks and roles, of which only a subset carries the burden of professional engineeringfor example, an analysis by an engineer for the purpose of attesting to software safety versus the development or testing of a single function in a software systemNot all roles that are currently called “SE” involve responsibilities that are commonly regarded as “engineering”ACM interests and prioritiesCollection of materials like the BOK serves the first 2Public interest and Software quality – 3 ways to ensure itAttending to the productAttending to the producing organizationAttending to the individuals the build the productA BOK would address the individualsNeed a balance between the above questions – more research neededACM concerned with apparent haste between using the SWEBOK to start credentialing (Texas)Question: might it be best to influence this process if possible?
45Challenges Cont’d Professional Engineer (PE) exams Areas are covered that are outside the CPSC or SE domainRate of change in SE is highWho should take the exam?SE is not included in any depthLicensing issues:Licensing as PEs not practicalInappropriate exams:Fundamentals of Engineering exam:covers Chemistry, computers, electrodynamics, engineering economics, fluid mechanics, mechanics of material, thermodynamicsTaken by all PEs in any disciplineNeed 100 ABET accredited schools with SE degree programs before the afternoon exam can be SE specificNormal updates to exams happen every 3 years, and in some areas certification is for lifeWho should be required to take such exams? Managers, req’ts writers, testers…?PE process establishes everyone as a PE – it is up to the indivodual to decide if they are qualified to practice a particular subdiscipline
46Challenges Cont’d Challenges Creativity and individuality Can a consensus be reached?Guarantee a product or a level of quality?
47An Organizational alternative What is CMMI, and how related to PSP and CMM.What is required to achieve CMMI?Relating CMMI and EIA 859!
48What is CMMI? Capability Maturity Model Integration CMMI Defines 5 levels of process maturityDescribes model framework to be used for:Assessing process maturityDetermining prioritiesInstituting process improvementCapability MaturityModel IntegrationCMMI
49Relation to PSP and CMMPSP 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.
51At what CMMI Level are we performing? Are all processgoals beingaccomplished?Are Data Management requirementsbeing met?Are all customers identified?Are all customer requirements identified?Are customer requirements beingmet?NOReview datamanagementprocedures todetermineCMMI LevelAreone ormore of theprocess goals notaccomplished?YESCMMI Level 0IncompleteProcess notperformedPerforming at CMMILevel 0
52How do we achieve Level 1? Identify your customers Identify customers needsIdentify managementprocess goalsDevelop steps to producethe desired work productsIdentify work products
53What is CMMI Level 1? Level 1 - Performed Specific goals are being accomplishedNo defined processesIndividuals may follow differing proceduresUsing general purpose tools
54CMMI Level 1 Dependent on individuals Results vary Resources vary Results unpredictablePractices are informalQuality inconsistentCharacteristics
55Determining the CMMI Level YESAre therepoliciesgoverning theprocess?Is there aprocess plan?adequateresourcesto execute thePlan?Is trainingprovided forindividualsexecuting theProcess?NOIs the processdocumented?CMMI Level 1Process PerformedPerforming at CMMILevel 1NO
56EIA 859 EIA Standard 859 Industry Standard for Data Management DRAFT Includes 9 high level DataManagement PrinciplesPrinciples address functionsof Data ManagementDescribes fundamentalconcepts to be consideredwhen structuring a DataManagement processEIA Standard 859Industry StandardforData ManagementDRAFT
57EIA 859 Principles Principles EIA Standard 859 Industry Standard for 1. Define the organizationally-relevant scope of Data Management2. Plan for, acquire, and provide dataresponsive to customer requirements3. Develop DM processes to fit thecontext and business environment inwhich they will be performed.4. Identify data products and views sotheir requirements and attributes can becontrolled.5. Control data repositories, dataproducts, data views, and meta datausing approved change control process.6. Establish and maintain an identifi-cation process for intellectual property,proprietary, and competition-sensitivedata.7. Retain data commensurate with value.8. Continuously improve datamanagement.9. Effectively integrate data managementand knowledge management.EIA Standard 859Industry StandardforData ManagementDRAFT
58Advocates Repeatable Processes CMMI & EIA 859CMMIEIA 859PrinciplesLevel5Optimizing1. Define the organizationally-relevant scope of Data Management2. Plan for, acquire, and provide dataresponsive to customer requirements3. Develop DM processes to fit thecontext and business environment inwhich they will be performed.4. Identify data products and views sotheir requirements and attributes can becontrolled.5. Control data repositories, dataproducts, data views, and meta datausing approved change control process.6. Establish and maintain an identifi-cation process for intellectual property,proprietary, and competition-sensitivedata.7. Retain data commensurate with value.8. Continuously improve datamanagement.9. Effectively integrate data managementand knowledge management.Level 4QuantitativelyManagedLevel 3 - DefinedLevel 2 - ManagedLevel 1 - Performed.Advocates Repeatable ProcessesProject Level&Enterprise Level
59Relating CMMI & EIA 859 Principles EIA Standard 859 Industry Standard forData ManagementDRAFTPrinciples1. Define the organizationally-relevant scope of Data Management2. Plan for, acquire, and provide dataresponsive to customer requirements3. Develop DM processes to fit thecontext and business environment inwhich they will be performed.4. Identify data products and views sotheir requirements and attributes can becontrolled.5. Control data repositories, dataproducts, data views, and meta datausing approved change control process.6. Establish and maintain an identifi-cation process for intellectual property,proprietary, and competition-sensitivedata.7. Retain data commensurate with value.8. Continuously improve datamanagement.9. Effectively integrate data managementand knowledge management.3. Develop DM processes to fit thecontext and business environment inwhich they will be performed1. Define the organizationally-relevant scope of Data Management8. Continuously improve datamanagement.
60CMMI Level 2 Level 2 - Managed Level 2 - Managed Planned and executed IAW policy/proceduresEstablished objectivesAdequate resourcesApplicable to a particular group/project
61CMMI Level 2 EIA 859 CMMI YES Are there established Is there a policiesgoverning theprocess?Is there aprocess plan?Are there adequateresourcesto execute thePlan?Is trainingprovided forindividualsexecuting theProcess?Is the processDocumented?EIA 859Develop DM processes to fit thecontext and business environmentin which they will be performed.Determine related organizationalpolicies.Identify external forces.Determine related businessobjectives.Determine requirements for accessand delivery.Determine who will create, access,update, and dispose of the data.Principle 3Develop policies for processexecution based on organizationalrequirements and customer needs.Develop standards for workproducts and services.Identify stakeholders.Define process dependencies andwork products and services.Define resource requirements(funding, people etc.)Define work products requiringconfiguration control.Define process measurementrequirements to determineprocess performance.CMMILevel 2
62Comparing CMMI Level 2 & EIA 859 YESIs the processmonitored?Are work productsunder configurationcontrol?Are all relevantstakeholders beingconsidered?controlled andmeasured?Is the processbeing objectivelyevaluated?EIA 859Principle 3Make needed adjustments inprocesses, practices, policy,organizational alignment andinfrastructure.Control the integrity of data, dataelements, data structures and dataviews.Establish a change control processthat imposes the appropriate levelof review and approval.Establish mechanisms for trackingand determining status of data.CMMILevel 2Evaluate the effect of deviationsfrom the process plans anddescriptions.Review accomplishments againstprocess plans and descriptions.Place the process work productsunder configuration management.Coordinate the process plan anddescription with relevant stake-holders.Monitor and control the process.Assign responsibility and authorityfor performing the process.Obtain the necessary resources.
63CMMI Level 3 Level 3 - Defined Process institutionalized Process consistent across the organizationProcess measurable
64CMMI YES Is the process unique to the organization? considered standard?being objectivelyevaluated?defined?institutionalized?CMMILevel 3Define process steps forinstitutionalization.Define policy/guidelines fortailoring process steps.Define process tailoring.Document process tailoring.Collect and document workprocess/product measurementresults.Develop and maintain a data basefor process/product measurementinformation.Document and store lessons learnedin the data base.
65CMMI Level 3 CMMI EIA 859 YES Is the Is Are there tailored process documented?Isthere adata base torecord processimprovements?Are thereguidelinesfor tailoring theinstitutionalizedprocess?Is the processquantitativelymanaged?CMMILevel 3Define process steps forinstitutionalization.Define policy/guidelines fortailoring process steps.Define process tailoring.Document process tailoring.Collect and document workprocess/product measurementresults.Develop and maintain a data basefor process/product measurementinformation.Document and store lessons learnedin the data base.EIA 859Principle 8Establish and maintain a metricprocess and reporting strategy.Establish the necessary tools andinfrastructure to support theprocess and assess the results.
66Quantitatively Managed CMMI Level 4Level 4Quantitatively ManagedControlled using statistical and other techniquesProcess variation identified
67qualitative objectives CMMI Level 4Isthe processstable andpredictable?Isquantitative/qualitative process/product databeingcollected?Arethequantitative/qualitative objectivesbased oncustomerneeds?YESYESYESYESYESAre significantprocesses/productsstatisticallymanaged?Is thecollected databeing analyzed?EIA 859Principle 8Recognize the need to continuouslyimprove the quality of data resources.Establish and maintain a metricprocess and reporting strategy.Establish the necessary tools andinfrastructure to support the processand assess the results.Monitor the quality of data toimprove data and processes.CMMILevel 4Determine an understanding of theability of the process to achievethe quantitative objectives.Determine objectives for statisticalcontrol.Identify and measure the sub-process determined to be understatistical control.Identify and measure process andproduct attributes important toquality and process performance.Identify causes for process variation.Manage processes to attain statisticalstability and predictability..Predict the ability of the process toachieve performance objectivesusing managed statistical data.Institutionalize processperformance baselines.Take appropriate action whendesired quantitative and process/product performance objectivesare not being met.
69Comparing CMMI Level 5 & EIA 859 Doesthe processinclude continuousimprovementobjectives?YESYESDoesthe processallow for techimprovements?YESDoesthe processinclude a planfor attainingimprovementobjectives?YESDoesthe processidentify problemsanddefects?Is the processoptimized?CMMILevel5Develop and maintain process/product improvement objectives.Identify and implement tech-nelogical innovations for process/product improvements.Manage process/product improve-ment deployment.Measure results against objectives.Identify and correct process/product defects.EIA 859Principle 8Recognize the need to continuouslyimprove the quality of dataresources.Implement a strategy for on-goingimprovement.Improve Data Managementthrough a systematic and self-diagnostic process..Identify objective evidence ofimprovements.
70Summary Data Management CMMI Level 2 Level 1 Level 3 EIA Standard 859 Industry StandardforData ManagementDRAFTData ManagementCMMI
71ReferencesGuide to the Software Engineering Body of Knowledge: Trial Version, 2001,Trip, Leonard L., Professionalization of Software Engineering: Next Steps, 1999,“A Summary of the ACM Position on Software Engineering as a Licensed Engineering Profession”,“An Assessment of Software Engineering Body of Knowledge Efforts: A Report to the ACM Council“,IEEE Computer Society Web Site:Code of ethicsComm. of the ACM, Nov (45, 11)Licensing Software Engineers - 6 articles