1. Project Description

1.1 Historical Perspective

In today’s world of increasing technology, an overwhelming majority of organizations recognize the benefits of software solutions for managing resources.  Therefore, various categories of management software have become common place in the workforce.  These applications organize projects and provide functional information to project leaders and management.  To make available these details,  software of this nature uses a resource-based approach to perform its actions.  For this reason, these applications treat staff members strictly as a resource.  In other words, staff assigned to a project are considered in the same manner one may regard a workstation.

Upon completion of a vigorous study of available applications, results show that existing management software lacks sophisticated staff assignment and administration.  For example, no obtainable applications offer any ability to locate one or more employees who may possess particular qualifications required by an individual role in a specific project.  Although businesses which maintain a relatively small number of employees may not necessitate such sophisticated software, organizations which sustain a sizeable employee base stand to benefit significantly.  Project managers spend valuable time, as well as a generous amount of effort, struggling to identify the most qualified individual for a given task.  One must consider several focal points, such as availability, educational background, and experience within the company while selecting project staff.  Moreover, in cases where organizations have increasing staff and project volume, project managers must dedicate exuberant amounts of time probing through individual’s records to recognize appropriate team members.

In order for organizations to capitalize on project manager performance, an effective solution, which administers staff in the aforementioned manner must be utilized.  Automating the process of staff selection, or simply producing a software package that possess ability to recommend staff placement, has the potential to allocate project leaders additional time to concentrate on other assignment related issues.  Furthermore, appropriate staff appointments increase overall efficiency within an organization by exploiting employee assets.


1.2 Product Overview

Manage 2000 is designed to provide project managers with an effective, efficient way to address problems regarding staff placement.  In order to achieve this solution, Manage 2000 intelligently surveys individual employee traits, provides staff recommendations based on project position requirements, and dynamically updates database information as personnel complete tasks.  Additionally, Manage 2000 opens a more effective channel of communication with upper-level management.  For instance, project leaders are obligated to routinely report project progress and or complications to upper-level management.  While it is necessary for a project leader to have a good understanding of the various details regarding project staff, upper-level management usually maintain a less significant role with respect to specific project information.  To help bridge this information gap between project level staff and higher management, Manage 2000’s structure permits information about a specific project to quickly be retrieved and relayed to upper management.  Manage 2000 executes this by storing information about positions available within a project with regard to skills considered necessary to complete tasks delegated to each position.

As a result of the staff tracking abilities, Manage 2000 yields yet another benefit without the system having to perform any additional work.

While submitting bids or contract proposals, many companies feel compelled to validate that they retain the necessary skills within their employee base to accomplish the project.  As opposed to gathering resume material from each employee, Manage 2000 already contains the essential information about potential project workers.  Consequently, Manage 2000 provides instant knowledge about employees and the skills that each holds.  Due to dynamic refresh module, information stored within Manage 2000 will be the most up to date information available about each employee.  As well as assisting larger corporate organizations, the dynamic refresh module appeals to associations which maintain less staff.  For this reason, Manage 2000 inherently increases its own marketability.

In summation, Manage 2000's design will assist project managers by performing the following:

·        Tracking employee statistics relevant to project related domains

·        Analyzing database records with supplied input and providing staff placement recommendations

·        Dynamically refreshing employee database information upon task completion

·        Providing an employee skills index corresponding with furnished project requirements

·        Preparing resume affiliated employee information and statistics


1.3 Solution Approach

Manage 2000’s information is sub-divided into three domains:

·        Staff indexing

·        Qualification class (Educational background, Experience, Experience within the company, etc)

·        Skills indexing (An index of all skills known within the scheme)

 

1.3.1 Staff listing

Manage 2000 maintains a master index of employees.  Within this index, each employee harvests various skills.  Furthermore, each of these skills is associated with a corresponding qualification class.  Therefore, it is possible for an employee to possess two or more different listings for similar skills.  For example, a staff member who has successfully taken three Java programming courses and has accumulated two years of work experience, Manage 2000 provides a method for distinguishing between these two classifications.  Accordingly, categorizing staff ability in this manner allows Manage 2000 to prepare staff recommendations based on what project managers feel is more significant for the task at hand.

 

1.3.2 Qualification Classes

Manage 2000 harbors various classes of qualifications.  Include within these groups are educational background, previous work related experience satisfied through other organizations, experience obtained within the company, etc.  Depending on the type of work, particular qualification classes may be more substantial than others.  For this reason, Manage 2000 provides optimum staffing recommendations by distinguishing between qualification classes.

 

1.3.3 Skills listing

Manage 2000 collects employee skills and stores them within a master index.  Without this index, project managers may inadvertently duplicate skills or facts listed under a slightly different names.  In such cases, Manage 2000 prompts project managers when an undefined skill has been submitted and provides users with a register of possible skill equivalencies.  As a result, Manage 2000 allows users to avoid duplicate entries as well as provides a way of submitting new skills to the database when necessary.

 


1.4 Internal Structure

Additionally, functional aspects divide Manage 2000’s internal structure into independent modules.  Developmental aspect necessitate these divisions with Manage 2000:

1.  Information storage / retrieval module

2.  User interface module

3.  Data management module

4.  Staff selection module

5.  Dynamic refresh module

6.  Report Generator

7.  Profile Update Request Module

 

8.  Profile Update Verification Module

 

 

 

1.4.1         Information Storage / Retrieval Module

 

 

     Manage 2000 requires several procedures dedicated to file storage and

retrieval.  These procedures are entailed in various classes of information

to be stored with the database.  Manage 2000 must maintain staff

information, skills indexes, project characteristics, corporate structure,

and current schedule information.  Manage 2000 must also be able to examine

files from the host programs' database, which is Microsoft Project.

Furthermore, Manage 2000 must utilize this information and create its' own

file set pertaining to that particular project.  These actions must be

treated as individual sections within the file handling system for two

reasons.  First, this permits programmers to easily upgrade Manage 2000's

program code as new versions of supported software are released.  Moreover,

this allows programmers to update

Manage 2000's code so that it will include support for program maintenance.

 Secondly, it permits elementary development, debugging, and design

analysis by breaking down the file sub-system into separate sections.

 

I. Functional requirements

A. What it will do

     i.   retrieve data from Microsoft Project

    ii.   process information from various files

 

B. What it will not do

    i.    create, revise, update, or delete Microsoft Project files

 

II. Inputs   

i.    files / fields from Microsoft Project

   ii.    files related to internal procedures of Manage 2000

  iii.    files containing stored information processed by Manage 2000

 

III. Processing

     Files from Microsoft Project will be retrieved and various data fields

will be processed and potentially stored for current and future use.

 

IV. Outputs

 

Software interface    Microsoft Project

 

Performance requirements  

Speed of storage and retrieval depends on database size, number of files to

be processed, various internal computer features, and other potential

current database operations.

 

1.4.2 User Interface Module

 

A quintessential aspect of Manage 2000 is its ease of use.  Manage 2000’s graphical user interface (GUI) is designed to alleviate several issues.  GUI software is specifically designed to provide information to the user through a quick and easy manner.  Furthermore, a GUI module allows users to retrieve necessary information without having to guess which data must be provided to the program.  Manage 2000’s GUI will make the information exchange between the user and the application as efficient as possible, without being unnecessarily complex.

 

With the above issues in mind, Manage 2000 is designed to provide users a windowed system that is split into three main areas.  Staff, project management, and skills tracking are the accounted main areas.

The first of these, the staff area, is the section of the interface devoted to information about the current staff.  Within this section, managers will be able to view, print, update, add, and delete both information about the staff members and the actual database entry for the employee as well.  The employees will be able to view a report of their currently stored information, print, and update information to a temporary file later approved by the manager for the final change.

 

The second area, the project manager area, serves as a control area for projects.  Here, projects can be viewed, printed, updated, modified based on changes made to the host program’s files (altered files in MS Project), added, and deleted.  Project managers may also replace individuals or reallocate individuals from one project to another within this area, as well as add new staff members to projects.

 

Once a project has begun, Manage 2000 traces the availability of  all the assigned individuals.  The availability of the staff members will be represented through a color code displayed in the recommendations for staff placement.  For ease of remembering the color code, an analogy of a stoplight is being used.  Output displayed in red text identifies an employee allocated to another project which is not currently available to be replaced.  This decision is up to the manager, but Manage 2000 uses red text to advise against replacement of this individual.  Output displayed in yellow text identifies an employee who is currently allocated to another project, but occupies a role that is capable of being replaced by another staff member.  Once again, the project manager decides to reallocate the employee or not.  Green text output identifies currently inactive employees which are freely available to reside on the project team.

 

The third area, the skills tracking area, allows a project manager the ability to view skill characteristics, add a skill, and remove a skill should there be a faulty or out of date entry.  The information viewed about a skill is primarily a summary of the skill as well as its applications.  These skills pertain to each qualification class preferences, such as education, technical schooling, current job experience, previous job experience, etc.

 

I.       functional requirements

A.    capabilities - What it will do?

i.              provides users with an efficient and easy to follow windowed GUI

ii.         staff area

a.              managers

(i.)    update, view, and print information on staff members

(ii.)                       add and delete employee entries

b.              employees

(i.)    view and print information on themselves

(ii.)           update to a temp file later finalized by manager

iii.    project management area

a.              project information

(i.)    view and print

(ii.)                       update and modify

(iii.)                  add and delete

b.              availability of individuals

(i.)    place a color code to each employee for availability

(ii.)           view the availability of employees

iv.         skills tracking area

a.              view skill characteristics

b.              add or delete a skill

B.    constraints - What it will not do?

i.              will not be able to access this information from Project’s pull down menu

ii.         employees will not be able to manipulate their files directly

iii.    Manage 2000 will not automatically add the top chosen person to each project part necessary

C.    inputs

i.              Managers

a.              employee information such as name, social security number, etc.

b.              skill categories such as c++, java, etc.

ii.         employees

a.              change in personal information such as address, etc.

b.              updates in skill such as taking a class at ODU on c++, etc.

D.    processing

E.     outputs

i.              any views or print-outs requested from managers or employees

ii.         color text for each employees availability

iii.    change of information to the database

 

***Future example forms will be placed here.  They are still being worked on***

 

 

1.4.3                        Data Management Module

 

 

1.4.4 Staff Selection Module

 

Another primary segment within Manage 2000 is the staff selection module.  Housed within this section of Manage 2000 are the algorithms necessary for identifying key employees. Manage 2000's selection algorithm utilizes presented information about a project to resolve

which employees would best fill available positions.  This selection module must consider several aspects of the project, such as necessary skills, priority levels, and qualification class preferences prior to identifying staff members for a particular position.  Manage 2000 employs a weighted system while selecting staff based on the needs of the project involved.

 

I. Functional requirements

  A. What it will do

    i. take the weighting scale and apply it to data stored about employees.

    ii. generate a list of qualified employees ranked by level of qualification

      for this particular position.

  B. What it will not do

    i. assign a permanent rank to each person in the company. The ranking is done dynamically for every available position.

II. Inputs

    i. position to be filled

    ii. requirements the person has to fill

    iii. weighting of those requirements to determine which is an important requirement and which is just desired

III. Processing

  The database is queried for people who fulfill all the requirements and the weighting is applied to the skills stored for the employee. (E.g. an employee with 5 years programming experience will have a higher number assigned in that field than an employee with just 3 years experience.)

  Dynamically, all qualifying employees are ranked based on the numbers calculated; SUM(weight * skill level) summed up over the requirements.

 

IV. Outputs

  A list of candidates sorted by their resulting number. From that list the program manager can chose the employee to fill the position.

 

User interface

  Will be windows based. Desired requirements can be chosen from a list of skills that the database holds.

 

Software interface

  Interfaces with the database in which the employee information is stored.

 

Performance requirements

  Speed of the search depends on processor speed, size of the database, and number of requirements.

 

 

1.4.5                        Dynamic Refresh Module

 

1.4.6                        Report Generator

 

Report Generator

Since the placement in project teams will be determined by the information stored in the database, the employees will want to check if the information in the database is correct and up to date, just like one wants to see a credit report. In order to do that, employees will be able to log on to the system with read only rights to their own information. They will be able to view and print their list of skills.

 

I. Functional requirements

  A. What it will do

    i. allow employee read access to his/her own information

    ii. allow employee to print this information

  B. What it will not do

    i. allow employees to read everybody's information

    ii. allow employee to edit information

II. Inputs

    i. employee ID

    ii. password

III. Processing

  Simple select on the database containing information about employee with employee ID used in login.

  select * from employee_skill_table where employee_ID = 1234567;

  A report will be generated from the result of the select which will show only the skills an employee has, not the ones where the value is null.

IV. Outputs

  The report created from the output of the select statement. it will be a list of skills and qualifications.

 

User interface

  Will be windows based.

 

Software interface

  Interfaces with the database in which the employee information is stored.

 

Performance requirements

  Speed of the search depends on processor speed, size of the database, and number of requirements.

1.4.7 Modification Request Module

 

The accuracy of the Manage 2000 database is of the utmost importance.  If the information stored within Manage 2000 does not accurately describe the employees, then in no way can Manage 2000 perform its tasks; every action from the simplest automated employee resume to the selection of the correct personnel for a given task is rendered undoable.  In addition to this, employee confidence in the correctness of the database must remain high.  If the employees are not satisfied with the correctness of Manage 2000’s database, then the effects of Manage 2000 can be counter productive, lowering morale as well as productivity of the employees as a whole.

In order to solve this issue, Manage 2000 requires two additional modules.  The first of these modules is the Profile Update Request Module (PURM).  When logged into Manage 2000, a normal user can view the information stored within his / her profile.  If there is an error within the data, the user is presented with the option to request that the information about one or more of the listed qualification ratings be changed, or they can request that a new skill be added into their listing.  The PURM handles all requests for data modifications made by an employee.  It stores the requested changes in a temporary database which is later accessed by the Profile Update Verification Module (PUVM) the next time the Manager logs in.

 

     Inputs:

 

-Current employee’s skills listing.

-Requested changes (provided by employee).

 

     Processing

 

-Assurance that requested changes are valid (no mismatch of data types).

-Location of correct manager for information verification (notification of the proper person).

 

     Outputs

 

-Requested changes are provided to the temporary database of the manager in charge of the employee for later verification.

 

     External Interfaces:

-Module is called by the GUI and retrieves information from it.

-Interaction between Information Storage / Retrieval Module for extracting current employee data and storage of request.

 

     Performance Requirements

 

-Not an issue (areas of concern deal with the information storage and retrieval, not this module as it is not processor intensive nor is it data management intensive).

 

     Design Constraints

 

-Does not store the data itself (uses Information Storage / Retrieval Module).

-Uses GUI Module for user provided information access, as well as the display of information to the user.

 


 

 




1.4.8 Modification Verification Module

 

The Profile Update Verification Module (PUVM), is the mechanism by which the Manager can verify requested changes to an employee’s profile within Manage 2000.  At login time, the Manager will be notified of any pending modification requests by the PUVM.  The PUVM checks the Manager’s temporary database to see if there are any pending profile modification requests.  Periodically, Manage 2000 will call the PUVM (an option set by the manager) to check for incoming requests.  If a request is made, the PUVM will retrieve the information pertaining to the request from the manager’s temporary database and through the GUI, inform the manager of the employee’s requests.  The Manager will be presented with an itemized list detailing the changes requested.  The manager will then choose which items are okayed (via a checkbox for each item), and then submit the results.  The PUVM will then process the requests okayed by the manager and pass this information to the Information Storage / Retrieval Module to be permanently saved in the Manage 2000 database.


    

Input

 

-Temporary Database entries detailing user requests (Provided by Information Storage / Retrieval Module)

-Manager responses to requests (Provided via GUI).

 

     Processing

 

-Information checked for verified status

 

     Output

 

-Verified information saved to Manage 2000 database (via Information Storage / Retrieval Module).

-Removal of Processed Request from manager’s temporary database (via Information Storage / Retrieval Module).

 

     External Interfaces

 

-Interacts with GUI for information presentation and retrieval from the manager.

-Interacts with Information Storage / Retrieval Module to update the necessary database information.

     Performance Requirements

 

-Not relevant to this section (not a processor intensive nor time consuming section of Manage 2000).

 

     Design Constraints

 

-Will not directly interface with user or database, will make calls to the GUI and Information Storage / Retrieval Modules for information management.