mca sem5 mc9252nol

Upload: chandra-bhushan

Post on 03-Apr-2018

226 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/28/2019 Mca Sem5 Mc9252nol

    1/141

    Software Project

    ManagementIntro to Project Management

    Presentation ByNISHA R.S.Lecturer,

    Dept. of MCA

  • 7/28/2019 Mca Sem5 Mc9252nol

    2/141

    Course Objectives

    Understand the fundamental principles of SoftwareProject management & will also have a goodknowledge of responsibilities of project manager andhow to handle these.

    Be familiar with the different methods and techniquesused for project management.

    By the end of this course student will have goodknowledge of the issues and challenges faced whiledoing the Software project Management and will alsobe able to understand why majority of the softwareprojects fails and how that failure probability can bereduced effectively. Will be able to do the ProjectScheduling, tracking, Risk analysis, Quality

    management and Project Cost estimation usingdifferent techniques

  • 7/28/2019 Mca Sem5 Mc9252nol

    3/141

    Unit I

    Introduction

  • 7/28/2019 Mca Sem5 Mc9252nol

    4/141

    Project Definition

    In the broadest sense, a project is aspecific, finite task to beaccomplished. Any activity that results

    in a deliverable or a product.

    Projects always begin with a problem.The project is to provide the solutionto this problem.

    When the project is finished it must be

    evaluated to determine whether itsatisfies the ob ectives and oals.

  • 7/28/2019 Mca Sem5 Mc9252nol

    5/141

    What is Management?

    Management can be defined as all activitiesand tasks undertaken by one or morepersons for the purpose ofplanning and

    controlling the activities of others in order toachieve objectives or complete an activitythat could not be achieved by others actingindependently.

    Management functions can be categorized as Planning

    Organizing

    Staffing

    Directing Controllin

  • 7/28/2019 Mca Sem5 Mc9252nol

    6/141

    Management Functions

    PlanningPredetermining a course of action for accomplishingorganizational Objectives

    Organizing

    Arranging the relationships among work units foraccomplishment of objectives and the granting ofresponsibility and authority to obtain those objectives

    StaffingSelecting and training people for positions in theorganization

    DirectingCreating an atmosphere that will assist and motivatepeople to achieve desired end results

    ControllingEstablishing, measuring, and evaluating performanceof activities toward planned objectives

  • 7/28/2019 Mca Sem5 Mc9252nol

    7/141

    What is Project Management

    The application of knowledge, skills,tools and techniques to projectactivities in order to meet projectrequirements

  • 7/28/2019 Mca Sem5 Mc9252nol

    8/141

    What is Project Management

    Project management is a system of

    management procedures,

    practices,

    technologies,

    skills, and

    experience

    that are necessary to successfullymanage a project.

  • 7/28/2019 Mca Sem5 Mc9252nol

    9/141

    Software Project Management

    Concerned with activities involved inensuringthat software is delivered:

    on time

    on schedule

    in accordance with the requirementsof the organization developing andprocuring the software

  • 7/28/2019 Mca Sem5 Mc9252nol

    10/141

    Project Stakeholders

    Stakeholders are the people involvedin or affected by the project actives

    Stakeholders include

    The project sponsor and project team

    Support staff

    Customers

    Users

    Suppliers

    Opponents to the project

  • 7/28/2019 Mca Sem5 Mc9252nol

    11/141

    Project Characteristics

    One clear objective A well defined set of end results Goal oriented End product or service must result

    Finite Fixed timeline, start date, end date, milestone dates

    Limited

    Budget, Resources, Time

    Life Cycle Recognizable sequence of phases

  • 7/28/2019 Mca Sem5 Mc9252nol

    12/141

    ManagementProjectSoftware

    23. Appraising Performance24. Handling Intellectual Property

    25. Holding Effective Meetings

    26. Interaction and Communication

    27. Leadership

    28. Managing Change

    29. Negotiating Successfully

    30. Planning Careers

    31. Presenting Effectively

    32. Recruiting33. Selecting a Team

    34. Teambuilding

    12. Building a WBS13. Documenting Plans

    14. Estimating Costs

    15. Estimating Effort

    16. Managing Risks

    17. Monitoring Development

    18. Scheduling

    19. Selecting Metrics

    20. Selecting Project Mgmt Tools

    21. Tracking Process22. Tracking Project Progress

    1. Assessing Processes2. Awareness of Process Standards

    3. Defining the Product

    4. Evaluating Alternative Processes

    5. Managing Requirements

    6. Managing Subcontractors

    7. Performing the Initial Assessment

    8. Selecting Methods and Tools

    9. Tailoring Processes

    10. Tracking Product Quality11. Understanding Development Activities

    34 Competencies Every Software Project Manager Needs to Know

    PeopleProjectProduct

    PeopleProject

    Product

  • 7/28/2019 Mca Sem5 Mc9252nol

    13/141

    Product Life Cycles

    Products also have life cycles

    The Systems Development Life Cycle

    (SDLC) is a framework for describingthe phases involved in developing andmaintaining information systems

    Typical SDLC phases include planning,

    analysis, design, implementation, andsupport

  • 7/28/2019 Mca Sem5 Mc9252nol

    14/141

    Steps in SDLC

    Concept Exploration

    System exploration

    Requirements

    Design Implementation

    Installation

    Operations and support

    Maintenance

    Retirement

  • 7/28/2019 Mca Sem5 Mc9252nol

    15/141

    Process & Process Model

    Software Process

    the set of activities, methods, andpractices that are used in the production

    and evolution of software

    Software Process Model

    one specific embodiment of a software

    process architecture

  • 7/28/2019 Mca Sem5 Mc9252nol

    16/141

    Why Modeling?

    To provide a common understanding

    To locate any inconsistencies,

    redundancies and omissionsTo reflect the development goals and

    provide early evaluation

    To assist development team tounderstand any special situation

  • 7/28/2019 Mca Sem5 Mc9252nol

    17/141

    Sample SDLC Models

    Waterfall model: has well-defined, linearstages of systems development and support

    Spiral model: shows that software is

    developed using an iterative or spiralapproach rather than a linear approach

    Incremental release model: provides forprogressive development of operationalsoftware

    RAD model: used to produce systemsquickly without sacrificing quality

    Prototyping model: used for developingprototypes to clarify user requirements

  • 7/28/2019 Mca Sem5 Mc9252nol

    18/141

    Waterfall Model

    RequirementAnalysis

    SystemDesign

    Coding

    Testing

    Maintenance

  • 7/28/2019 Mca Sem5 Mc9252nol

    19/141

    Waterfall Model (contd)

    classical

    one-shot approach

    effective controllimited scope of iteration

    long cycle time

    not suitable for system of highuncertainty

  • 7/28/2019 Mca Sem5 Mc9252nol

    20/141

    V Model

    RequirementsAnalysis

    System Design

    Program Design

    Coding

    Unit and

    Integration Testing

    System Testing

    Maintenance

    User AcceptanceTesting

  • 7/28/2019 Mca Sem5 Mc9252nol

    21/141

    V Model (contd)

    Additional validation processintroduced

    Relate testing to analysis and designLoop back in case of discrepancy

  • 7/28/2019 Mca Sem5 Mc9252nol

    22/141

    Spiral Model (adapted from Boehm 1987)

  • 7/28/2019 Mca Sem5 Mc9252nol

    23/141

    Spiral Model (contd)

    Evolutionary approach

    Iterative development combined with

    risk managementRisk analysis results in go, no-go

    decision

  • 7/28/2019 Mca Sem5 Mc9252nol

    24/141

    Spiral Model (contd)

    Four major activities

    Planning

    Risk analysis

    Engineering

    Customer evaluation

  • 7/28/2019 Mca Sem5 Mc9252nol

    25/141

    Prototyping Model

    Goals

    meet users requirements in early stage

    reduce risk and uncertainty

  • 7/28/2019 Mca Sem5 Mc9252nol

    26/141

    Classification of Prototype

    Throw-awayAfter users agree the requirements of the

    system, the prototype will be discarded.

    EvolutionaryModifications are based on the existing

    prototype.

    IncrementalFunctions will be arranged and built

    accordingly.

  • 7/28/2019 Mca Sem5 Mc9252nol

    27/141

    Prototyping Model

    Build prototype Usersatisfaction

    YES

    NO

    User feedback

  • 7/28/2019 Mca Sem5 Mc9252nol

    28/141

    Benefits of Prototyping

    Learning by doing

    Improved communication

    Improved user involvementClarification of partially-known

    requirements

  • 7/28/2019 Mca Sem5 Mc9252nol

    29/141

    Prototyping Sequences

    Requirements gathering

    Quick design

    Prototype construction

    Customer evaluation

    Refinement

    Loop back to quick design for fine tuning

    Product engineering

  • 7/28/2019 Mca Sem5 Mc9252nol

    30/141

    Benefits of Prototyping

    Demonstration of the consistency andcompleteness of a specification

    Reduced need for documentation

    Reduced maintenance costs

    Feature constraint

    Production of expected results

  • 7/28/2019 Mca Sem5 Mc9252nol

    31/141

    Drawbacks of Prototyping

    Users sometimes misunderstand therole of the prototype

    Lack of project standards possible

    Lack of control

    Additional expense

    Close proximity of developers

  • 7/28/2019 Mca Sem5 Mc9252nol

    32/141

    Forms of Prototypes

    Mock-ups

    Simulated interaction

    Partial working model

  • 7/28/2019 Mca Sem5 Mc9252nol

    33/141

    Incremental Model

    Break system into small components

    Implement and deliver smallcomponents in sequence

    Every delivered component providesextra functionality to user

  • 7/28/2019 Mca Sem5 Mc9252nol

    34/141

    Incremental Model (contd)

    RequirementsAnalysis

    Arrangerequirements

    in increments

    Validate

    increment

    Design anddevelop

    increment

    Integrate

    increment

    YES

    NO

    System

    OK?

  • 7/28/2019 Mca Sem5 Mc9252nol

    35/141

    Iterative Model

    Deliver full system in the beginning

    Enhance functionality in new releases

  • 7/28/2019 Mca Sem5 Mc9252nol

    36/141

    Iterative Model (contd)

    Develop systemversion n

    Validate systemversion n

    YES

    NO

    Design system

    version n

    Systemcomplete

    n = n+1

  • 7/28/2019 Mca Sem5 Mc9252nol

    37/141

    Why Have Project Phases andManagement Reviews?

    A project should successfully pass

    through each of the project phases inorder to continue on to the next

    Management reviews (also calledphase exits or kill points) should occur

    after each phase to evaluate theprojects progress, likely success, andcontinued compatibility with

    organizational goals

  • 7/28/2019 Mca Sem5 Mc9252nol

    38/141

    Distinguishing Project Life Cycles andProduct Life Cycles

    The project life cycle applies to allprojects, regardless of the productsbeing produced

    Product life cycle models varyconsiderably based on the nature of theproduct

    Most large IT products are developedas a series of projects

    Project management is done in all ofthe product life cycle phases

  • 7/28/2019 Mca Sem5 Mc9252nol

    39/141

    Capability Maturity Model

    The CMM is a process model based on software best-practices effective in large-scale, multi-person projects.

    The CMM has been used to assess the maturity levelsof organization areas as diverse as software

    engineering, system engineering, project management,risk management, system acquisition, informationtechnology (IT) or personnel management, against ascale of five key processes, namely:Initial,

    Repeatable,Defined,Managed andOptimized.

    http://en.wikipedia.org/wiki/Software_engineeringhttp://en.wikipedia.org/wiki/Software_engineeringhttp://en.wikipedia.org/wiki/System_engineeringhttp://en.wikipedia.org/wiki/Project_managementhttp://en.wikipedia.org/wiki/Risk_managementhttp://en.wikipedia.org/wiki/Information_technologyhttp://en.wikipedia.org/wiki/Information_technologyhttp://en.wikipedia.org/wiki/Information_technologyhttp://en.wikipedia.org/wiki/Information_technologyhttp://en.wikipedia.org/wiki/Risk_managementhttp://en.wikipedia.org/wiki/Project_managementhttp://en.wikipedia.org/wiki/System_engineeringhttp://en.wikipedia.org/wiki/Software_engineeringhttp://en.wikipedia.org/wiki/Software_engineering
  • 7/28/2019 Mca Sem5 Mc9252nol

    40/141

    Level 1 - Initial

    At maturity level 1, processes areusually ad hoc, and the organizationusually does not provide a stable

    environment. Success in theseorganizations depends on thecompetence and heroics of the people

    in the organization, and not on theuse of proven processes

    http://en.wikipedia.org/wiki/Ad_hochttp://en.wikipedia.org/wiki/Ad_hoc
  • 7/28/2019 Mca Sem5 Mc9252nol

    41/141

    Level 2 - Repeatable

    At maturity level 2, softwaredevelopment successes arerepeatable. The processes may not

    repeat for all the projects in theorganization. The organization mayuse some basic project management

    to track cost and schedule.

    http://en.wikipedia.org/wiki/Project_managementhttp://en.wikipedia.org/wiki/Project_management
  • 7/28/2019 Mca Sem5 Mc9252nol

    42/141

    Level 3 - Defined

    The organizations set of standardprocesses, which are the basis for level 3,are established and improved over time.

    These standard processes are used toestablish consistency across theorganization. Projects establish theirdefined processes by applying the

    organizations set of standard processes,tailored, if necessary, within similarlystandardized guidelines.

  • 7/28/2019 Mca Sem5 Mc9252nol

    43/141

    Level 4 - Quantitatively Managed

    Using precise measurements,management can effectively controlthe software development effort. In

    particular, management can identifyways to adjust and adapt the processto particular projects without

    measurable losses of quality ordeviations from specifications

  • 7/28/2019 Mca Sem5 Mc9252nol

    44/141

    Level 5 - Optimizing

    Maturity level 5 focuses on continuallyimproving process performance throughboth incremental and innovative

    technological improvements. Quantitativeprocess-improvement objectives for theorganization are established, continuallyrevised to reflect changing business

    objectives, and used as criteria inmanaging process improvement.

  • 7/28/2019 Mca Sem5 Mc9252nol

    45/141

    International Organization forStandardization(ISO)

    12 Engineering Activities Systems requirement analysis

    System architectural design

    Software requirement analysis

    Software architectural design Software detailed design

    Software coding and testing

    Software Integration

    Software qualification testing

    System integration System qualification testing

    Software installation

    Software acceptance test

  • 7/28/2019 Mca Sem5 Mc9252nol

    46/141

    Unit II

    Domain Processes

    Scope Planning and the Scope

  • 7/28/2019 Mca Sem5 Mc9252nol

    47/141

    Scope Planning and the ScopeStatement

    A scope statement is a document usedto develop and confirm a commonunderstanding of the project scope. It

    should include a project justification

    a brief description of the projects products

    a summary of all project deliverables a statement of what determines project

    success

    Scope Planning and the Work

  • 7/28/2019 Mca Sem5 Mc9252nol

    48/141

    Scope Planning and the WorkBreakdown Structure

    After completing scope planning, thenext step is to further define the workby breaking it into manageable pieces

    Good scope definition helps improve the accuracy of time, cost,

    and resource estimates

    defines a baseline for performancemeasurement and project control

    aids in communicating clear workresponsibilities

    The Work Breakdown

  • 7/28/2019 Mca Sem5 Mc9252nol

    49/141

    The Work BreakdownStructure

    A work breakdown structure (WBS) isan outcome-oriented analysis of thework involved in a project that defines

    the total scope of the project

    It is a foundation document in projectmanagement because it provides the

    basis for planning and managingproject schedules, costs, and changes

  • 7/28/2019 Mca Sem5 Mc9252nol

    50/141

    WBS

    WBS was initially developed by the U.S.defense establishment, and it is described inMilitary Standard (MIL-STD) 881B (25 Mar

    93) as follows:

    "A work breakdown structure is a product-oriented family tree composed of hardware,

    software, services, data and facilities .... [it]displays and defines the product(s) to bedeveloped and/or produced and relates theelements of work to be accomplished to

    each other and to the end product(s)."

  • 7/28/2019 Mca Sem5 Mc9252nol

    51/141

    Sample Intranet WBS Organized by

    Product

  • 7/28/2019 Mca Sem5 Mc9252nol

    52/141

    Sample Intranet WBS Organized byPhase

  • 7/28/2019 Mca Sem5 Mc9252nol

    53/141

    Intranet WBS in Tabular Form1.0 Concept

    1.1 Evaluate current systems

    1.2 Define Requirements1.2.1 Define user requirements

    1.2.2 Define content requirements

    1.2.3 Define system requirements

    1.2.4 Define server owner requirements

    1.3 Define specific functionality1.4 Define risks and risk management approach

    1.5 Develop project plan

    1.6 Brief web development team

    2.0 Web Site Design

    3.0 Web Site Development

    4.0 Roll Out

    5.0 Support

    Approaches to Developing

  • 7/28/2019 Mca Sem5 Mc9252nol

    54/141

    Approaches to DevelopingWBSs

    Using guidelines: Some organizations,like the DOD, provide guidelines forpreparing WBSs

    The analogy approach: It often helps to

    review WBSs of similar projectsThe top-down approach: Start with the

    largest items of the project and keepbreaking them down

    The bottoms-up approach: Start withthe detailed tasks and roll them up

  • 7/28/2019 Mca Sem5 Mc9252nol

    55/141

    S V ifi ti d S

  • 7/28/2019 Mca Sem5 Mc9252nol

    56/141

    Scope Verification and ScopeChange Control

    It is very difficult to create a good scopestatement and WBS for a project

    It is even more difficult to verify project

    scope and minimize scope changesMany IT projects suffer from scope

    creep and poor scope verification

    Factors Causing IT Project

  • 7/28/2019 Mca Sem5 Mc9252nol

    57/141

    Factors Causing IT ProjectProblems*

    Factor Rank Lack of user input 1

    Incomplete requirements and specifications 2

    Changing requirements and specifications 3

    Lack of executive support 4

    Technology incompetence 5Lack of resources 6

    Unrealistic expectations 7

    Unclear objectives 8

    Unrealistic time frames 9

    New Technology 10

    *Johnson, Jim, "CHAOS: The Dollar Drain of IT Project Failures," Application Development Trends,

    January 1995, www.stadishgroup.com/chaos.html

  • 7/28/2019 Mca Sem5 Mc9252nol

    58/141

    Suggestions for Improving UserInput

    Insist that all projects have a sponsorfrom the user organization

    Have users on the project team

    Have regular meetings

    Deliver something to project users andsponsor on a regular basis

    Co-locate users with the developers

    Incomplete and Changing

  • 7/28/2019 Mca Sem5 Mc9252nol

    59/141

    Incomplete and ChangingRequirements

    Develop and follow a requirements management process Employ techniques such as prototyping, use case

    modeling, and Joint Application Design to thoroughlyunderstand user requirements

    Put all requirements in writing and current

    Create a requirements management database

    Provide adequate testing

    Use a process for reviewing requested changes from asystems perspective

    Emphasize completion dates

  • 7/28/2019 Mca Sem5 Mc9252nol

    60/141

    Unit III

    Software Development

  • 7/28/2019 Mca Sem5 Mc9252nol

    61/141

    Software Size and ReuseEstimating

  • 7/28/2019 Mca Sem5 Mc9252nol

    62/141

    Software Size and Reuse Estimating

  • 7/28/2019 Mca Sem5 Mc9252nol

    63/141

    Predicting the size of a softwaresystem becomes progressively easier

    as the project advances

    At no other time are the

    estimates so important than at the

    beginning of a project

  • 7/28/2019 Mca Sem5 Mc9252nol

    64/141

    Product Development Life Cycle

    Estimating size and effort will occurmany times during the life cycle

    After requirements, after analysis,after design, and so on...

  • 7/28/2019 Mca Sem5 Mc9252nol

    65/141

    Learning Objectives

    Explain why the sizing of software is animportant estimating technique

    Describe how Work Breakdown Structurecan be used to estimate software size

    List, explain and describe several modelsused to estimate size

    Summarize the advantages anddisadvantages of the models

    Explain the impact of reused softwarecomponents upon the size estimate

  • 7/28/2019 Mca Sem5 Mc9252nol

    66/141

    Problems with Estimating

    Problem is not well understood

    Little or no historical data

    No standardsManagement uses estimates as

    performance goals

    Developers are optimistic

    Customer demands quick estimates

    etc...

  • 7/28/2019 Mca Sem5 Mc9252nol

    67/141

    Risks of Estimating

    If incomplete or incorrect estimate:

    disappointing the customer

    possibly losing future business

    too optimistic fixed-price contract result inthe contractor losing money and losingface

  • 7/28/2019 Mca Sem5 Mc9252nol

    68/141

    How to tackle size-related risks

    Produce a WBS, decomposed to the lowestlevel possible smaller is easier toestimate

    Review assumptions with all stakeholders

    Research past organizational experiencesand historical data

    Stay in close communication with otherdevelopers, common language

    Update estimates

    Use many size estimating methods

    Educate staff in estimation methods

    Getting St ted

  • 7/28/2019 Mca Sem5 Mc9252nol

    69/141

    Getting StartedSizing is the prediction of product

    deliverables needed to fulfill requirementsEstimation is the prediction of effort

    needed to produce the deliverables

    WBS is a description of the work to be

    performed, broken down into key elementsWBS is our TOC, a hierarchical list of the

    work activities required to complete aproject

    Choose a method and stick with it

    Compare actual data to planned estimates

    Everything should be counted, anyobservable physical piece of software

  • 7/28/2019 Mca Sem5 Mc9252nol

    70/141

    Size measures

    Lines of Code (LOC)

    Function Points

    Feature PointsObject Points

    Model Blitz

    Wideband Delphi

  • 7/28/2019 Mca Sem5 Mc9252nol

    71/141

    Lines of Code

    Very difficult to know how many LOC will beproduced before they are written or evendesigned

    LOC measure has become infamous

    Still the most used metric

    Average programmer productivity rateremains despite of new languages

    Functionality and quality are the realconcerns, not the LOC

    Lines of Code 2

  • 7/28/2019 Mca Sem5 Mc9252nol

    72/141

    Lines of Code 2

    WBS should be decomposed to the lowestlevel possible

    Estimating using expert opinions, askingexperts who have developed similar

    systemsEstimating using Bottom-Up summing,asking developers to estimate the size ofeach decomposed level

    Ask for an optimistic (200), pessimistic(400) and realistic size (250) estimate(200+400+(4*250)) / 6 = 266 LOC

    What exactly is a line of code? Standardsand rules needed

  • 7/28/2019 Mca Sem5 Mc9252nol

    73/141

    Lines of Code 3

    Translate the number of LOC to assemblylanguage line in order to make comparisonsbetween programming languages

    e.g.convert 50,000 LOC system written in C toJavaAssembler level for C = 2.5, Java = 650,000 * 2.5 = 125,000 if written inassembler125,000 / 6 = 20,833 LOC if written in Java

    Advantages of LOC

  • 7/28/2019 Mca Sem5 Mc9252nol

    74/141

    Advantages of LOC

    Widely used and acceptedAllows for comparison between diverse

    development groups

    Directly relates to the end product

    Easily measured upon project completion

    Measure from the developers point of view

    Continuous improvement

    Disadvantages of LOC

  • 7/28/2019 Mca Sem5 Mc9252nol

    75/141

    Disadvantages of LOCDifficult to estimate early in the life cycle

    Source instructions variate with language,design, programmer etc.

    No industry standars for counting LOC

    Fixed costs are not included with coding

    Programmers may be rewarded for largeLOC counts

    Distinguish between generated code andhand-crafted code

    Can not be used for normalizing iflanguages are different

    Only existing products and expert opinionscan be used to predict a LOC count

  • 7/28/2019 Mca Sem5 Mc9252nol

    76/141

    Function Points

    Idea:software is better measured in termsof the number and complexity of the

    functions that it performsFunction points measure categories of

    end-user business functions

  • 7/28/2019 Mca Sem5 Mc9252nol

    77/141

    Function Point Process Steps1. Count number of functions in each

    category (outputs, inputs, interfacesetc..)

    2. Apply complexity weighting factors(simple, medium, complex)

    3. Apply environmental factors

    4. Calculate complexity adjustment factor

    5. Compute adjusted function points6. Convert to Lines of Code (optional)

  • 7/28/2019 Mca Sem5 Mc9252nol

    78/141

    Advantages of Function Point Analysis

    Can be applied early in the life cycle

    Independent of language and technology

    Provide a reliable relationship to effort

    Can be used as a productivity goalUsers understand better

    Provide a mechanism to track and monitorscope

    Environmental factors are considered

  • 7/28/2019 Mca Sem5 Mc9252nol

    79/141

    Disadvantages of Function Point Analysis

    Requires subjective evaluations

    Results depend on technology usedto implement the analysis

    Many effort and cost models dependon LOC, must be converted

    Best after the creation of a designspecification

    Not good to non-MIS applications

  • 7/28/2019 Mca Sem5 Mc9252nol

    80/141

    Feature Points

    Extension of the function pointmethod

    Designed to deal with different kinds

    of applications, like embedded or real-time systems

    A feature point is a new category of

    function point that represent complexalgorithms

    Areas where Feature Points are

  • 7/28/2019 Mca Sem5 Mc9252nol

    81/141

    Areas where Feature Points areused

    RTS such as missile defense systems

    System software

    Embedded Systems like radarnavigation packages

    CAD & CAM

  • 7/28/2019 Mca Sem5 Mc9252nol

    82/141

    Feature Point Process Steps

    1. Count number of feature points in eachcategory

    2. Count feature points (algorithms)

    3. Weigh Complexity (avg for featurepoints, simple/avg/complex foralgorithms)

    4. Evaluate environmental factors

    5. Calculate complexity adjustment factor

    6. Adjust feature points

    7. Convert to LOC (optional)

    Advantages of Feature Point

  • 7/28/2019 Mca Sem5 Mc9252nol

    83/141

    Advantages of Feature PointAnalysis

    Same as in function point analysis

    Additional advantage foralgorithmically intensive systems

    Disadvantages of Feature Point

  • 7/28/2019 Mca Sem5 Mc9252nol

    84/141

    Disadvantages of Feature PointAnalysis

    Primary disadvantage:

    subjective classification of algorithmic

    complexity

    Obj t P i t

  • 7/28/2019 Mca Sem5 Mc9252nol

    85/141

    Object Points

    Method developed for object-orientedtechnology

    Counting object points to determinesoftware size

    Conducted at a more macro level thanfunction points

    Assigns one object point to each uniqueclass or object

    Otherwise similar to function and featurepoints

    M d l Blit

  • 7/28/2019 Mca Sem5 Mc9252nol

    86/141

    Model Blitz

    Estimating gets better with each passingphase

    Concept of blitz modelling is counting

    number of process (object classes) *number of programs per class * avgprogram size = Estimated size (LOC)

    A historical database is essential

    Function-strong systems and data-strongsystems are calculated separately

    d

  • 7/28/2019 Mca Sem5 Mc9252nol

    87/141

    Contd

    20 object classes implemented to 5procedural programs & on an avg 75LOC per procedural prg

    No. of Process X no. of programs perclass X Avg Prg Size = Estimated Size

    20 X 5 X 75 = ?

    7500 LOC

  • 7/28/2019 Mca Sem5 Mc9252nol

    88/141

    Advantages of Model Blitz

    Easy to use with structured methodsand with object-oriented classes

    Accuracy increases with historical data

    Continuous improvement activitiesused for estimation techniques

  • 7/28/2019 Mca Sem5 Mc9252nol

    89/141

    Disadvantages of Model Blitz

    Requires use of design methodology

    Estimation can not begin until designis complete

    Requires historical data

    Does not evaluate environmentalfactors

    Wid b d D l hi

  • 7/28/2019 Mca Sem5 Mc9252nol

    90/141

    Wideband Delphi

    Popular and simple technique toestimate size and effort

    Group consensus approach

    Uses experience of several people toreach an estimate

    Wid b d D l hi t

  • 7/28/2019 Mca Sem5 Mc9252nol

    91/141

    Wideband Delphi steps

    1. Present experts with the problemand a response form

    2. Group discussion

    3. Collect opinions anonymously

    4. Feed back a summary of results

    5. Another group discussion

    6. Iterate until consensus

  • 7/28/2019 Mca Sem5 Mc9252nol

    92/141

    Advantages of Wideband Delphi

    Easy and inexpensive

    Expertise of several people

    Participants become better educated

    about the software and projectDoes not require historical data

    Used for high-level and detailed

    estimationResults more accurate than in LOC

    Disadvantages of Wideband

  • 7/28/2019 Mca Sem5 Mc9252nol

    93/141

    Disadvantages of WidebandDelphiDifficult to repeat with different group of

    experts

    Possible to reach consensus on anincorrect estimate, people may not beskeptical enough

    Can develop a false sense of confidence

    May fail to reach a consensus

    Experts may be biased in the samesubjective direction

  • 7/28/2019 Mca Sem5 Mc9252nol

    94/141

    Effects of Reuse on Software Size

    Many softwares are derived from previousprograms

    Result in savings of cost and time, increased

    qualityCan also cost more, take longer time and

    yield lower quality

    First step in code reuse is to separate new

    code from modified and reused code

  • 7/28/2019 Mca Sem5 Mc9252nol

    95/141

    Effects of Reuse continues

    If the unit has changed, it is modified If more than 50% of the unit is changed, it

    is considered to be new

    Reused code will be converted to

    equivalent new codeConversion factor reflects the amount of

    effort saved by reuse

    Reuse factors come from experience (e.g.

    30% for reused, 60% for modified)Can also be done on more accurate level

  • 7/28/2019 Mca Sem5 Mc9252nol

    96/141

    Unit IV

    Scheduling Activities

    Project management resourceti iti

  • 7/28/2019 Mca Sem5 Mc9252nol

    97/141

    activities.

    Inference management is the process ofmanaging all the different interfaces withother people and groups related to theproduct and the project, it includesidentifying, documenting, scheduling,communicating, and monitoring theseinterfaces throughout the course of project.

    Kinds of interfaces:

  • 7/28/2019 Mca Sem5 Mc9252nol

    98/141

    Personal

    Organizational

    System

    PERSONAL

    It deals with all conflicts involving people in or

  • 7/28/2019 Mca Sem5 Mc9252nol

    99/141

    It deals with all conflicts involving people in orrelated to the project.

    ORGANIZATIONAL

    It deals with conflicts due to varyingorganizational goals and the different managementstyles of the

    project and resource supplying organizations.

    SYSTEMIt deals with the product, facility, or othernon people interfaces developed by the project.

    Organizational structure:

  • 7/28/2019 Mca Sem5 Mc9252nol

    100/141

    "An organization is a system thatexchanges materials,personnel, manpower, and energy

    with the environment

    TYPES OF ORGANIZATIONS:

  • 7/28/2019 Mca Sem5 Mc9252nol

    101/141

    TYPES OF ORGANIZATIONS:

    Functional organizations

    Matrix organizations

    Projectized organizations

    Combination of all the above

  • 7/28/2019 Mca Sem5 Mc9252nol

    102/141

    FUNCTIONAL ORGANIZATIONS

    The functional organization is astandard old-fashionedorganization. It is the style in which

    people are divided into theirfunctional specialties and report to afunctional area manager.

  • 7/28/2019 Mca Sem5 Mc9252nol

    103/141

    MATRIX ORGANIZATIONS

    In the matrix organizations there is abalance of powerestablished between the functional

    and project managers. The project worker in a matrixorganization has a multiplecommand system of accountability

    and responsibility.

    PROJECTIZED ORGANISATIONS:

  • 7/28/2019 Mca Sem5 Mc9252nol

    104/141

    PROJECTIZED ORGANISATIONS:

    In projectized organizations theproject manger has totalauthority and acts like a mini-CEO.

    All personnel assigned to the projectreport to projectmanager.

    Software development

  • 7/28/2019 Mca Sem5 Mc9252nol

    105/141

    pdependencies

    "Dependencies are any relationshipconnections between activities ina project that may impact their

    scheduling".

  • 7/28/2019 Mca Sem5 Mc9252nol

    106/141

  • 7/28/2019 Mca Sem5 Mc9252nol

    107/141

    DEPENDENCY RELATIONSHIPS:

    Finish-to-start(FS)Start-to-start(SS)Finish-to-finish(FF)

    Start-to-finish(SF)

    Scheduling fundamentals:

  • 7/28/2019 Mca Sem5 Mc9252nol

    108/141

    The three most common forms ofpresenting a project schedule are: Table.

    Gantt chart. Network diagram.

  • 7/28/2019 Mca Sem5 Mc9252nol

    109/141

    Critical Path Method (CPM)CPM is a project network analysis

    technique used to predict total projectduration

    A critical path for a project is the series

    of activities that determines theearliest time by which the project canbe completed

    The critical path is the longest paththrough the network diagram and hasthe least amount of slack or float

  • 7/28/2019 Mca Sem5 Mc9252nol

    110/141

    Finding the Critical Path

    First develop a good project networkdiagram

    Add the durations for all activities on

    each path through the project networkdiagram

    The longest path is the critical path

    Simple Example of Determining the

  • 7/28/2019 Mca Sem5 Mc9252nol

    111/141

    p p gCritical Path

    Consider the following project networkdiagram. Assume all times are in days.

    2 3

    4

    5

    A=2 B=5

    C=2

    D=7

    1 6

    F=2

    E=1

    start finish

    a. How many paths are on this network diagram?

    b. How long is each path?

    c. Which is the critical path?

    d. What is the shortest amount of time needed to

    complete this project?

    Determining the Critical Pathf P j t X

  • 7/28/2019 Mca Sem5 Mc9252nol

    112/141

    for Project X

    More on the Critical Path

  • 7/28/2019 Mca Sem5 Mc9252nol

    113/141

    If one of more activities on the critical path

    takes longer than planned, the whole projectschedule will slip unless corrective action istaken

    Misconceptions:

    The critical path is not the one with all the criticalactivities; it only accounts for time

    There can be more than one critical path if thelengths of two or more paths are the same

    The critical path can change as the projectprogresses

    Using Critical Path Analysis to

  • 7/28/2019 Mca Sem5 Mc9252nol

    114/141

    Make Schedule Trade-offs

    Knowing the critical path helps youmake schedule trade-offs

    Free slack or free floatis the amount oftime an activity can be delayed without

    delaying the early start of anyimmediately following activities

    Total slack or total floatis the amount

    of time an activity may be delayedfrom its early start without delaying theplanned project finish date

    Techniques for Shortening a

  • 7/28/2019 Mca Sem5 Mc9252nol

    115/141

    Project Schedule

    Shortening durations of critical tasksfor adding more resources or changingtheir scope

    Crashing tasks by obtaining thegreatest amount of schedulecompression for the least incrementalcost

    Fast tracking tasks by doing them inparallel or overlapping them

    Importance of Updating Critical

  • 7/28/2019 Mca Sem5 Mc9252nol

    116/141

    Path Data

    It is important to update projectschedule information

    The critical path may change as you

    enter actual start and finish datesIf you know the project completion

    date will slip, negotiate with the projectsponsor

  • 7/28/2019 Mca Sem5 Mc9252nol

    117/141

    Critical Chain SchedulingTechnique that addresses the challenge of

    meeting or beating project finish dates and anapplication of the Theory of Constraints (TOC)

    Developed by Eliyahu Goldratt in his books TheGoaland Critical Chain

    Critical chain scheduling is a method ofscheduling that takes limited resources intoaccount when creating a project schedule andincludes buffers to protect the projectcompletion date

    Critical chain scheduling assumes resources donot multitask because it often delays taskcompletions and increases total durations

  • 7/28/2019 Mca Sem5 Mc9252nol

    118/141

    Multitasking Example

    ff d l h

  • 7/28/2019 Mca Sem5 Mc9252nol

    119/141

    Buffers and Critical ChainA buffer is additional time to complete a task

    Murphys Law states that if something can gowrong, it will, and Parkinsons Law states thatwork expands to fill the time allowed. Intraditional estimates, people often add a buffer

    and use it if its needed or notCritical chain schedule removes buffers from

    individual tasks and instead creates A project buffer, which is additional time added

    before the projects due date Feeding buffers, which are addition time added

    before tasks on the critical path

    Program Evaluation and Reviewh ( )

  • 7/28/2019 Mca Sem5 Mc9252nol

    120/141

    Technique (PERT)

    PERT is a network analysis techniqueused to estimate project duration whenthere is a high degree of uncertainty

    about the individual activity durationestimates

    PERT uses probabilistic time estimatesbased on using optimistic, most likely,and pessimistic estimates of activitydurations

  • 7/28/2019 Mca Sem5 Mc9252nol

    121/141

  • 7/28/2019 Mca Sem5 Mc9252nol

    122/141

    W ki ith P l I

  • 7/28/2019 Mca Sem5 Mc9252nol

    123/141

    Working with People Issues

    Strong leadership helps projectssucceed more than good PERT charts

    Project managers should use

    empowerment

    incentives

    discipline

    negotiation

    Using Software to Assist inTi M t

  • 7/28/2019 Mca Sem5 Mc9252nol

    124/141

    Time Management

    Software for facilitatingcommunications helps people exchangeschedule-related information

    Decision support models help analyzetrade-offs that can be made

    Project management software can helpin various time management areas

  • 7/28/2019 Mca Sem5 Mc9252nol

    125/141

  • 7/28/2019 Mca Sem5 Mc9252nol

    126/141

  • 7/28/2019 Mca Sem5 Mc9252nol

    127/141

  • 7/28/2019 Mca Sem5 Mc9252nol

    128/141

  • 7/28/2019 Mca Sem5 Mc9252nol

    129/141

    U it V

  • 7/28/2019 Mca Sem5 Mc9252nol

    130/141

    Unit V

    Quality Assurance

    Integrated Change Control

  • 7/28/2019 Mca Sem5 Mc9252nol

    131/141

    Integrated Change ControlIntegrated change control involves

    identifying, evaluating, and managingchanges throughout the project lifecycle (Note: 1996 PMBOK called thisprocess overall change control)

    Three main objectives of changecontrol:

    Influence the factors that createchanges to ensure they are agreedupon

    Determine that a change hasoccurred

    Mana e actual chan es when and as

    Integrated Change Control

  • 7/28/2019 Mca Sem5 Mc9252nol

    132/141

    Integrated Change Control

    Integrated change control requires

    Maintaining the integrity of theperformance measurement baseline

    Ensuring that changes to the productscope are reflected in the definition of theproject scope

    Coordinating changes across the

    knowledge areas

    Integrated Change Control --Coordination

  • 7/28/2019 Mca Sem5 Mc9252nol

    133/141

    10.3: Performance

    Reporting

    Communications

    4.3: Integrated

    Change control

    Integration

    Scope change control

    Schedule change control

    Cost change control

    Quality control

    Risk change control

    Contract Administration

    Subsidiary Change Control

    Coordinating changes Across the Entire Project

    Change Control on InformationTechnology Projects

  • 7/28/2019 Mca Sem5 Mc9252nol

    134/141

    Technology Projects

    Former view: The project team should striveto do exactly what was planned on time andwithin budget

    Problem: Stakeholders rarely agreed up-front on the project scope, and time andcost estimates were inaccurate

    Modern view: Project management is aprocess of constant communication andnegotiation

    Solution: Changes are often beneficial, and

    the project team should plan for them

    Integrated Change Control --Process

  • 7/28/2019 Mca Sem5 Mc9252nol

    135/141

    Process

    Integrated Change ControlProcess

  • 7/28/2019 Mca Sem5 Mc9252nol

    136/141

    Process

    Change Control System

  • 7/28/2019 Mca Sem5 Mc9252nol

    137/141

    Change Control System

    A formal, documented process thatdescribes when and how officialproject documents and work may be

    changedDescribes who is authorized to make

    changes and how to make them

    Often includes a change control board(CCB), configuration management,and a process for communicatingchanges

    Change Control Boards (CCBs)

  • 7/28/2019 Mca Sem5 Mc9252nol

    138/141

    Change Control Boards (CCBs)

    A formal group of people responsiblefor approving or rejecting changes ona project

    Provides guidelines for preparingchange requests, evaluates them, andmanages the implementation ofapproved changes

    Includes stakeholders from the entireorganization

    Making Timely Changes

  • 7/28/2019 Mca Sem5 Mc9252nol

    139/141

    Making Timely Changes

    Some CCBs only meet occasionally, soit may take too long for changes tooccur

    Some organizations have policies inplace for time-sensitive changes

    48 hour policy allowed project teammembers to make decisions, then theyhad 48 hours reverse the decisionpending senior management approval

    Delegate changes to the lowest level

    possible but keep everyone informed of

    Configuration Management

  • 7/28/2019 Mca Sem5 Mc9252nol

    140/141

    Configuration ManagementEnsures that the products and their

    descriptions are correct and completeConcentrates on the management of

    technology by identifying and controlling thefunctional and physical design characteristics

    of productsConfiguration management specialists

    identify and document configurationrequirements, control changes, record and

    report changes, and audit the products toverify conformance to requirements

    Suggestions for ManagingIntegrated Change Control

  • 7/28/2019 Mca Sem5 Mc9252nol

    141/141

    Integrated Change Control View project management as a process of

    constant communications and negotiations Plan for change

    Establish a formal change control system,including a Change Control Board (CCB)

    Use good configuration management

    Define procedures for making timely decisions onsmaller changes

    Use written and oral performance reports to help

    identify and manage change Use project management and other software to