object oriented software engineering - project management concept

Upload: raggy-shrestha

Post on 08-Apr-2018

226 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/6/2019 Object Oriented Software Engineering - Project Management Concept

    1/19

    Project Management Concept

    Chapter Two

    1

  • 8/6/2019 Object Oriented Software Engineering - Project Management Concept

    2/19

    Project Management Conceptsy Project management involves the planning, monitoring, and control of people,

    process, and events that occur during software development.

    y Everyone manages, but the scope of each person's management activities varies

    according his or her role in the project.

    y Software needs to be managed because it is a complex undertaking with a longduration time.

    y Managers must focus on the fours P's to be successful : (People product, process,and project).

    y

    A project plan is a document that defines the four P's in such a way as to ensurea cost effective, high quality software product.

    y The only way to be sure that a project plan worked correctly is by observing

    that a high quality product was delivered on time and under budget.

    2

  • 8/6/2019 Object Oriented Software Engineering - Project Management Concept

    3/19

    Management Spectrum Software project management is aimed to ensure that the software is

    delivered on time, within budget and schedule constraints, and

    satisfies the requirements of the client

    Effective software project management focuses on the four Ps:

    1. People : the most important element of a successful project

    2. Product : the software to be built

    3. Process : the set of framework activities and software

    engineering tasks to get the job done

    4. Project : all work required to make the product a reality

    3

  • 8/6/2019 Object Oriented Software Engineering - Project Management Concept

    4/19

    The People Most important factor in success of software project.

    Companies That sensibly manage their investment in people willprosper in the long run .

    Cultivation of motivated and highly skilled software people has alwaysbeen important for software organizations.

    The people-factor is so important that SEI has developed People

    Management Capability Maturity Model (PM-CMM).

    4

  • 8/6/2019 Object Oriented Software Engineering - Project Management Concept

    5/19

  • 8/6/2019 Object Oriented Software Engineering - Project Management Concept

    6/19

    The Product Before a project can be planned:

    y Product objectives and scope should be established

    y Alternative solutions should be considered

    y Technical and management constraints should be identified

    Without above information ,Estimates of cost, effective assessment of risk,realistic breakdown of project tasks, or manageable project schedule is hardto define.

    Customer and developer define the product objectives and scope

    Objectives identify the overall goals for the product

    Scope Identifies the primary data, functions and behaviors thatcharacterize the product and attempt to bound these characteristics ina quantitative manner(eg no. of simultaneous users, max response time).

    Alternative solutions are then considered. Among them, the best one ischosen by the developer based on given constraints imposed by delivery

    deadlines, budgetary restrictions, personnel availability etc.

  • 8/6/2019 Object Oriented Software Engineering - Project Management Concept

    7/19

    The Process

    A software process provides the framework for which a

    comprehensive plan for software development can be established.

    Task sets tasks, milestones, work products, and quality assurance

    points Umbrella activities software quality assurance, software

    configuration management, and measurement

  • 8/6/2019 Object Oriented Software Engineering - Project Management Concept

    8/19

    The Project

    To manage complexity

    To avoid project failure

    To develop a common sense approach for planning, monitoring,

    and controlling the project.

  • 8/6/2019 Object Oriented Software Engineering - Project Management Concept

    9/19

    The People

    The Players

    Team Leaders

    The Software Team Coordination and Communication Issues

    9

  • 8/6/2019 Object Oriented Software Engineering - Project Management Concept

    10/19

    The Players They can be categorized into one of the following five categories

    y Senior Managers

    y They define business issues that often have significant influence onbusiness

    y

    Project (technical) managersy They must plan, motivate, organize and control the practitioners who do

    software work

    y Practitioners

    y They deliver the technical skills necessary to engineer a product or

    applicationy Customers

    y They specify the requirements for the software to be engineered

    y End Users

    y They interact with the software after it is released for production use

    10

  • 8/6/2019 Object Oriented Software Engineering - Project Management Concept

    11/19

    Team Leader Competent Practitioners often make poor team leaders as they lack the

    right mix of skills In his excellent book of technical leadership,Jerry Weinberg suggests

    a MOI model of leadership MOI Model of Leadership

    y Motivationy Ability to encourage technical people (by push or pull ) to produce

    y Organizationy Ability to mold existing process (or invent new ones) that will enables

    the initial concept to be translated into a final product.

    y Ideas or Innovationy Ability to encourage to make people feel creative or be creative even in

    the boundary of software product constraints.

    11

  • 8/6/2019 Object Oriented Software Engineering - Project Management Concept

    12/19

    Team Leader Characteristics of a effective project managers:

    y Problem Solvingy Diagnostic ( about technical and organizational issues )y Skill to solvey Ability to design solution

    y Managerial Identityy Control the project

    y Achievementy Reward Initiativey Encourage Controlled risk taking

    y Influence and team buildingy Influence the teamy Read peoples mind and respond according to their needsy Be controlled in stress situations

    12

  • 8/6/2019 Object Oriented Software Engineering - Project Management Concept

    13/19

    The Software Team N individuals vs. m tasks

    Team organizationsy Democratic decentralized (DD):

    y no permanent leader

    y rather task coordinator

    y

    decision made by group consensusy Communication is horizontal

    y Controlled decentralized (CD):y has defined leader

    y decision remains group activity

    y works partitioned

    y Communication is horizontal

    y Controlled centralized (CC):y Defined team leader

    y Top-level problem solving

    y internal coordination

    y communication and management by team leader

    y Communication is vertical

    13

  • 8/6/2019 Object Oriented Software Engineering - Project Management Concept

    14/19

    The Software Teamy Team Structures: Seven Factors that should be considered while

    planning the structure of software engineering team:

    1. Difficulty of task

    2. Size of resultant code (no. of lines)

    3. Time that team will stay together

    4. Degree of modularization

    5. Required quality and reliability of the system being built

    6. Rigidity of delivery date (schedule)

    7. Degree of communication

    14

  • 8/6/2019 Object Oriented Software Engineering - Project Management Concept

    15/19

    Organizational Paradigm

    15

    Constantine suggest four organization paradigm

    1. Closed Paradigm :structures a team along a traditional hierarchy of

    authority (similar to a CC team)

    2. Random Paradigm : structures a team loosely and depends on individual

    initiative of the team members3. Open Paradigm: attempts to structure a team in a manner that achieves

    some of the controls associated with the closed paradigm but also much of

    the innovation that occurs when using the random paradigm

    4. Synchronous Paradigm :relies on the natural compartmentalization of a

    problem and organizes team members to work on pieces of the problem with

    little active communication among themselves

  • 8/6/2019 Object Oriented Software Engineering - Project Management Concept

    16/19

    Communication & coordination Issues Many reasons that software projects get into trouble:

    Scale

    Uncertainty

    Interoperability

    Therefore, must establish methods for coordinating the people.

    Hence, establish formal and informal communication among team members:

    1. Formal, impersonal approaches: SE docs and deliverables, tech memo.

    2. Formal, interpersonal procedures: QA activities, status review meetingsand design

    3. Informal, interpersonal procedures: group meeting

    4. Electronic communication: email, e-bbs

    5. Interpersonal networking: interpersonal discussion with outsiders.

    16

  • 8/6/2019 Object Oriented Software Engineering - Project Management Concept

    17/19

    The Product The product and the problem that is intended to solve must be

    examined at very beginning of the software project.

    The scope of product must be established and bounded.y Bounded scope means

    y establishing quantitative data like no. of simultaneous users, max.allowable response time. etc.

    y Constraints and limitations

    The problem that the product is addressing must be decomposed

    17

  • 8/6/2019 Object Oriented Software Engineering - Project Management Concept

    18/19

    The Product

    18

    y Scope is defined by

    y Context (1st step in scope determination)

    y Functional location of the software product into a large system, product

    or business context

    y Constraints involved

    y Information Objectives (2nd step)

    y What data objects are required as i/p or o/p

    y Function and Performance (3rd step)

    yWhat function does the software system perform on i/p to produce o/p

    y Are any special performance characteristic to be addressed?

  • 8/6/2019 Object Oriented Software Engineering - Project Management Concept

    19/19

    Problem Decomposition

    19

    Also called Partitioning ORProblem Elaboration This activity is at core of requirements analysis

    Divide and conquer policy for complex problemsy Decompose problem in tasksy Decomposition in 2 major areas

    y Functionality that must be deliveredy Process that will be used to deliver product

    A complex problem is partitioned into smaller problems that aremore manageable.

    Decomposition make planning easier. Software functions, defined in scope, are evaluated and refined to

    provide more detail before estimation (part of planning) begins.