Estimating The Cost Of New Systems Information Technology Essay
The objective of this coursework is to provide a software cost and estimation of the new system that is requested by the project manager of the following scenario. This document shall supply the necessary information that is required to make the desired product which is an enhanced website of the company, it will show the Function Point Analysis supported with a Line of Codes (LOC), a Risk Analysis report to show how the new product would affect the current system, and a Gantt chart where each member has their own assigned task that must completed before or at the day of the deadline.
Travel Reservations and Automated Itinerary Navigator (TRAIN)
GoForIt Ltd is a rapidly growing travel company that has become a market leader in medium and long-distance national and international rail travel across northern Europe. Due to their success, GoForIt is seeking further improvements in their business by means of enhancing their web sit by offering comprehensive timetabling and ticket information facility for an on-line booking / reservation.
GoForIt Ltd operates a large fleet of trains with an extensive timetable for many journeys each day. It is important that a customer is notified of seat availability or unavailability on any given scheduled train, to their chosen destination on their requested dates and times, while on-line, and within an acceptably short response time. To satisfy this requirement, TRAIN requires the integration of two other systems, The Train Integrated Engineering System (TIES) and The Seat Enquiries and Assignment of Tickets System (SEATS). TIES hold information on the operational status of each physical train (locomotive carriages). SEATS are used for ticketing and seat reservations. Both are located centrally at the head office in Manchester, England.
The client should be able, on one page or form, to specify their train travel requirements including date, destination, preferred departure station and preferred seat place (including front/back of the train and forward/backward facing). This information is then used to check seat availability on the SEATS database and to verify train data from the TIES database.
Once a user has submitted their travel requirements, TRAIN should respond by presenting information including the availability or unavailability on the date of economy and business class tickets. Payments by credit card for seat bookings, using the Credit Online Invoices with Network Security (COINS) system, are to be incorporated into the design of this internet-based ticketing system. COINS are an existing package that GoForIt Ltd commissioned before the start of the TRAIN project.
At intervals TRAIN will provide a detailed report of customer profiles. This will consist of how many users have accessed the website, and what travel requirements they have selected (including class of travel and connecting train/ travel information).
Part 1: Software Cost and Timescale Estimation [30%]
You are to take on the role of the project manager at TRACER for developing a Reservation system. You are to prepare a series of reports for your manager at TRACER. Each of these reports will reflect different information needed by your manager. This process reflects how project plans evolve and develop over time prior to be submitted a final proposal to the customer.
Your Task:
For this assignment you should use the standard Function Point (FP) Analysis learnt from this course and explained in the recommended books and other sources.
Based on the information domain research on the similar e-commerce online system, customer requirements with valid assumptions (if any) to proceed to use Function Point Analysis technique.
Outcome
You are to submit a report that contains the following sections:
Derivation and step by step process of Function Point Estimation technique with support description on the values involving Cost, Effort, and Duration [10 marks]
Other support estimation methods (like LOC, COCOMO and so on) with reasonable justification are expected on the derived values of Cost, Effort and Duration.
[10 marks]
Overall cohesion and clarity [10 marks]
Part 2: Risk Analysis [30%]
You are to continue your role as the project manager at TRACER planning for the system that is to be developed by your company for the “TRAIN” System. You have completed your Estimate of Cost, Effort and Duration and submitted this as Assignment Part 1.
Now you must reflect upon the project and your plan and consider the risks to meeting the deadlines for this project and delivering a successful system on time and within the budget and complete a Risk Analysis.
Your Task
Complete a Risk Analysis on the project.
Give a Presentation (to your manager) on your risk analysis.
Support your presentation with a Short Report
Outcome
You are to support your presentation with a short report that contains the following:
Risk Analysis [TWO major risks] [20 marks]
Identify TWO major risk(s) to achieving success on this project and outline why you chose those risks to be monitored, managed and / or eliminated.
Tour report may cover the following:
Description of Risk;
Justification for the selection;
Likely impact of the risk on the project if it is not dealt with;
Risk management i.e. how you will manage it
Possible affect on costs and timescale of dealing with the risk.
Presentation [Group] [10 marks]
Part 3: Project Plan, Quality Control and Recommendations [40%]
Your Task
To date your activities have been concerned with planning and costing the development tasks. Now you must turn your thoughts to the quality assurance for this project. Your manager would like to see a new task list and an updated project plan which includes and highlights the quality assurance activities associated with the project.
Your boss is anxious about the project timescales as the User Requirements contains the following clause…
‘The system must be live within 8 months of the start of the project. They are prepared for the costs to be increased (within reason) in order to achieve this.’
Consider how to stage the project so it can be completed within 8 months even if it does involve increasing the costs. What new risks does this introduce?
Come to your own conclusions about how to schedule and cost this project and how to manage the risks. Use your analysis to make recommendations to your manager.
Outcome
You are to hand in to be assessed a report that contains the following sections:
The quality control tasks for this project [30 marks]
List the deliverables from each software development activity undertaken by TRACER (or subcontracted by TRACER). Describe the quality control task or activities for each deliverable.
Strategies for reducing timescales for this project
Describe your suggestion for how the project could be staged to meet the customer’s deadline of completing the project within 8 months (36 Weeks) supported with a risk assessment.
Your Recommendations and Conclusions
Come to your own conclusions and recommendations for this project. Outline your recommendations and justify them.
Overall cohesion and clarity [10 marks]
Table Of Contents
Estimations
As the project team of Travel Reservations and Automated Itinerary Navigator (TRAIN) system, we need to estimate the cost, effort and timescale as a part of final project proposal. In order to do the above estimation, we are going to use two standard techniques to measure the size of the software.
Function Points (FP)
FP is methodology to estimate and measure the time and the cost of development and maintenance of the software applications, which was developed by A.J. Albrecht of the IBM Corporation in the early 1980s. Functions in the system can be divided into different categories and complexity weights:
Category
Complexity weight factors
Simple
Average
Complex
Inputs
2
4
6
Outputs
3
5
7
Files
5
10
15
Inquires
2
4
6
Interfaces
4
7
10
Once the total function points calculated, plus several environmental factors, we could get an adjusted function point so that the total FP / men days could be measured.
Lines Of Codes (LOC)
Lines of code (often referred to as Source Lines of Code, SLOC or LOC) is a software metric used to measure the amount of code in a software program. LOC of each module will be estimated by assumption based on historical data, analysis of defined modules and experience. Below table shows the estimated relationship between function complexity and the required cost and effort.
Complexity
LOC per month
Cost per LOC
Simple
350
$ 30
Average
300
$ 60
Complex
200
$ 90
Assumptions
After analyzed the customer’s requirement, we have made the following assumptions to setup the scope and boundary of TRAIN system.
The scope of new system TRAIN is enable customers to book train ticket online and also generate reports of customer profiles.
It is not required to develop a centralized interface for staff to manage the 3 existing systems.
All customers must be registered before buying tickets.
The only payment method is pay by credit cards.
In order to build database connections and intra-system interfaces, GoForIt Ltd shall provide sufficient information and support about the 3 existing systems.
Besides modules for customers to book ticket, modules for staff to manage customer accounts and daily operation transactions will also included.
Function Point (FP) Analysis
In this section, the software will be break down into 10 different modules:
External Interface:
This interface is designed for external customers. They can enquire and buy the ticket through online process.
Modules:
Schedule Searching
Customer Login
New Member Registration
Reset password
Buy Ticket
Bill Payment
Internal Interface:
This interface is designed for internal staff. They can perform daily administration work and generate report for management review.
Modules:
Staff Login
Customer Maintenance
Generate Report
User Account Maintenance
Schedule Searching
Purpose : The new systems have features that are capable to help the customers with their inquiries. It presents the main page where the customer can select from the schedule text box to find their desired train schedule and show a seat plan to check if there are available seats left for ticket reservations.
Function Description :
Category
Description
Complexity
Inputs
A text box will be shown to customers allowing them to respond with a valid answer for searching schedule. The following text boxes and buttons will require SDK programs like Visual Studio.
Simple
Outputs
A new webpage will be shown to the customer after searching the result from the database being inquired. The result comprise of showing the customer their selected time and train schedules being inquired. Same settings will be generated by SDK like Visual Studio.
Average
Interfaces
Connection to TIES and SEATS is required for getting the reservation information.
Average
Inquiries
The text being inputted from the textbox will be used in query for the database. The input must be verified correctly to avoid data error.
Average
Function subtotal :
Category
Count
Simple
Average
Complex
Inputs
1
Outputs
1
Files
Inquires
1
Interfaces
1
Customer Login
Purpose : Before a customer can buy tickets, the system will require customers to register their profile to our company database. Here they will input their user name and passwords for security procedures before they can have access to the Buy Ticket Page.
Function Description :
Category
Description
Complexity
Inputs
Customers will be asked to input their user name and passwords to the textboxes and click submit. Textbox and buttons are generated by SDK such as Visual Studio.
Simple
Inquiries
After customers have inputted their user name and passwords on to the textboxes, the system will use this 2 data as reference to check if it is registered inside the systems database. Data will be verified correctly to avoid error during comparison with the database.
Average
Function subtotal :
Category
Count
Simple
Average
Complex
Inputs
1
Outputs
Files
Inquires
1
Interfaces
New Member Registration
Purpose : A customer must become a registered member before buying tickets. This module provide functions for customer to fill in personal and credit card information, , verify customer’s input, duplication checking on the database and crate new customer record on to the database.
Function Description :
Category
Description
Complexity
Inputs
A form for customer to input personal information. The necessary text boxes and buttons could be easily generated by SDK like Visual Studio.
Simple
Inquires
Verify customer’s input to avoid data type / data range error. Search the database to avoid duplicate registration. Include program logics to verify credit card information. This kind of function is common in many enterprise software.
Simple
Files
A database table for storing customer records. The code can reuse from previous project since it is common in enterprise software.
Simple
Function subtotal :
Category
Count
Simple
Average
Complex
Inputs
1
Outputs
Files
1
Inquires
1
Interfaces
Reset password
Purpose : Enable customer to submit the request of reset password online. This module should automatically generate a new password and send an email to the specific customer’s email address.
Function Description :
Category
Description
Complexity
Inputs
A text box for customers to input their login ID (Same as registered email address). The necessary text boxes and buttons could be easily generated by SDK like Visual Studio.
Simple
Inquires
Verify customer’s input to avoid data type / data range error. Search the database to verify login ID, retrieve customer’s account information and also updating the new password. Include program logics to generate new password, generate email contents and sending out by email.
Average
Function subtotal :
Category
Complexity weight factors
Simple
Average
Complex
Inputs
1
Outputs
Files
Inquires
1
Interfaces
Buy Ticket
Purpose : Customer can select which seat they want to buy. Customers have to select a train schedule first, and then he can see the available seat and select the one they want to sit. After the selection, there is an information on the selected seat and total amount.
Function Description :
Category
Description
Complexity
Inputs
A train seat plan will be shown to customers, with identification on available or being booked. The train seat plan can be generated by SDK like Visual Studio, but additional effort in layout accuracy is needed in order to let the customers have a better estimation.
Average
Outputs
After the customers selected a seat, a corresponding box below the seat plan will show the quantity of seat selected and the total amount. Those can be acquired from the Inputs with a pre-defined formula calculation.
Average
Inquires
As the train seat plan was source from SEATS system and train schedule was source from the TRAINS system, there are 2 queries from external systems. This can be done by database query tool.
Average
Interfaces
Since there are 2 external databases needed to be queries beforehand in order to allow customers have a up-to-date seat availability information, 2 interfaces are needed to bridge the buy page and the databases.
Average
Function subtotal :
Category
Count
Simple
Average
Complex
Inputs
1
Outputs
1
Files
Inquires
1
Interfaces
1
Bill Payment
Purpose : After the customers selected the seat, they need to checkout in order to confirm the booking and make payment. The bill page is a summary of all the information, such as selected seat, train schedule, payment amount, method of payment and so on.
Function Description:
Category
Description
Complexity
Outputs
There is several of information to be displayed back to the customers. Once the data is queried from the database, they can be placed in to relevant description fields.
Simple
Files
Once the customers press the confirm button, the system will automatically update the SEATS system, COINS system and the TRAINS system.
Complex
Inquires
At this page, all information will be queried from the other databases and will be displayed to customers for their review. Thus, here involve more than one database to queries.
Average
Interfaces
Since there is a few query actions and databases update actions, interfaces needed to ensure all databases queried correctly and, after pressing the confirm button, all database are updated accordingly.
Complex
Function subtotal:
Category
Count
Simple
Average
Complex
Inputs
Outputs
1
Files
1
Inquires
1
Interfaces
1
Staff Login
Purpose : The new system will have a security procedure for their staff as well. Staffs are being given their own personal user name and password unlike the User Login for the customers, the module created for the staffs have different features like generate reports and manage customer accounts.
Function Description :
Category
Description
Complexity
Inputs
Staff members will be asked to input their user name and passwords to the textboxes and click submit. Textbox and buttons are generated by SDK such as Visual Studio.
Simple
Inquires
After the staff member has inputted his/her user name and password on to the textboxes, the system will use this 2 data as reference to check if it is registered inside the system’s database. Data will be verified correctly to avoid error during comparison with the database.
Simple
Function subtotal :
Category
Count
Simple
Average
Complex
Inputs
1
Outputs
Files
Inquires
1
Interfaces
Customer Maintenance
Purpose : In the new system, it have a internal database to store all the Customer information for transaction or identification use, the admin/operate staff can use this function to modify any customer information, such as the contact address or phone, help customer to reset the password or update the credit card information.
Function Description :
Category
Description
Complexity
Inputs
A form for Staff to modify the customer information. The necessary text boxes and buttons could be easily generated by SDK like Visual Studio.
Simple
Outputs
The same from as the Input to Display the customer current information. The necessary text boxes and buttons could be easily generated by SDK like Visual Studio.
Simple
Files
A database table for storing customer records. The code can reuse from previous project since it is common in enterprise software.
Simple
Inquires
Searching the database to display or verify customer’s input to avoid data type / data range error. Compare the database to avoid duplicate registration. Include program logics to verify credit card information. This kind of function is common in many enterprise software.
Simple
Function subtotal :
Category
Count
Simple
Average
Complex
Inputs
1
Outputs
1
Files
1
Inquires
1
Interfaces
Generate Report
Purpose : The Report page purpose is to provide the staff member to generate a summary report for their daily transaction and confirm how many tickets they have sold online. The summary comprise of all the information, such as selected seats, train schedule, amount and method of payment, etcetera.
Function Description :
Category
Description
Complexity
Inputs
A text box will be shown to staff users allowing them to respond with answers. The data being input will be used in the query. The following text boxes and buttons will require SDK programs like Visual Studio.
Simple
Outputs
The data will show the result of the staff user requested from the database, this result is considered valid and correct based on the comparison with the stored data.
Average
Inquires
Besides verifying input data, complex program logic and database SQL is required in order to select and calculate large amount of data from several databases for reporting.
Complex
Interfaces
Connection to the 3 external databases is required for reporting.
Complex
Function subtotal :
Category
Count
Simple
Average
Complex
Inputs
1
Outputs
1
Files
Inquires
1
Interfaces
1
User Account Maintenance
Purpose : This Module is for the internal admin user to create and modify the staff information. It is separate into two parts, one is the User Account Maintenance and it can be only accessed by the admin user, the other one is the change password function, it can let any use modify his own password for security.
Function Description :
Category
Description
Complexity
Inputs
A form for Admin user to modify the staff login information and the access level. Another form for all users to modify their password. The necessary text boxes and buttons could be easily generated by SDK like Visual Studio.
Simple
Outputs
The same from as the Input to Display the staff current login information for modify. The necessary text boxes and buttons could be easily generated by SDK like Visual Studio.
Simple
Files
A database table for storing staff login information. The code can reuse from previous project since it is common in enterprise software.
Simple
Inquires
Searching the database to display or verify staff input to avoid data type / data range error. Compare the database to avoid duplicate registration.
Simple
Function subtotal :
Category
Count
Simple
Average
Complex
Inputs
1
Outputs
1
Files
1
Inquires
1
Interfaces
Unadjusted Function Point
It is calculated by the total sum of multiply the function count and the function point.
Category
Complexity weight factors
Total Points
Simple
Average
Complex
Inputs
2 x 8
4 x 1
6 x 0
20
Outputs
3 x 3
5 x 3
7 x 0
24
Files
5 x 3
10 x 0
15 x 1
30
Inquires
2 x 4
4 x 5
6 x 1
34
Interfaces
4 x 0
7 x 2
10 x 2
34
Unadjusted Function Points
142
Technical Complexity Factor
There are many technical complexity factors can affect the development of the application software. It is rated from zero to five and can be calculated by the formula :
TCF = 0.65 + ( sum of factors ) / 100
Technical Complexity Factor
Weighting
Data Communications
5
Performance
4
Heavily Used Configuration
1
Transaction Rate
4
On-line Data Entry
1
End-User Efficiency
2
On-line Update
1
Complex Processing
3
Reusability
2
Installation Ease
1
Operational Ease
1
Degree Of Influence
25
TCF = 0.65 + (25 / 100) = 0.9
Final Function Point
It is calculated by the formula : UFP x TCF
FP = 142 x 0.9 = 127.8
Therefore, the final function point of the application software is 128 (Round to digit).
Cost, Effort and time estimation
In this section, we will estimate the cost, effort and time scale of the development of TRAIN system based on Total FP and historical data of our software house.
Total FP: 128
Historical data:
Description
Value
Average salary:
(in Hong Kong Dollar)
$ 15,000
Productivity:
10 FP / person-month
Cost, Effort and time estimation
Description
Value
Effort:
(Total FP / Productivity)
128 / 10
=13 person-months (rounded)
Overall cost estimation:
(Average salary X Effort)
$15,000 x 13
= $ 195,000
Cost (money) per function point:
(Overall cost / Total FP)
$195,000 / 128
= $ 1,523 (rounded)
Time estimation:
13 months ( 1 person)
or
1 month ( 13 pserons)
Lines of Codes
In this section, the Lines of Codes (LOC) are estimated by assumption based on historical data, analysis of defined modules and experience. Please refer to section 1.2 for the defined modules of TRAIN system.
The following table is the historical data of our company, describes the average LOC per month and average cost per LOC. The overall complexity of each Module is weighted by the number of function it contains, the complexity of particular function and also the effort of building the function.
For example, the function of Customer Login is common on every system therefore the complexity is Simple because we can reuse the code from previous project. The function of Bill Payment should be considered as Complex because it is required to handle interfaces with three existing system and also the security requirement of payment transaction is very high.
Complexity
LOC per month
Cost per LOC
Simple
350
$ 30
Average
300
$ 60
Complex
200
$ 90
Once we got the above information, we can estimate the cost, effort and duration by the technique of LOC using the formula in the following table.
Item
Formula
Effort (person-month)
LOC / LOC per month
Cost
LOC x Cost per LOC
A table of LOC components can be generated by the above information and formulas:
Module
Complexity
LOC
LOC per month
Effort
Cost per LOC
Cost
Schedule Searching
Average
432
300
1.44
$ 60
$ 25,920
Customer Login
Simple
144
350
0.41
$ 30
$ 4,320
New Member Registration
Simple
216
350
0.61
$ 30
$ 6,480
Reset password
Simple
144
350
0.41
$ 30
$ 4,320
Buy Ticket
Average
480
300
1.60
$ 60
$ 28,800
Bill Payment
Complex
768
200
3.84
$ 90
$ 69,120
Staff Login
Simple
96
350
0.27
$ 30
$ 2,880
Customer Maintenance
Average
288
300
0.96
$ 60
$ 17,280
Generate Report
Average
552
300
2.76
$ 60
$ 33,120
User Account Maintenance
Average
288
300
0.96
$ 60
$ 17,280
Total
3408
13.26
$ 209,520
Conclusion
Based on the Function Point Analysis in section 1.2, the TRAIN system is estimated to be costing HKD $195,000. The effort of project team is 13 person-months, which means it could be completed in 13 months by single software engineer or one month by 13 engineers. The estimated Lines of Code of the software is 3408 using Visual Basic.
The LOC estimation strongly supports the estimation report because the total cost different between two approaches is only $209,520 – $195,000 = $14,520 which is only 7.4%.
Risk Analysis
Risk analysis helps to identify the most possible threats to an organization and analyze the related weakness of the organization to such threats. It evaluates the existing physical and environmental security and controls, and assessing their sufficiency in relation to the potential threats of the organization. It identifies the critical business functions inside the organization and determines the impact of not performing the business function further than the maximum acceptable outage.
Most businesses depend a lot on technology and automated systems, and their disturbance for a few days could cause great financial loss and may threaten its existence. The constant operations of an organization depend on the management’s awareness of potential disasters, their capacity to develop a plan to decrease disruptions of mission critical functions, and the capability to recover operations practically and successfully. The risk analysis process provides the foundation for the total recovery planning effort.
The primary objective of business recovery planning is to look after the organization in the event that all or parts of its operations and/or computer services are rendered unfeasible. Every operating section of the organization should be evaluated to determine the potential danger and impact connected to various failure threats.
The planning process should recognize and assess the probability of all potential risks and the effect on the organization if that threat occurred. To do this, each department should be analyzed independently. Although the main computer system may be the single greatest risk, it is not the only significant concern. Even in the most computerized organizations, some departments may not be automated at all.
For example, in some computerized departments of the organization, important file records remain outside the system, for instance legal files, PC data, software stored on USBs or CDs, or supporting documentation for data entry. The impact can be rated as: 0= No impact or interruption in operations, 1= Noticeable effect, disruption in operations for up to 8 hours, 2= Harm to equipment and/or facilities, interruption in operations for 8 – 48 hours, 3= Major damage to the equipment and/or facilities, disturbance in operations for more than 48 hours. All main office and/or computer center functions must be evacuated.
To gauge the potential risks, a weighted point rating system can be used. Each level of probability can be assigned points as follows:
Probability Points:
High=10
Medium=5
Low=1
To obtain a weighted risk rating, probability points should be multiplied by the highest impact rating for each facility. For example, if the probability of storm is very high (10 points) and the impact score to the facility is “3” (representing that a transfer to another facilities would be required), then the risk factor is 30 (10 multiplied by 3). Based on this rating method, threats that pose the greatest risk (e.g., 15 points and above) can be recognized.
Risk Identification
Risk
Impact
Solution
Rate
ISP Service Down
No Internet connection and the ticketing system will be down
Subscribes two ISP service
Low
Power Supply Outage
All server will stop immediately
Setup UPS to provide stable power supply
Low
Web Server Down
Customer cannot access the online ticking system
Setup Web Server in cluster mode
Average
Network Security
Customer information will be lead
Apply security patch periodically and protect the network with complex password
Average
External DB Connection Down
Customer cannot make payment
Contact payment gateway provider to fix the problem
Average
Internal DB Connection Down
Customer cannot proceed online booking
Backup DB data in daily basis and maintain transaction log to restore data
High
Human Error
Internal staff input wrong pricing figure
Create a module to allow administrator to suspend all online request
High
Major Risks
Internal DB Connection Down
Description :
The internal database includes SEAT, COIN and newly developed application system. They are running in different servers and using different database listener to communicate to each others. Besides, if the physical database file has problem, it can cause the database corrupted.
Justification :
There are many reasons to cause the network connections down and it is very often to happen. It is possible to have database corruption such as dead lock, data crash.
Impact :
There are three database running in different servers. Even if one of the databases is not available, the whole system will not be available to use. It is because they are relied on each other to save and retrieve correct data.
Management :
If the system detects the DB connection is broken, the current transaction should be rolled back. A system unavailable page needs to display and an alert needs to send out to the administrator immediately through email and SMS. The administrator needs to find out the roots cause whether it is connection failed or database is corrupted. If it is caused by the connection failure, the administrator may restart the db server to resume the connection. If it is caused by database corruption, the administrator needs to host a system maintenance page immediately and restore the db from the backup within four hours.
Cost Impact :
It is estimated to cost HKD $10,000 and 1 person-month to develop a monitoring and acknowledgment system to maintain the system availability and produce a detail contingency plan to handle data recovery.
Human Error
Description :
Human Error is a general problem and will always happen. Normally, users may not know they are doing the wrong thing immediately. However, those wrong action may be generated a serious problem.
Justification :
This kind of risk is always happened. Once there are involving human input, it is possible to happen. It may be caused by lack of experience to manage the system, careless when input data, misunderstanding of the usage of the function.
Impact :
When the staff wrongly input configuration data such as train schedule or ticket pricing, customers may make the wrong booking. It will affect the revenue of the company and create many customers’ complaints because they cannot ask customer to pay back the difference of ticket pricing.
Management :
Verification of data input must be performed by two different parties. It can eliminate the probabilities of error happens. Besides, a “one click stop button” is proposed to develop. It can suspend the ticketing process immediately to reduce the lost of the company.
Cost Impact :
It is estimated to cost HKD $5,000 and 0.5 person-month to develop a verification scenario and “one click stop button” function.
Conclusion
Based on the Risk Analysis, the two major risks are Internal DB Connection Down and Human Error. It is estimated to be costing HKD $15,000 and the effort of project team is 1.5 person-month.
Presentation PowerPoint
Project Plan, Quality Control and Recommendations
The aim of the TRAIN system is to provide a user friendly interface allowing customers to buy ticket in a short response time. It can also provide an efficiency management system to the GoForIt Ltd to manage customers’ request. The scope of the project includes:
Provide user friendly interface for searching and buying available ticket
Provide membership scheme for future promotional activities purpose
Provide various report for management analysis
Project Deliverables
The system is expected to be delivered within 12 months including software development and testing, system documentation and user training. The following list of deliverables is required to meet the project plan.
No
Deliverables
Duration
D01
Project Estimation Plan
3 weeks
D02
Project Risk Analysis
2 weeks
D03
System Requirement Specification
4 weeks
D04
Quality Assurance Plan
1 week
D05
Software Design and Development
28 weeks
D06
System Integration Test
1 week
D07
Software Testing Document and Quality Assurance
4 weeks
D08
Software Implementation
1 week
D09
User Manual
1 week
D10
User Training
4 weeks
D11
Software Delivery
1 week
D12
System Development Coding and Technical Manual
2 weeks
Project Role and Responsibility
This project is required to form a development team with 4 persons. They have different roles and responsibilities. They will be allocated in different project stage of work.
Position
Head Count
Role and Responsibility
Project Manager (PM)
1
Manage project progress
Documentation
Technical Manager (TM)
1
Build up system architecture
Quality assurance control
Application Engineer (AE)
2
System design, development, testing and implementation
Project Plan
The project will be divided into 4 stages. Each of the stage will have individual deliverables and different team members to involve.
Planning and Analysis
The project manager and the technical manager have to estimate the cost and analysis the risk of the project. The technical manager and the application engineers need to collect an accurate user requirement to minimize the risk of requirement change during development. The final user requirement specification must be endorsed by user to make sure the project is keeping in the right track. The technical manager can produce a quality assurance plan to assure we deliver a high quality of application system.
No
Deliverable
Team Member
D01
Project Estimation Plan
PM,TM
D02
Project Risk Analysis
PM,TM
D03
System Requirement Specification
TM,AE
D04
Quality Assurance Plan
TM
System Design and Development
Based on the final user requirement, the technical manager can design the system architecture and the workflow of each function. Both development team and users have to discuss and confirm the system design and workflow in progress review meetings. The application engineer will produce the prototype for all functions. After getting the user approval, development team can start to work. As the system needs to communicate with the external legacy systems, an integration test must be conducted to ensure the connections between both systems can be established. There are NO bug free systems. Therefore, the development team has to debug the program before implementation. They can also use another alternative method to avoid the problems.
No
Deliverable
Team Member
D05
Software Design and Development
TM,AE
D06
System Integration Test
TM,AE
Testing
The technical manager will design a test plan to assure the system can be successfully implemented. The application engineer has to setup a testing environment for the user to perform user acceptance test. Based on the test plan, the application engineer will demonstrate and produce the test report for the user to sign off.
No
Deliverable
Team Member
D07
Software Implementation
TM,AE
D08
Software Testing Document and Quality Assurance
PM,TM,AE
Implementation
After passing the user acceptance test, the system can be delivered to the production environment. A full set of user training will be conducted. The development team may also recommend a Q&A section and let user to have a better knowledge of the system. The final system manual and documentation also needs to provide in this stage.
No
Deliverable
Team Member
D09
Software Delivery
TM,AE
D10
User Manual
PM,AE
D11
User Training
TM,AE
D12
System Development Coding and Technical Manual
PM,TM,AE
Reducing Timescales Strategy
In order to cope with the new timescales from 12 months to 8 months, the cost estimation must be revised. TRACER would not recommend reducing the deliverable items as all of the items are needed in a software development cycle. TRACER recommends speeding up the software development time and sharing the work load on system testing and documentation by employing one more engineer. Besides, some of the deliverable items will be start at the same time to meet the deadline.
This change will also affect the risk analysis. The system testing time is reduced leads the test scales reduce. Some of the test may not be able to perform. It will increase risk of program bugs occurrence. The user training session also needs to reduce. The staff may not have enough time to learn the usage of TRAIN system. It will increase the risk of human error.
No
Deliverables
Duration
D01
Project Estimation Plan
3 weeks
D02
Project Risk Analysis
2 weeks
D03
System Requirement Specification
4 weeks
D04
Quality Assurance Plan
1 week
D05
Software Design and Development
19 weeks
D06
System Integration Test
1 week
D07
Software Testing Document and Quality Assurance
2 weeks
D08
Software Implementation
1 week
D09
User Manual
1 week
D10
User Training
2 weeks
D11
Software Delivery
1 week
D12
System Development Coding and Technical Manual
2 weeks
Recommendations and Conclusions
There are many factors will affect the delivery of the project such as change of schedule, system function, budget. It is hardly to avoid and will increase the risk of the completion of the project. There are few recommendations can be used to improved the situation.
A proper project and quality assurance planning is one of the way to reduce the probability of the risk.
Define more detail and clear system document in the requirement specification stage can minimize the change in future and reduce the work load of the development team. For example:
Context Diagram – It is the highest level diagram representing the interaction between the system and all external entities.
Data Flow Diagram – It represents the “flow” of data in an information system in a graphical view.
Entity Relationship Diagram – It is a kind of abstract and conceptual modeling process.
Entity Life History – It provides a third view of the system design related to the time-based aspect.
To reduce the cost overhead, outsourcing the project to other country such as China and India is one of the methods. They have sufficient skill set for development and the costing is much lower. However, the project manager and technical manager have to pay more attention on the project schedule and output to ensure they can deliver on time and is accurate.
Order Now