Professional Documents
Culture Documents
CS640-1302A-01
Phase 5 IP
Carlos Osorio
May 12, 2013
Cosmopolitan Staffing
Web-Based Design
Version 5.0 approved
cosmopolitanstaffing.com
Table of Contents
1. Project Outline (Week 1)......................................................................................... 7
1.2 Project Goals..................................................................................................... 7
2. Project Management Methodology (Week 1)..........................................................8
2.1 Extreme Programming as the methodology of choice.......................................9
3. Stakeholders' Analysis (Week 1)...........................................................................10
3.1 Cosmopolitan Staffing Stakeholders................................................................10
4. Scope and Requirements Analysis (Week 2).........................................................12
4.1 General requirements...................................................................................... 12
4.2 Payroll Department Deliverables.....................................................................12
4.3 Sales and Recruiters Deliverables...................................................................12
4.4 Temporary workers Deliverables.....................................................................13
4.5 Management Deliverables............................................................................... 13
4.6 What is included within the project.................................................................13
4.7 What is not included within the project...........................................................14
4.8 Managing scope changes within the project...................................................14
4.9 Functional requirements..................................................................................14
4.10 Technical requirements.................................................................................15
4.11 Operational requirements............................................................................. 16
4.12 Security requirements................................................................................... 17
5. Work Breakdown Structure (WBS) (Week 3).........................................................18
5.1 Scope verification............................................................................................ 18
5.2 Requirements analysis.................................................................................... 18
5.2.1 Functional requirements............................................................................18
5.2.2 Technical requirements.............................................................................19
5.2.3 Operational requirements.........................................................................20
5.2.4 Security requirements............................................................................... 21
5.3 Design............................................................................................................. 22
5.4 Development................................................................................................... 22
5.5 Testing............................................................................................................. 23
5.5.1 Alpha testing............................................................................................. 23
5.5.2 Beta testing............................................................................................... 24
Revision History
NAME
C. Osorio
C. Osorio
C. Osorio
C. Osorio
C. Osorio
Date
04/15/201
3
04/22/201
3
04/29/201
3
05/08/201
3
05/12/201
3
Revision Number
1.0
Summary of Changes
Project outline, methodology and stakeholder analysis
2.0
3.0
4.0
5.0
The main purpose of the Agile method is to involve the customer as much as possible in the
development process in order to guarantee that the moves being made towards the ultimate goal
are in reality taking the developers in that direction. Additional testing steps are also a feature of
the Agile methodology. Within the Agile methodology there are two main methods that can be
implemented to a project; Scrum and XP.
Scrum: This Agile approach concentrates on task management as a group. Scrum does not
provide complete descriptions as of how tasks should be performed but decision left for the
development team which are only provided with a desired outcome. Scrum relies on selforganization and uses cross functional teams without an overall team leader; they work together
as a unit.
XP (Extreme Programming): It is another Agile approach which focuses on the software
engineering process and its analysis, development and test phases. The extreme programming
approach increases the value and the overall quality of the project. XP implements code review
and unit testing in a flat management structure that implements features as needed in the
development phases. This approach allows for great flexibility whenever customers
requirements are modified. (Kelly Waters, 2007)
There are many departments concerned with the success of the project thus we will need
their constant input. They have also indicated that the time required to complete the project is
somehow short. Because XP allows you to create individual modules, test them and at a later
time integrate them with great flexibility; extreme programming has being identified as the
methodology of choice.
Lets keep in mind that not every stakeholder has the same input power within the project.
The following is a list of stakeholders ordered by their input within the project development.
Project Manager
General Management
Payroll Department
Sales and Recruiters
Temporary workers
It is also important to note that even though the project manager has been identified as the
most important stakeholder of all; many of his decisions will be influenced by the general
management which is the one who is actually paying for the project. This is again one of the
reasons why an Agile approach was chosen. The project manager can have lots of interaction
with the stakeholders and as long as their requests dont interfere with the already established
requirements and parameters; the developing organization can try to accommodate all the
stakeholders.
The system shall be able to allow the payroll department to issue checks for the
temporary workers.
The temporary workers shall be able to see their current pay as well as their payroll
history.
Temporary workers should be able to obtain a copy of their W2 forms
Office Managers shall have access to payroll information in case issues arise.
They shall be able to see open orders available for the office in which they signed up
They shall be able to post themselves as candidates for any open position to which they
qualify
Domain name acquisition is not guaranteed as we are not domain name resellers
We cannot guarantee the reliability of the hosting provider of your choice
We are not responsible for data loss
We are not responsible for data backup or site maintenance
Management wants the system to be deployed on time and within the given budget.
Management wants all the existing data to be easily migrated to the new system
The office of human resources wants all information regarding position advertisement,
hiring, screening, benefits, payroll, and others to be secure and easily accessible.
Administration services want enough document retention procedures in place.
Regulatory agencies want to know if the organization follows the required rules and
procedures.
Employees are paid weekly and they want their wages, worked hours, assignments, W2s
The new application should have a reliable backup and restore system working
model.
The project should use the standard software development life cycle phase. These phases
and deliverables include the following:
o Identify and verify the scope.
o Select the appropriate software development model.
o Conduct stakeholders' analysis.
o Gather, analyze, review, and get approval for requirements.
o Develop a configuration and change management plan to track and document the
o
o
o
o
o
o
o
o
o
o
possible changes.
Identify project risks.
Design the system and security architecture.
Start the development of the application.
Conduct unit, system, integration, and regression tests.
Start training the end users.
Document all steps.
Conduct pilot tests using selected users.
Conduct user acceptance tests.
Conduct operation readiness checks.
Deploy the system.
Because the system collects personal identifiable information (PII), such as employees'
phone numbers and social security numbers, it should be secured by using various
sensitive information.
The new application will use a central authentication system that supports the use of a
Management wants the system to be deployed on time and within the given budget.
Project management and cost estimation is being implement for the development of
this project
Management wants all the existing data to be easily migrated to the new system
Data is being stored in decentralized Excel spreadsheets. Excel sheets can easily be
their system via SSL certificates, encryption and safe password creation.
Administration services want enough document retention procedures in place.
The option to upload digital files to the system will be implemented.
Regulatory agencies want to know if the organization follows the required rules and
procedures.
Rules and procedures will be kept intact as Cosmopolitan Staffing has them in
place.
Employees are paid weekly and they want their wages, worked hours, assignments, W2s
and any other financial information to be kept secure.
As it was stated before there are three security barriers in place provided by our
hosting and one additional within the generated code thus there are no foreseeable
New email accounts can be issued to employees based on the new hosting and old
ones can be integrated via Outlook.
Customer support software will be a module within the system. There is no digital
Because the system collects personal identifiable information (PII), such as employees'
phone numbers and social security numbers, it should be secured by using various
security technologies (certificate and encryption).
Protection towards MySQL injections is standard to the database accessibility of
our clients. Our hosting service (iPage) has security implemented to provide access
to their system via SSL certificates, encryption and safe password creation.
Proper access control mechanisms should be developed to restrict users from accessing
sensitive information.
Access to different modules within the website will be granted via password. The
roles to which a user has access to will be defined by the administrator who creates
5.3 Design
The client has in place a static website at the moment. The site has logos and
professionally developed text which they do not wish to modify. They would like to keep the
look of the site thus there will be no need to create new templates but to integrate the new
functionality to the site.
5.4 Development
The development of the site incurs into many subtasks that keep relation to each other and in
other instances can be created independently. The following is a list of the tasks that need to be
performed:
5.5 Testing
5.5.1 Alpha testing
Alpha testing refers to the preliminary round of tests to ensure that the system works as
expected. With the methodology of use (Agile XP) testing starts with the completion of the first
software unit; every unit is tested individually and as these units become modules. Integration
testing checks for the modules as they are added to the system for a later larger test which
includes the whole system; these tests are also referred as unit, component and system tests.
(www4.nau.edu, n.d.)
5.5.2 Beta testing
Beta testing, also known as pre-release testing is the second phase of software testing in
which a selected group of users sample the software. These tests help developers identify any
bugs or usability issues within the system before its release. (www4.nau.edu, n.d.)
5.5.3 User Acceptance Testing
User Acceptance Testing (UAT) is the last in the series of tests before the software is
launched. This last test helps ensure that the software which is ready to be released meets all the
requirements and user expectations. (techterms.com, 2012)
5.6 Training
Even though some of the stakeholders might be aware of the functionality, look and feel
of the software due to their interaction with it at the Beta and User Acceptance Testing rounds;
there is the need to provide the client with formal training sessions in which all modules of the
system will be explained in detail for its correct and efficient usage. Training of the different
modules of the system will be provided as the users are entitled to use, i.e. recruiters do not need
to be trained on the check generator module.
5.7 Documentation
5.7.1 Operation manual
The operation manual will include all the features available of the system as well as
detailed information on how to access and manage such functionality. Operation manuals will be
available for the stakeholders divided per department while there will be a master document
which details all the functionality of the system. The separation of information is done in order
to provide with an additional security measure in which personnel has access to the data that will
allow them to perform their work.
5.7.2 Maintenance manual
This document is more technical in nature and it is developed for the IT personnel of
Cosmopolitan Staffing. It contains information pertaining back up procedures, hosting, domains,
subdomains, database structure and some coding structure guidelines.
Even though we provide with maintenance service for the site (if requested); after the
release the website belongs to Cosmopolitan thus they are able to perform modification to the
source code as they desire. That is the reason why we provide their IT department with
information regarding the internal parts of the project for instances in which they decide to
perform their own updates and modifications.
5.8 Deployment
When the software gets the User Acceptance Testing approved by the client, it will be
considered ready for deployment.
The project manager needs to possess excellent communication skills; oral and written.
This skill is especially important not only to assess client needs and transmit ideas among
stakeholders but to create and revise documentation that will be delivered to the client. The
project manager needs to be a leader who is able to delegate tasks, coach and mentor team
members, resolve conflicts and negotiate deals.
It is a definite plus when a project manager also possess technical skills that will allow
him to present realistic expectation from his development team as well as promise only as much
as his experience dictates as possible within the software development cycle. Product
knowledge, design skills, high tolerance for change and industry knowledge are also desirable
skills of a proficient project manager. (Egeland, 2009)
7.2.2 Programmer/Developer
For this project there is the need of programmer with the following technical skills:
HTML
CSS
JavaScript/JQuery/Ajax
PHP
XML
Web Services (SOAP/REST)
MySQL
Data Migration
Software Testing
16,800USD
33,600USD
Total:
50,400USD
Those figures only represent salaries and do not include any other operational expenses
Are we on schedule?
Are we keeping the determined budget?
Are the resources (human/technical) enough to complete the project?
Is the project following the preset quality standards?
above mentioned metrics to be collected refer only to our internal project management which is
the one responsible for the project advancement.
Other metrics to keep in consideration are the ones related to the customer such as their
satisfaction and their cooperation with the project. As we have stated in section 2 of this
document the Agile XP methodology which is the one used for this project there is the need for
high levels of communication for the healthy progress of the project. Any delay on any side
(customer or client) might affect the project negatively. (Lee, n.d.)
As it was stated before is fairly easy to identify schedule issues not so much correcting
them. One of the advantages of our organization is its resources. At the moment we are using
one project manager and one developer. The project manager is also a developer thus there is
always the possibility to lend a helping hand in order to catch up but that is not the only solution.
We have another developer on call as well as a designer in case the schedule issue is
related to lack of experience creating or integrating certain modules. Web developing is a subject
with a wide spectrum in which cant expect for one person to be an expert in every single detail.
A JQuery expert might not be as seasoned on Ajax and many projects requires the use of both in
a single module in order to provide the expected interactive functionality to the page.
Our resources are the ultimate mitigation strategy for this project when it comes to
schedule issues.
8.3.2 Risk 2 - Project goes over budget
There isnt a solution which doesnt bring risks of its own. The ultimate solution for an
issue might be the start of a new inconvenience. By bringing more people into the mix theres
the chance that developing costs go over the predetermined budget. Theres one fact that will
allow us to counteract this possible issue. Our developers within the team are paid the same
wages thus billable hours will keep the rate. In the other hand; when worked hours increase it
will impact the developing organization.
To mitigate this issue we have opted out for a FPIF (Fixed Priced Incentive Fee) contract.
This contract provides incentives for the seller to work efficiently by keeping the costs low and
the delivery time on target. Incentives can be a fixed amount or a percentage of the costs saved or
the overall project cost. Performance targets and financial incentives are set before the beginning
of the project. (projectmanagementlexicon.com, n.d.)
Impact
Probability
Moderate
Low
Moderate
Low
Moderate
Low
High
Low
Moderate
Medium
High
Medium
High
Medium
scenarios. That takes us to the next risk which is also connected with the other two but has been
identified as being low probability scenario. Our team of developers has yet to find a project
which is too complex to the point where we have to get out of our own network. As a mitigation
strategy for this issue we do have developers on call if needed.
As natural disasters are not common (low probability) in our area of operations theres
still the possibility that one of our team members fall into some sort of calamity. If this is the
case the impact for the overall performance of the project is moderate due to the integration of a
new programmer to the project who will have to be set to speed. Good documentation of the
project will allow for this task to be performed easily.
9.3.2 Natural disaster for project manager - Moderate Impact, Low
probability
It is somehow easier to add/replace a programmer within our team that get the client used
to deal with somebody else in the occurrence of inability of the project manager due to a natural
disaster or any other issue. Once again, good project documentation will allow for the new
person in charge to catch up fairly easy and the client will have to learn to deal with somebody
else for the remainder of the project or at least momentarily.
9.3.3 Natural disaster for client - Moderate Impact, Low probability
This risk has the possibility of delaying the project to a point in which we will be
completely out of control. The risk has been marked as moderate because any delay will be
attributed to the client and not our operation. Even though it is marked as low probability we
cant ever be sure of when calamity will strike their area of operations.
9.3.4 Client delays participation Moderate Impact, Medium probability
In the same fashion that a natural disaster on the client end will affect the natural flow of
the project; client participation delay will produce the same effect. It has been identified as
medium probability based on experience in which client tend to take longer than scheduled for
testing and/or any duty that prevents us from moving forward until the milestone has been
accomplished.
parties and the implementation of win, win strategies. We work as a team with the client in
mind; whenever there are issues we come to agreements, compromises and accommodating each
other needs. (mindtools.com, n.d.) It has worked in the past and we certainly believe that this
project will be no different.
10.2 Identify the tools and processes that you will use for team
collaboration
There are two main items that need tools for the developing cycle to go smoothly,
communications and code review. These two tasks will be managed by the use of Microsoft
Project, live chats, phone calls and email when it comes to communications. The web hosting
site (Ipage) will serve as a repository for the developed code so we can access it remotely
regardless of our location.
Most code gets reviewed locally before we upload it to the server as we both have
WAMP installed in our machines. There are instances in which we need to review each other
code like in instances in which integration is required or tests are due. These approaches have
been used effectively in the past and it is the approach that will be used for the development of
the Cosmopolitan Staffing software.
FTP via Filezilla is our tool of choice when uploading files to the web hosting server. It
has proven to be considerably faster than using the tools provided by any web hosting provider.
The client wont need to access this tool as they will simply visit the domain name and with the
proper credentials they would be able to gain access to preliminary portions of the code when
required or when the occasion sees fits by previous agreement from both parties.
stakeholders. That is exactly what has been planned and the several communication channels
have presented within this document.
The Agile approach, communication tools, repository, stakeholder and risk analysis, risk
mitigation strategies and documentation will ensure that the development phases are achieved
without delays and with the best quality product possible.
11. References
campus.ctuonline.edu. (n.d.). Motivation. Retrieved May 12, 2013, from campus.ctuonline.edu:
https://campus.ctuonline.edu/courses/CS640/p5/hub1/hub.html
campus.ctuonline.edu. (2013). Project Stakeholders. Recuperado el 8 de April de 2013, de
campus.ctuonline.edu: https://campus.ctuonline.edu/courses/CS640/p1/hub1/50710.pdf
Egeland, B. (2009, September 10). The Skill Set of the Project Manager Another View.
Retrieved April 29, 2013, from pmtips.net: http://pmtips.net/skill-set-project-managerview/
Kelly Waters. (2007, February 10). What Is Agile? (10 Key Principles of Agile). Retrieved April
25, 2012, from allaboutagile.com: http://www.allaboutagile.com/what-is-agile-10-keyprinciples/
Lee, C. (n.d.). Metrics in Project Management . Retrieved May 8, 2013, from cprime.com:
http://www.cprime.com/community/articles/metrics_in_pm.html
mindtools.com. (n.d.). Resolving Conflict Rationally and Effectively. Retrieved May 12, 2013,
from mindtools.com: http://www.mindtools.com/pages/article/newLDR_81.htm
Pelosi, M. (n.d.). Sample Requirements. Retrieved April 22, 2013, from campus.ctuonline.edu:
https://campus.ctuonline.edu/pages/MainFrame.aspx?
ContentFrame=/Home/Pages/Default.aspx