unit-iii- cs1021 - software project management

24
"Software Project Management" S.Ramakrishnan, AP / IT,SEC 1 Software Project Management  07/20/13            Unit - III

Upload: dhakshana-murthi

Post on 24-Nov-2015

19 views

Category:

Documents


6 download

DESCRIPTION

Notes

TRANSCRIPT

  • "SoftwareProjectManagement"S.Ramakrishnan,AP/IT,SEC

    1

    SoftwareProjectManagement

    07/20/13

    UnitIII

  • "SoftwareProjectManagement"S.Ramakrishnan,AP/IT,SEC

    2/112

    UNITIII

    SoftwareManagementDisciplines

    07/20/13

  • "SoftwareProjectManagement"S.Ramakrishnan,AP/IT,SEC

    3/112

    Part3Part3SoftwareManagementDisciplines

    TableofContents(1)

    IterativeProcessPlanning WorkBreakdownStructures PlanningGuidelines TheCostandScheduleEstimatingProcess TheIterationPlanningProcess PragmaticPlanning ProjectOrganizationsandResponsibilities LineofBusinessorganizations ProjectOrganizations EvolutionOrganizations ProcessAutomation Tools:AutomationBuildingBlocks TheProjectEnvironment

    07/20/13

  • "SoftwareProjectManagement"S.Ramakrishnan,AP/IT,SEC

    4/112

    Part3Part3SoftwareManagementDisciplines

    TableofContents(2)

    ProjectControlandProcessInstrumentation TheSevenCoreMetrics ManagementIndicators QualityIndicators LifeCycleExpectations PragmaticSoftwareMetrics MetricsAutomation TailoringtheProcess ProcessDiscriminants Example:SmallScaleProjectVersusLargescaleProject

    07/20/13

  • "SoftwareProjectManagement"S.Ramakrishnan,AP/IT,SEC

    5/112

    Part3Part3IterativeProcessPlanning

    WorkBreakdownStructures

    Thedevelopmentofaworkbreakdownstructureisdependentontheprojectmanagementstyle,organizationalculture,customerpreference,financialconstraintsandseveralotherhardtodefineparameters.

    AWBSissimplyahierarchyofelementsthatdecomposestheprojectplanintothediscreteworktasks.AWBSprovidesthefollowinginformationstructure:

    AdelineationofallsignificantworkAcleartaskdecompositionforassignmentofresponsibilitiesAframeworkforscheduling,budgeting,andexpendituretracking.

    07/20/13

  • "SoftwareProjectManagement"S.Ramakrishnan,AP/IT,SEC

    6/112

    Part3Part3IterativeProcessPlanning

    PlanningGuidelines

    Twosimpleplanningguidelinesshouldbeconsideredwhenaprojectplanisbeinginitiatedorassessed.

    ThefirstguidelineprescribesadefaultallocationofcostsamongthefirstlevelWBSelements

    Thesecondguidelineprescribestheallocationofeffortandscheduleacrossthelifecyclephases

    FIRSTLEVELWBSELEMENT

    DEFAULTBUDGET

    Management 10%

    Environment 10%

    Requirements 10%

    Design 15%

    Implementation 25%

    Assessment 25%

    Deployment 5%

    Total 100%

    DOMAIN INCEPTION ELABORATION CONSTRUCTION TRANSITION

    Effort 5% 20% 65% 10%

    Schedule 10% 30% 50% 10%

    07/20/13

  • "SoftwareProjectManagement"S.Ramakrishnan,AP/IT,SEC

    7/112

    Part3Part3IterativeProcessPlanning

    TheCostandScheduleEstimatingProcess

    Projectplansneedtobederivedfromtwoperspectives.Forwardlooking:

    1.Thesoftwareprojectmanagerdevelopsacharacterizationoftheoverallsize,process,environment,people,andqualityrequiredfortheproject2.Amacrolevelestimateofthetotaleffortandscheduleisdevelopedusinga

    softwarecostestimationmodel3.Thesoftwareprojectmanagerpartitionstheestimatefortheeffortintoatop

    levelWBS,alsopartitionsthescheduleintomajormilestonedatesandpartitionstheeffortintoastaffingprofile

    4.Atthispoint,subprojectmanagersaregiventheresponsibilityfordecomposingeachoftheWBSelementsintolowerlevelsusingtheirtoplevelallocation,staffingprofile,andmajormilestonedatesasconstraints.

    07/20/13

  • "SoftwareProjectManagement"S.Ramakrishnan,AP/IT,SEC

    8/112

    Part3Part3IterativeProcessPlanning

    TheCostandScheduleEstimatingProcess

    Backwardlooking:

    1.ThelowestlevelWBSelementsareelaboratedintodetailedtasks,forwhichbudgetsandschedulesareestimatedbytheresponsibleWBSelementmanager.2.Estimatesarecombinedandintegratedintohigherlevelbudgetsandmilestones.3.Comparisonsaremadewiththetopdownbudgetsandschedulemilestones.

    Grossdifferencesareassessedandadjustmentsaremadeinordertoconvergeonagreementbetweenthetopdownandthebottomupestimates.

    07/20/13

  • "SoftwareProjectManagement"S.Ramakrishnan,AP/IT,SEC

    9/112

    Part3Part3IterativeProcessPlanningTheIterationPlanningProcess

    EngineeringStage ProductionStage

    InceptionElaboration ConstructionTransition

    Engineeringstageplanningemphasis:

    Macroleveltaskestimationforproductionstageartifacts

    Microleveltaskestimationforengineeringartifacts

    Stakeholderconcurrence Coarsegrainedvarianceanalysisof

    actualvs.plannedexpenditures Tuningthetopdownprojectindependent

    planningguidelinesintoprojectspecificplanningguidelines.

    Productionstageplanningemphasis:

    Microleveltaskestimationforproductionstageartifacts

    Macroleveltaskestimationforengineeringartifacts

    Stakeholderconcurrence Finegrainedvarianceanalysisofactual

    vs.plannedexpenditures

    Feasibilityiterations Architectureiterations Usableiterations Productreleases

    07/20/13

  • "SoftwareProjectManagement"S.Ramakrishnan,AP/IT,SEC

    10/112

    Part3Part3ProjectOrganizationsandResponsibilities

    LineofBusinessOrganizations

    Defaultrolesinasoftwarelineofbusinessorganizations

    ProjectAManager

    ProjectBManager

    ProjectNManager

    OrganizationManager

    SoftwareEngineeringProcessAuthority

    SoftwareEngineeringEnvironmentAuthority

    ProjectReviewAuthority

    Infrastructure

    Processdefinition Processimprovement

    Processautomation

    Projectcompliance Periodicriskassessment

    Projectadministration Engineeringskillcenters Professionaldevelopment

    07/20/13

  • "SoftwareProjectManagement"S.Ramakrishnan,AP/IT,SEC

    11/112

    Part3Part3ProjectOrganizationsandResponsibilities

    ProjectOrganizations

    SoftwareManagementTeam

    Artifacts Businesscase Vision Softwaredevelopmentplan Workbreakdownstructure Statusassessments Requirementsset

    SystemsEngineering FinancialAdministration QualityAssurance Responsibilities

    Resourcecommitments Personnelassignments Plans,priorities, Stakeholdersatisfaction Scopedefinition Riskmanagement Projectcontrol

    Inception Elaboration Construction TransitionElaborationphaseplanningTeamformulatingContractbaseliningArchitecturecosts

    ConstructionphaseplanningFullstaffrecruitmentRiskresolutionProductacceptancecriteriaConstructioncosts

    TransitionphaseplanningConstructionplanoptimizationRiskmanagement

    CustomersatisfactionContractclosureSalessupportNextgenerationplanning

    LifeCycleFocus

    07/20/13

  • "SoftwareProjectManagement"S.Ramakrishnan,AP/IT,SEC

    12/112

    Part3Part3ProjectOrganizationsandResponsibilities

    ProjectOrganizations

    SoftwareArchitectureTeam

    Artifacts Architecturedescription Requirementsset Designset Releasespecifications

    Demonstrations Usecasemodelers Designmodelers Performanceanalysts Responsibilities

    Requirementstradeoffs Designtradeoffs Componentselection Initialintegration Technicalrisksolution

    Inception Elaboration Construction TransitionArchitectureprototypingMake/buytradeoffsPrimaryscenariodefinitionArchitectureevaluationcriteriadefinition

    ArchitecturebaseliningPrimaryscenariodemonstrationMake/buytradeoffsbaselining

    ArchitecturemaintenanceMultiplecomponentissueresolutionPerformancetuningQualityimprovements

    ArchitecturemaintenanceMultiplecomponentissueresolutionPerformancetuningQualityimprovements

    LifeCycleFocus

    07/20/13

  • "SoftwareProjectManagement"S.Ramakrishnan,AP/IT,SEC

    13/112

    Part3Part3ProjectOrganizationsandResponsibilities

    ProjectOrganizations

    SoftwareDevelopmentTeam

    Artifacts Designset Implementationset Deploymentset

    Componentteams

    Responsibilities Componentdesign Componentimplementation Componentstandalonetest Componentmaintenance Componentdocumentation

    Inception Elaboration Construction TransitionPrototypingsupportMake/buytradeoffs

    CriticalcomponentdesignCriticalcomponentimplementationandtestCriticalcomponentbaseline

    ComponentdesignComponentimplementationComponentstandalonetestComponentmaintenance

    ComponentmaintenanceComponentdocumentation

    LifeCycleFocus

    07/20/13

  • "SoftwareProjectManagement"S.Ramakrishnan,AP/IT,SEC

    14/112

    Part3Part3ProjectOrganizationsandResponsibilities

    ProjectOrganizations

    SoftwareAssessmentTeam

    Artifacts Deploymentset SCOdatabase Usermanual Environment Releasespecifications Releasedescriptions Deploymentdocuments

    Releasetesting Changemanagement Deployment Environmentsupport Responsibilities

    Projectinfrastructure Independenttesting Requirementsverification Metricsanalysis Configurationcontrol Changemanagement Userdeployment

    Inception Elaboration Construction TransitionInfrastructureplanningPrimaryscenarioprototyping

    InfrastructurebaseliningArchitecturereleasetestingChangemanagementInitialusermanual

    InfrastructureupgradesReleasetestingChangemanagementUsermanualbaselineRequirementsverification

    InfrastructuremaintenanceReleasebaseliningChangemanagementDeploymenttousersRequirementsverification

    LifeCycleFocus

    07/20/13

  • "SoftwareProjectManagement"S.Ramakrishnan,AP/IT,SEC

    15/112

    Part3Part3ProjectOrganizationsandResponsibilities

    EvolutionofOrganizations

    Softwaremanagement

    50%

    Softwareassessment

    10%

    Softwaredevelopment

    20%

    Softwarearchitecture

    20%

    Softwaremanagement

    10%

    Softwareassessment

    20%

    Softwaredevelopment

    20%

    Softwarearchitecture

    50%

    Softwaremanagement

    10%

    Softwareassessment

    50%

    Softwaredevelopment

    35%

    Softwarearchitecture

    5%

    Softwaremanagement

    10%

    Softwareassessment

    30%

    Softwaredevelopment

    50%

    Softwarearchitecture

    10%

    Inception ElaborationTransition Construction

    07/20/13

  • "SoftwareProjectManagement"S.Ramakrishnan,AP/IT,SEC

    16/112

    Part3Part3ProcessAutomation

    Computeraidedsoftwareengineering

    Computeraidedsoftwareengineering(CASE)issoftwaretosupportsoftwaredevelopmentandevolutionprocesses.

    Activityautomation Graphicaleditorsforsystemmodeldevelopment; Datadictionarytomanagedesignentities; GraphicalUIbuilderforuserinterfaceconstruction; Debuggerstosupportprogramfaultfinding; Automatedtranslatorstogeneratenewversionsofa

    program.

    07/20/13

  • "SoftwareProjectManagement"S.Ramakrishnan,AP/IT,SEC

    17/112

    Part3Part3ProcessAutomation

    Computeraidedsoftwareengineering(CASE)Technology

    Casetechnologyhasledtosignificantimprovementsinthesoftwareprocess.However,thesearenottheorderofmagnitudeimprovementsthatwereoncepredicted Softwareengineeringrequirescreativethoughtthisis

    notreadilyautomated; Softwareengineeringisateamactivityand,forlarge

    projects,muchtimeisspentinteaminteractions.CASEtechnologydoesnotreallysupportthese.

    07/20/13

  • "SoftwareProjectManagement"S.Ramakrishnan,AP/IT,SEC

    18/112

    Part3Part3ProcessAutomation

    CASEClassification

    ClassificationhelpsusunderstandthedifferenttypesofCASEtoolsandtheirsupportforprocessactivities.

    Functionalperspective Toolsareclassifiedaccordingtotheirspecificfunction.

    Processperspective Toolsareclassifiedaccordingtoprocessactivitiesthatare

    supported. Integrationperspective

    Toolsareclassifiedaccordingtotheirorganisationintointegratedunits.

    07/20/13

  • "SoftwareProjectManagement"S.Ramakrishnan,AP/IT,SEC

    19/112

    Part3Part3ProcessAutomationFunctionalToolClassification

    Tool type Examples

    Planning tools PERT tools, estimation tools, spreadsheets

    Editing tools Text editors, diagram editors, word processors

    Change management tools Requirements traceability tools, change control systems

    Configuration management tools Version management systems, system building tools

    Prototyping tools Very high-level languages, user interface generators

    Method-support tools Design editors, data dictionaries, code generators

    Language-processing tools Compilers, interpreters

    Program analysis tools Cross reference generators, static analysers, dynamic analysers

    Testing tools Test data generators, file comparators

    Debugging tools Interactive debugging systems

    Documentation tools Page layout programs, image editors

    Re-engineering tools Cross-reference systems, program re-structuring systems

    07/20/13

  • "SoftwareProjectManagement"S.Ramakrishnan,AP/IT,SEC

    20/112

    Part3Part3ProcessAutomation

    CASEIntegration

    Tools Supportindividualprocesstaskssuchasdesign

    consistencychecking,textediting,etc. Workbenches

    Supportaprocessphasesuchasspecificationordesign,Normallyincludeanumberofintegratedtools.

    Environments Supportallorasubstantialpartofanentiresoftware

    process.Normallyincludeseveralintegratedworkbenches.

    07/20/13

  • "SoftwareProjectManagement"S.Ramakrishnan,AP/IT,SEC

    21/112

    Part3Part3ProcessAutomation

    Tools,Workbenches,Environments

    Single-methodworkbenches

    Gener al-purposeworkbenches

    Multi-methodworkbenches

    Langua ge-specificworkbenches

    Programming TestingAnal ysis anddesign

    Integ rateden vironments

    Pr ocess-centr eden vironments

    Filecompar atorsCompilersEditors

    EnvironmentsWor kbenchesTools

    CASEtechnolo gy

    07/20/13

  • "SoftwareProjectManagement"S.Ramakrishnan,AP/IT,SEC

    22/112

    Part3Part3ProjectControlandProcessInstrumentation

    TheCoreMetrics

    METRIC PURPOSE PERSPECTIVES

    Workandprogress Iterationplanning,planvs.actuals,managementindicator

    SLOC,functionpoints,objectpoints,scenarios,testcases,SCOs

    Budgetcostandexpenditures Financialinsight,planvs.actuals,managementindicator

    Costpermonth,fulltimestaffpermonth,percentageofbudgetexpended

    Staffingandteamdynamics Resourceplanvs.actuals,hiringrate,attritionrate Peoplepermonthadded,peoplepermonthleaving

    Changetrafficandstability Iterationplanning,managementindicatorofscheduleconvergence

    Softwarechanges

    Breakageandmodularity Convergence,softwarescrap,qualityindicator ReworkedSLOCperchange,bytype,byrelease/component/subsystem

    Reworkandadoptability Convergence,softwarerework,qualityindicator Averagehoursperchange,bytype,byrelease/component/subsystem

    07/20/13

  • "SoftwareProjectManagement"S.Ramakrishnan,AP/IT,SEC

    23/112

    Part3Part3TailoringtheProcess

    ProcessDiscriminants

    ThetwoprimarydimensionsofprocessvariabilityHighertechnicalcomplexityEmbedded,realtime,distributed,faulttolerantHighperformance,portableUnprecedented,architecturereengineering

    LowertechnicalcomplexityStraightforwardautomation,singlethreadInteractiveperformance,singleplatformManyprecedentsystems,applicationreengineering

    HighermanagementcomplexityLargescaleContractualManystakeholdersProjects

    LowermanagementcomplexitySmallerscaleInformalFewstakeholdersProducts

    Averagesoftwareproject5to10people10to12months3to5externalinterfacesSomeunknowns,risks

    07/20/13

  • "SoftwareProjectManagement"S.Ramakrishnan,AP/IT,SEC

    24/112

    Part3Part3TailoringtheProcess

    Example:SmallScaleProjectvs.LargeScaleProject

    Differencesinworkflowprioritiesbetweensmallandlargeprojects

    Rank SmallCommercialProject LargeComplexProject

    1 Design Management

    2 Implementation Design

    3 Deployment Requirements

    4 Requirements Assessment

    5 Assessments Environment

    6 Management Implementation

    7 Environment Deployment07/20/13

    Software Project Management UNIT -IIIPart 3 Software Management Disciplines Table of Contents (1)Part 3 Software Management Disciplines Table of Contents (2)Part 3 Iterative Process Planning Work Breakdown StructuresPart 3 Iterative Process Planning Planning GuidelinesPart 3 Iterative Process Planning The Cost and Schedule Estimating ProcessSlide 8Part 3 Iterative Process Planning The Iteration Planning ProcessPart 3 Project Organizations and Responsibilities Line-of-Business OrganizationsPart 3 Project Organizations and Responsibilities Project OrganizationsSlide 12Slide 13Slide 14Part 3 Project Organizations and Responsibilities Evolution of OrganizationsPart 3 Process Automation Computer-aided software engineeringPart 3 Process Automation Computer-aided software engineering (CASE) TechnologyPart 3 Process Automation CASE ClassificationPart 3 Process Automation Functional Tool ClassificationPart 3 Process Automation CASE IntegrationPart 3 Process Automation Tools, Workbenches, EnvironmentsPart 3 Project Control and Process Instrumentation The Core MetricsPart 3 Tailoring the Process Process DiscriminantsPart 3 Tailoring the Process Example: Small-Scale Project vs. Large-Scale Project