Docstoc

Lecture-07

Document Sample
Lecture-07 Powered By Docstoc
					            CEN 4021
      Software Engineering II

Software Project Planning (POMA)
     Project resource planning
         Instructor: Masoud Sadjadi
       http://www.cs.fiu.edu/~sadjadi/
              sadjadi@cs.fiu.edu


            CEN 4021     7th Lecture
                       Acknowledgements

    Dr. Onyeka Ezenwoye

    Dr. Peter Clarke




CEN 4021: Software Engineering II         7th Lecture   2
                       Agenda


             Software Project Planning (POMA)
               – Project resource planning




CEN 4021: Software Engineering II                7th Lecture
         Three Types of Resources
        Human resources
        Processes and Methodologies
        Tools and Equipment




CEN 4021: Software Engineering II      7th Lecture
         Three Types of Resources
        Once the project deliverables, WBS, tasks, initial
         schedule and goals are understood the resources
         required to complete the project must be planned.
        The key resource for most software projects is people.
        On an organizational level, processes, policies, and
         specific methodologies need to be available to ensure
         the successful completion of the project.




CEN 4021: Software Engineering II                        7th Lecture
         Human Resources
 •       The number of people, the type of people with different
         skills, and the point at which these people need to begin
         working on a project all depend on the tasks that need to
         be performed and the goals such as schedule, of the
         project.
 •       Human resources management is concerned with the
         recruiting, hiring, retaining, growing, coaching, and firing
         of people.




CEN 4021: Software Engineering II                           7th Lecture
         Human Resources
         – software project manager will focus on the recruiting effort and
           timing of hire.
         – Recruitment and hiring proceed in two stages:
                 1. Based  on the various tasks involved in the software project, a skills
                   matrix is built. Consists of # of people required in each skill
                   category along with information on which persons, by name , are
                   already on board.
                 2. Using   the skills matrix, a hiring plan is developed.




CEN 4021: Software Engineering II                                              7th Lecture
        Human Resources
         – Two types of personnel are needed on a project:
                 1. Directproject activities: Activities that lead to a customer
                   deliverable. E.g., personnel to perform the following tasks;
                   requirements specification, design, coding, manual writing, testing ,
                   integration, and packaging.
                 2. Indirect project activities: Activities that do not lead to customer
                   deliverables. E.g., planning, controlling, and reporting of the project
                   activities.




CEN 4021: Software Engineering II                                              7th Lecture
        Human Resources
 1.      Human Resources
         Example:
         – Assume indirect personnel are already in place. Direct software
           development personnel planning is considered.
         – Table 4.2. shows an initial skills matrix (next slide).
         – A gradual hiring pattern is quite realistic for this project.
         – Table 4.3. shows a people hiring matrix.




CEN 4021: Software Engineering II                                      7th Lecture
                         Table 4.2. Initial Skills Matrix.
                                                     Months
      Skilled
      Personnel      1      2       3   4   5   6     7       8    9    10   11       12       …
      Reqs.
                     1      1       1
      Analyst

      Designers                     1   2   2   1


      Program-
                                            4   7     8       8    8    8    4        2
      mers

      Testers
                                        1   1   1     2       3    3    3    3        3


      Project
                     1      1       1   1   1   1     1       1    1    1    1        1
      Leader

      Customer
                                                                             1        1
      support

      Total
      Personnel      2      2       3   4   8   10    11      12   12   12   9        8

CEN 4021: Software Engineering II                                                7th Lecture
         Human Resources
 Example cont:
         – Table 4.2 shows there is a short peak period and the rapid pace
           at which people leave the project.
         – Note the personnel for the project is not assigned in isolation.
         – Economic period has a lot to do with the ease of hiring.




CEN 4021: Software Engineering II                                   7th Lecture
        Process and Methodologies
 2.      Process and Methodologies
         – Processes and methodologies are viewed as resources.
         – Recall there is no single process for software development.
         – Software Project Phases
                  Requirements     processing
                  Design

                  Implementation       and programming
                  Testing

                  Product    release




CEN 4021: Software Engineering II                                7th Lecture
         Process and Methodologies
 2.      Process and Methodologies cont
         Product release process
                  Integration,     packaging, and installation
                  Product    order, release, and shipment management
         Other process planning
                  Configuration      management
                  Outsourcing      management
                  Quality   assurance
                  Project   change management




CEN 4021: Software Engineering II                                       7th Lecture
        Tools and Equipment
 3.      Tools and Equipment
         Hardware requirements
                  Desktop computers: Specify capabilities in terms of CPU speed,
                   main memory size, disk storage size, number of ports (for printers,
                   communications and connection to other peripherals); specify
                   number of desktop computers
                        computers: Specify capabilities in terms of CPU speed, main
                  Server
                   memory and auxiliary cache memory sizes, disk storage size,
                   number of ports; specify number of server computers




CEN 4021: Software Engineering II                                           7th Lecture
        Tools and Equipment
 3.      Tools and Equipment cont
         Hardware requirements cont
                  Printers:   desktop versus shared; specify the number of each kind of
                   printer
                  Network     equipment: controllers, lines, modems; specify number of
                   each
         Software requirements
                  Operating system: specify the number of copies required for the
                   desktop and server computers
                  Database         system: specify the number of user seats required




CEN 4021: Software Engineering II                                                7th Lecture
      Tools and Equipment
 3.      Tools and Equipment cont
         Software requirements cont
                  Middleware   system: specify the type of communication middleware
                   or transaction-processing middleware, set to the needed number of
                   users or to some number of transactions
         Once the basic hardware and software resources are identified tools
           are considered




CEN 4021: Software Engineering II                                         7th Lecture
       Tools and Equipment
 3.      Tools and Equipment cont
         Classification of Tools
                  Development    and implementation tools: libraries of executable
                   code, editors, compilers, and debugging aids; specify the number of
                   copies or the number of user seats for each
                  Requirements     management tools: # of seats
                  Design    tools: # of seats
                  Documentation     tools: # of seats and # of copies




CEN 4021: Software Engineering II                                          7th Lecture
       Tools and Equipment
 3.      Tools and Equipment cont
         Classification of Tools cont
                  Test tools: keystroke capture tools, test execution monitor tools,
                   performance measurement tools, code coverage analysis tools: # of
                   seats and # of copies
                  Support  tools: customer call management, release management; #
                   of copies
                  Management   and general-use tools: library systems, configuration
                   management, diagramming and flowcharting tools, word
                   processors, spreadsheets, project schedulers, statistical function
                   packages; # of copies and # of seats




CEN 4021: Software Engineering II                                          7th Lecture
       Tools and Equipment
 Combining the resources:
         – Resource planning is a lengthy but a very important project
           management activity.
         – The resources required to satisfy the software project depend on
           the deliverables, tasks, schedule, and project goals.
         – See Table 4.5 for a combined resource matrix.




CEN 4021: Software Engineering II                                7th Lecture
                       Assigning Resources


        People management are need here
        Interaction and communication skills are vital to selecting
         the right people for the right activities
        You may have to recruit people to your project, through
         interviews and a personnel-hiring process.




CEN 4021: Software Engineering II                          7th Lecture
                       Assigning Resources


        After customizing the WBS list of activities, resources
         are assigned to them
        For every activity in the project,
          – Understand what the responsibilities and authority are
          – determine how the person performing the activity will be held
            accountable for the results
    




CEN 4021: Software Engineering II                                  7th Lecture
                       Assigning Resources


        the project manager is responsible for the planning
         necessary to staff the project
          – Identifying and documenting the project roles and skills needed
          – Assigning responsibilities to individuals
          – Establishing reporting relationships




CEN 4021: Software Engineering II                                 7th Lecture
                       project roles and skills needed


        Skills needed are weighed against knowledge about
         each candidate’s career objectives , and ego needs
        Example types of roles
          –   Database designers
          –   Configuration management experts
          –   Human interface designers
          –   Webmasters
          –   Quality assurance specialists
          –   Test engineers




CEN 4021: Software Engineering II                      7th Lecture
                       project roles and skills needed


        Recognize some skills that aren’t the usual software
         engineering sets
        People may have some personality or social skills that
         are necessary catalysts for getting things done
        Certain skill promote harmony among the team as well
         as the “social glue” that is hard to define but absolutely
         necessary for team productivity




CEN 4021: Software Engineering II                           7th Lecture
                       project roles and skills needed


        The project manager has to decide who does what and
         who decides what on the project
        Balancing learning opportunities against accomplishing
         work on time, and managing egos
        The specific skill needed for each activity must be
         considered
        Listing skills needed may be necessary if required skills
         sets are large and diverse




CEN 4021: Software Engineering II                          7th Lecture
                       Characteristics of Roles


        For every activity defined in the project, a set of roles
         requiring specific skill sets may be defined
        E.g., For every role, define three job aspects
          – Responsibility – the obligation to perform an assigned activity
            with or without detailed guidance or specific authorization
          – Authority – the right to perform, command of make the decisions
          – Accountability – assuming a liability for an activity or something
            of value in a project




CEN 4021: Software Engineering II                                   7th Lecture
                       Characteristics of Roles


        Don’t assign responsibility to people who have no
         recognized authority within the organization to get it
         done
        Estimates for completion become unreliable because
         assigned person has an obligation, but no right to
         perform, in the eyes of others
        Be sure that authority and responsibility boundaries are
         recognized by all




CEN 4021: Software Engineering II                         7th Lecture
                       Characteristics of Roles


        Responsibilities might include
          –   Collaborating with architects and designers
          –   Designing test cases
          –   Generating test data
          –   Running unit and regression test suites
          –   Reporting results




CEN 4021: Software Engineering II                           7th Lecture
                       Characteristics of Roles


        Authority might be granted to include
          –   Participating in design and inspection meetings
          –   Exercising final authority for all test-related tasks
          –   Authorizing component builds
          –   Reporting official test results and product quality metrics




CEN 4021: Software Engineering II                                      7th Lecture
                       Characteristics of Roles


        Accountability for test engineers may be defined as
         quantifiable and easily measured parameters such as
          –   Number of design and inspection meetings attended
          –   Quantity and quality of test prepared and executed
          –   Percentage of successful component builds
          –   Accuracy and timeliness of reported test results and product
              quality metrics




CEN 4021: Software Engineering II                                   7th Lecture
                       Assigning responsibility


        Consider reliability of individuals
        Negotiate with resource controllers for the services of
         people with the needed skill
        Comprehend roll-on and roll-off time




CEN 4021: Software Engineering II                          7th Lecture
                       Characteristics of Roles


        Accountability for test engineers may be defined as
         quantifiable and easily measured parameters such as
          –   Number of design and inspection meetings attended
          –   Quantity and quality of test prepared and executed
          –   Percentage of successful component builds
          –   Accuracy and timeliness of reported test results and product
              quality metrics




CEN 4021: Software Engineering II                                   7th Lecture

				
DOCUMENT INFO