IT DEVELOPMENT PROJECT
PROPOSAL
PREPARED BY
Future Tech Company1
PREPARED FOR
KACST
Done by:
Areej Albishi, Fatima aljeraisy , Mona Alhaidary, Nouf Alshammari, Reem Alshammari
Date Printed: 5/9/2015 File: proposal Document
1 Contact Details:
Managing Executive
Future Tech company
Tel:+966 114343434 Mobile: +966 554343434 e-mail: Future Tech@ Future Tech .com
TABLE OF CONTENTS
SECTION PAGE
Contents
1.TERMINOLOGY .................................................................................................................................... 4
2.FUTURE TECH COMPANY BACKGROUND ............................................................................................ 4
3.KACST BACKGROUND .......................................................................................................................... 5
4.THE DESCRIPTION OF THE PROBLEM .................................................................................................. 6
5.PROPOSED TECHNICAL APPROACH ..................................................................................................... 7
6.IMPLEMENTATION PLAN ..................................................................................................................... 8
7.PROJECT BUDGET ................................................................................................................................ 8
8.INTRODUCTION AND PROBLEM SPECIFICATION ............................................................................... 10
9.PROBLEM ANALYSIS: ......................................................................................................................... 13
10.CHALLENGES: ................................................................................................................................... 13
11.DATA COLLECTION TO DETERMINE THE BEST IT SOLUTION. .......................................................... 14
12.FINANCIAL JUSTIFICATION: ............................................................................................................. 18
13.TECHNICAL SPECIFICATION ............................................................................................................. 20
14.SYSTEM ARCHITECTURE: ................................................................................................................. 24
15.DATA DESIGN AND DATA FLOW ...................................................................................................... 25
16.SOLUTION DEMONSTRATION: ......................................................................................................... 26
17.TECHNICAL PART: ............................................................................................................................ 31
18.USE CASE DIAGRAM ........................................................................................................................ 34
19.SEQUENCE DIAGRAMS .................................................................................................................... 35
20.SYSTEM DEVELOPMENT AND DEPLOYMENT .................................................................................. 46
21.RESPONSIBILITIES AND ASSUMPTIONS ........................................................................................... 47
22.SCHEDULING: ................................................................................................................................... 48
23.OPERATIONAL GOVERNANCE, ROLES, AND RESPONSIBILITIES ....................................................... 50
24.OPERATIONAL READINESS ............................................................................................................... 50
25.CHANGE MANAGEMENT AND CONTROL ........................................................................................ 51
26.USER ENABLEMENT: ........................................................................................................................ 51
27.SUCCESS METRICS ........................................................................................................................... 52
28.DATA BASE ....................................................................................................................................... 53
29.REFERENCES: ................................................................................................................................... 54
Figures Figure 1: Future Tech Management Staff Structure ..................................................................................... 5 Figure 2: current situation .......................................................................................................................... 12 Figure 3: comparing Heroku to the famous cloud computing providers. .................................................. 15 Figure 4: storing and accessing for external developers and the internal developers through the cloud . 17 Figure 5: High Level Conceptual (Diagram) ................................................................................................. 21 Figure 6: System Architecture ..................................................................................................................... 24 Figure 7: Data Design and Data Flow .......................................................................................................... 25 Figure 8: KACST Home page of Portal Prototype ...................................................................................... 26 Figure 9: Code section prototype ............................................................................................................... 27 Figure 10: My profile Section prototype ..................................................................................................... 27 Figure 11:Newest posts Prototype ............................................................................................................. 28 Figure 12: complete system use case ......................................................................................................... 34 Figure 13: External Developer Registration ................................................................................................ 35 Figure 14: Internal Developer Registration ................................................................................................. 36 Figure 15: External Developer Login ........................................................................................................... 37 Figure 16: Internal Developer Login............................................................................................................ 37 Figure 17:Code Addition (External Developer) ........................................................................................... 38 Figure 18:Code Addition (Internal Developer) ............................................................................................ 39 Figure 19: Code Search ............................................................................................................................... 40 Figure 20:Edit Code ..................................................................................................................................... 41 Figure 21:Delete Code ................................................................................................................................ 42 Figure 22:Enable Notification ..................................................................................................................... 42 Figure 23:Search Events .............................................................................................................................. 43 Figure 24:Edit User Information ................................................................................................................. 44 Figure 25:trello UI ....................................................................................................................................... 47 Figure 26:Project Timeline, Milestones and Deliverables .......................................................................... 48 Figure 27: data base .................................................................................................................................... 53
1. Terminology
Term Meaning
Future Tech company Future Technology Company
KSA Kingdom of saudi arabia
KACST King Abdulaziz City for Science and Technology
2. Future Tech company background
Future Tech team is composed by highly skilled professionals who have Saudi expertise. Their team is
composed of mainly proffesional persons in IT technology field who combine academic knowledge with
hands-on expertise. All the work are done according to international standards and best practices.
Future technology company plan is to help identify and build know-how organizations and experience
necessary to implement the current operational plan and projects in the shortest time possible with high
quality ,by propose best solutions ,which keep up with the trends technology and company's
requirement.
Future technology will be state of the art staff apply proven best practices of operations and
cooperation with well-known experts in all fields to achieve higher levels of efficiency in the
implementation of projects .
The management staff structure of Future Tech Company is as the following diagram.
Key Managers of Future Tech Company:
Areej Albishi
Fatima aljourasy
Mona Alhaidary
Nouf Alshammari
Reem Alshammari
3. KACST background
King Abdulaziz City for Science and Technology (KACST) is an independent scientific organization
administratively reporting to the Prime Minister. KACST is both the Saudi Arabian national science
agency and its national laboratories. The science organization function contains science and technology
policy making, data collection, funding of external research, and services such as the patent office.
KACST support many scientific research projects to accomplish the goal of serve development issues in
various sectors. These research projects have good results that benefited many parties of private and
public sectors [9].
Figure 1: Future Tech Management Staff Structure
4. The description of the problem
KACST is responsible to develop different projects to support researches in many fields on science
and technology. For that KACST split this responsibility among departments which focusing on
particular field to develop projects which provide services and applications to help researchers.
In technology projects there are teams with different skills working together in their field to
implement successful project. Due to the project implementation time would be long for researching
purpose, the developers keep changing and high skills people will allocated in specific projects while
others need theirs experience. In same time other projects could lose their developers to work with
other teams for urgent projects.
In other hand, Departments competing on project funding without careful attention to their executing
capacity and whether they have enough skilled developers to execute such projects. While there is no
effective method to share and store applications and good tools of different projects. Which is very
important to save time, cost and reduce the pressure imposed on developers as a result of overloaded
work.
This problem was highlighted by KACST executive management as a critical issue that needs to be
studied further to find out the cause and possible solutions to resolve this problem.
5. Proposed Technical Approach
Requirements
More Programmers: The organization needs external programmers in peak seasons to write
insensitive codes, in order to help internal developers to focus in their core tasks.
A central place for codes where internal Programmers, can save, edit, search, and retrieve codes
easily.
Architecture Design
The Technology used:
Software: A Portal (website) where external programmers can access, register, add, edit codes.
Cloud Hosting: Cloud-hosting service, which support all programming languages also it has the
ability to scaling for future needs.
Web-Scale IT: Since the main goal of the portal is to add and store codes, the organization will need
more space at any time. Web-scale IT technology provides this feature in effective and fast way that
ensures the business process will work in flawless way. The method is to design, build and manage
data center infrastructure where capabilities go beyond scale in terms of size to include scale as it
pertains to speed and agility.
Analytic application: to analyze internal programmer preferences and fields then notify him with
the last recent added codes from the portal depending on his interest.
6. Implementation plan
Start Date: 1 April 2015
Duration: 3 months
Project Phases: Title Duration Output
Phase1: Understanding the as-is system 1 APR – 12 APR As-Is Document
Phase2: Gathering the requirement 15 APR- 30 APR Requirement Document
Phase3: Searching and conducting the
solutions
3 MAY- 27 MAY _
Phase 4: Deliver the solutions +
presentation
31 MAY To-Be Document
(suggested Solutions)
Phase 5:
Implement the solutions 1 JUN – 30 JUN External Portal + km
system
7. Project Budget
Hourly rate: [300 S.R./Hour]
The table below represents in details the outcomes' cost of each phase (Delivery). The cost may change
depending on the spending time. In case of any change you will be informed before being adopted[5].
Delivery Period durati
on
Time Cost
1 As-Is Document 1APR–12APR (work
days only)
11 days 9 am-11 am
2 hours/day
11*2*300=
6,600 S.R.
2 Requirements
Document
15 APR- 30 APR
(work days
only)
14 days 9 am – 1 pm
4 hours/day
14 *4*300=
16,800
3 Description of
solution Document
3 MAY- 27 MAY
(work days only)
20 days 3 hours/ day 20*3*300=
18,000
4 External Portal + km
system
1 JUN – 30 JUN
(work days only)
22 Days 9 am – 2 pm
5 hours/day
5*22*300=
33,000
Total 74,400 S.R.
The Business Case of KACST
8. Introduction and Problem Specification
Key business objectives:
The system has objectives to improve KACST performance and to achieve their goals as follows:
Save time by decreasing project duration.
Save cost as a benefit from reusing project codes.
Reduce the pressure imposed on developers.
Projects quality arises.
Increase average number of projects executing simultaneously
Current Problem:
To further investigate the problem, we study the current situation and how projects are being executed.
After conducting a number of interviews with members of the executive team at KACST including
directors of research teams, manager of the Project management office, manager of the engineering
division and the head of IT and developers .the initial objective was to reach a common understanding
based on the collected data to describe the problem from different perspectives that take into account
the point of view of all stakeholders [10].
The following sets of question were used as guidelines when conducting the interviews with the KACST
team:
1. What is your overall evaluation of project execution quality in the organization?
2. What is the average number of projects executing simultaneously in the same department
(competing over the same pool of resources)?
3. Are you satisfied with the human resources especially (developers) efficiency in the
organization?
4. Are there enough specialized human resources especially (developers) to execute projects
efficiently and on time?
5. What is the typical team size of developers and project duration?
6. Can resources be shared with other projects during the execution of the project?
7. Do you have any problem when working on the project ?
8. Do you have any limitation with budget to implement solution?
9. do you have any way to share and distribute knowledge between staff in order to get best
practice in short period ?
10. How do the team collaborates between them in order to get benefit of other colleagues
experience?
After analyzing the responses from the interviews with KACST members, it appears that the nature of
applied projects at KACST research departments are require a team (developers) composition of
different specialties and skills, some of them have longe time of experience while the other are fresh
graduate.
The current process on this problem shows in two cases :
Reassigned High skilled developer: KACST tend to seek allocating skilled staff for many tasks, And due to
lack in staffing especially those who have skills and knowledge. When urgent important project arise
which need staff with skills they assigned staff who already assigned to other projects to the new urgent
project.see figure[1] a.
Project Delay: if someone from the development team toke unexpected sick leave ,turnover or
reassigned to another project this will impose big challenges on the project manager who would delay
the project. see figure[1] b.
Based on data gathered from interviews, we found that the core problems facing KACST of multiple
project management lies in that they don’t share project codes among depatrtment and each developer
needs to start from the skratch .To solve this problem , KACST need to apply generalization and reuse of
codes to do the project in effective way.
project1 project2
(a) High skilled developer located in different projects
project1
(b) High skilled developer has unexpected sick leave,
turnover or reassigned to another project
Skilled developer
New developer
Figure 2: current situation
9. Problem Analysis:
System requirement General solution Problem
Data base contain codes with
description of codes
- Involve developers
from outside KACST
-Store projects codes
- Lack in staffing especially those
who have skills and knowledge
- Changing team membership,
new employee, unexpected sick
leave, turnover or resignation
- Lost Knowledge after the
project is completed.
Provide profile for each
developer contains the
information for contact.
Improve communication
technology
Lack of communication between
Developers
Search function by id of code
or title of code
Reuse codes, from past project High cost & Lost of time of
developer
10. Challenges: Transfer Individual Knowledge to others:
Expert developer may prefer not share their experience and codes to be the “lone hero .”
Generalize codes:
Some codes of specific project, cannot be reused in another project because it has high coupling
between software components.
Share codes Between Developers:
To adapt knowledge sharing and learning we need first to add it to KACST culture
Eliminate Repeating Mistakes:Developers should be able to avoid repeating mistakes by sharing
effective codes and mistakes.
11. Data Collection to Determine the Best IT Solution. The following data is crucial in determining the needs of the project:
Average number of resources needed in the project.
Execution site. Does the project needs the resource to be physically located in a specific
location or can the resource execute the given task remotely with frequent updates meetings?
Percentage and frequency of the developer engagement in the project. How often and for how
long the developer is needed.
The experience level of the developer needed.
In addition to data about available developers which include:
Field of specialty
Professional level (Senior, Mid-level, Junior)
Some measurement of previous performance tracking delivery on time and quality of previous
work.
Maximum work load allowed: professional / seniority level (Number of projects / hours / tasks).
Select a solution:
After KACST announcement about the problem they faced we suggested the flowing solutions:
Cloud Hosting: Cloud-hosting service, which support all programming languages also it has
the ability to scale up for future needs.
After reviewing and comparing the cloud hosting providers we recommend a company named Heroku
[3][4]for many reasons:
1. Heroku offers an immense suite of powerful features and is compatible with nearly every major
web language.
2. Heroku is by far the most powerful and extensible cloud hosting platform on the market.
3. Scaling and Flexibility ( see figure 2)
Figure 3: comparing Heroku to the famous cloud computing providers.
A Portal (website) where external developers can access, register, add, edit codes.
The to-be system will be represented in a portal for both internal (KACST employees) and external
developers. One portal for both of them is easier and better to be designed and executed. However,
each developer will be directed to another interface regards to his type. There are 2 interfaces, one for
external developers and the other for internal developers with extra features and security.
In General, these features will be applied in the new portal:
Tags: each developer should add tags to his code to shorten the time of finding it from others.
Categories: each code must be categorized under a category.
Description: Each code must have a description to make it easy to understand it from others.
Search engine: Advanced search engine to search for codes by username, category, tag, or recently
added.
Internal Developers:
For internal Developers:
They will access the portal by using a username and password.
The user will be directed to the internal system of codes (both of critical and general codes)
The internal developer has the authorization to access both of internal and external developers
codes.
Each developer can review all codes, add, edit and delete a code.
Editing and deleting codes must be confirmed by a supervisor before it is executed.
Advanced search will be applied to make it easy and fast for developers to search for codes.
For security issues, internal developers can access the internal portal only from KACST network.
Internal developer will be notified when a code of the same field he/she works on is added.
Internal Developers will be trained on using the new system.
External Developer:
The web portal will be accessed from external users to help in reduce the load in work. Every developer
will need to register as a first step by filling the registration form. Then after that the system will check
the registered information for each then will automatically generate a username and a password with
the level of authority they need. (see figure 3)
All the codes will be stored in a cloud database where the external developers can search and found the
codes they want then they can add, edit and view these codes.
For a security purpose the external user can access only the public shared folder so if there is any
sensitive or private code it will be not accessed by any one from outside KACST.
External users will be rewards for their contribution. Rewards will attract and encourage developers to
join, participate, and do their best in this project.
Figure 4: storing and accessing for external developers and the internal developers through the cloud
The Benefits:
Cloud Computing:
o Reduce the cost and time of buy servers, build a servers room, and configure them.
o The ability of scaling up the cloud storage at any time reduces the time and cost wasted
to buy new racks and add them to the servers.
Portal:
o It will be as a knowledge management system for codes, where all developers can
access it. The features available in portal such as tags, description, and search engine
will reduce the time of finding codes.
o No duplicate codes. (Save time and effort)
o No Programming from scratch for new projects.
o Description feature will enable other developers to understand the code and use it in its
proper place.
External Developers:
o It will help the Internal developers focus in their core works.
o Save the cost of hiring more developers.
o Reduce the conflict of assign internal developers in different projects.
o Increase the quality of codes.
12. Financial Justification:
Cost of New Code System
The new system will be implemented as KACST required with secure infrastructure and efficient
response time. The cost of implementing the system will be initial cost as it will be paid in the first year
only which is 100,000 SR. After that KACST internal developers takeover the responsibility to monitor
and maintain the system.
As the system used by external authorized developers, a reward per post (shared code) (200 RS) per
post should be given to them. For Unauthorized external developers they will use it for free. In other
hand, the internal developers they will be rewarded by 100 RS per post.
The average of these costs areas show on the table below:
Cost Area Amount
Cost of implementing the system 100,000 SR
Enteral Annual reward
800,000 SR
External Annual reward
150, 000 RS
Employees training 100,000 SR
Annual Cloud cost 1575000 SR
Total 2725000 SR
These results depend on theses classification:
User type
Internal 600 of skilled developers
Unlimited developers
External
50 authorized developers
Unlimited unauthorized developers
Total 650 authorized + unlimited number of
unauthorized developers
Financial Benefits:
The new system will reduce 10% of each project budget while projects execution time will be decreased
approximately to 50 % that will eliminate the delay loss.
Each developer will get 3000 RS reward per project from the project budgets. Example: if the project
duration is 12 months, so each developer will get 36000 RS annually while in case of using this system
the duration will decrease to 6 months and the cost reduced to 18000.
The system will save approximately 300000 RS per month for every 100 employee of KACST by reducing
the time and repeating mistakes. In addition, it will lead to improve the productivity then increased the
number of projects also.
Additional cost saving would come from the increase of employee productivity, which called Soft
benefits:
1- Higher satisfaction from KACST customers
2- Good reputation for KACST
3- High quality of projects
4- Project Success Criteria
a. Success Metrics
Reduce time: system efforts approximately 50% from period of projects.
Enhance quality: the effective of developers enhanced, so the quality of projects
increased.
Benefits:
Time:
The time period of each project reduced approximately 50%.
Productivity:
The decrease of pressure will lead to improve the productivity of developers then increased the number of
projects.
Flexibility:
Internal and external developers can access the different codes in any time and any place by the using of the
system.
Quality:
Based on the availability of different codes by experts and talents, which lead to increase the quality of projects.
13. Technical Specification
Main component.
1. Cloud Hosting:
Heroku cloud application platform which will provide hosting service, its powerful features
make it compatible with nearly every major web language and have ability to scaling for
future needs.
2. A Portal (website):
Portal for both internal (KACST employees) and external programmers. Enable them to
access, register, add, and edit codes. The programmer will be directed to his interface based
on his authorization type (internal interface or cloud).
High level conceptual diagram:
CMS will be used by external and internal developers (KACST employees), for each type there are
defined privileges to allow access, add, edit and delete. For security, the two type access is constraint as
for internal users, they must access the portal from KACST network only. For external users they can
access from internet but they will be directed to cloud database only.
Figure 5: High Level Conceptual (Diagram)
Software Solution:
The new system will be accomplished by integrate the existing system for the internal users with the
new portal, cloud database, code management system and KACST identity management.
KACST Portal website
This portal will provide access for both internal and external developers to the Code Management
System (CMS). This will be accomplished by integrating the portal, KACST identity management, CMS,
Cloud, and KACST existing system. The portal will direct each user depend on his authorization type
either external or Internal after he/she successfully pass the KACST identity management. The Portal has
2 interfaces for each type, External User Interface and Internal User Interface. The portal designed by
using wix.com.
Code Management System (CMS)
This Knowledge management system is designed to assist the sharing and integration of knowledge of
developers. In addition, it provides users easy and effective access by several functionalities [8].
External User Interface: The user has limited access to CMS. After authorized login to the system, the
user can search, view, add, and edit a general code. Codes will be saved in the cloud and could be
accessed from both developers
Internal User Interface: The user has full access to CMS. After authorized login to the system, the user
can view, add, and edit a general or a sensitive codes which are saved in local database
CMS will be linked with local database and cloud database (Heroku)
Cloud Database
Heroku cloud database is compatible with Wix (the portal) and CMS. The cloud will contain database
for codes added by developers. The codes will be organized depends on their categories, tags, owner
and a description to provide an effective retrieve for users. Both developers can access the codes
saved in this cloud.
Firewalls
Database Firewalls is important to monitor and check all access to databases through the logs
retained by them. There are two firewalls, one to protect the KACST existing system, which contains
the sensitive codes, and the other to protect the cloud database and prevent any unauthorized
access to all KACST databases. GreenSQL will be used as a firewall for the new system [7].
Software Integration Details:
In Order to work within the existing infrastructure, we will integrate it with the following systems.
Existing System New system Technical Solution
KACST identity managements
system
Portal (website) The user will use the portal for
accessing the system to get the
authentication. The system will give
the authentication based on the
user type that send from KACST
identity managements system
which responsible for identifying
users privilege.
- Code management system
(CMS).
Portal sends permission to the
CMS which will allow the user to
use the system and database based
on their privilege (internal and
cloud / only cloud).
local network cloud database The cloud data base will be
integrated to the local network so
the internal users can save on the
cloud also it will be connected to
the portal so the external users
save the codes on it too.
Application servers
internal database The internal users will save the
codes on the internal database and
they can share codes on the cloud
database too.
- - The portal will be integrated to the
application servers so when the
user access he/she can access the
application server and (add-edit)
the codes.
- - The application servers will be
integrated to the cloud DB to allow
the users to save the codes after
editing on the cloud DB.
14. System Architecture:
The diagram below shows the new system components which integrated to existing KACST
Infrastructure [6]. KACST doesn’t have a database to store codes so we add it to new system
architecture also for portal and application servers. The new system will be developed and maintained
within KACST using existing servers.
Existing KACST design is to allow internal users to access internal database by local network. While cloud
database needs to be integrated to the system for external users.
Figure 6: System Architecture
15. Data Design and Data Flow
1. Users apply registration request to get specific privilege to use the system.
2. Request passes throw portal to KACST identity management system witch responsible for
identifying user's privilege.
3. After that the KACST identity management system return the result back to user throw portal,
which is the gate between the user and the system.
4. User uses the portal to enter the Code management system (CMS) based on their privilege.
5. Portal sends permission to the CMS, which will allow the user to use the system and database
based on their privilege (internal and cloud / only cloud).
6. Code content database is responsible for passing the results users asks for throw portal enabling
them to see the result
Figure 7: Data Design and Data Flow
16. Solution Demonstration:
KACST Web User Interface:
A prototype layout of the "KACST portal for Developers is shown below, and this is the link of the portal
http://mismemy.wix.com/kascat
Figure 8: KACST Home page of Portal Prototype
Figure 9: Code section prototype
Figure 10: My profile Section prototype
User Interaction:
The internal Developers: will access the portal by using a username and password. But External
Developers will need to register as a first step by filling the registration form. Then will
automatically generate a username and a password after that the systems check the registered
information.
The system provides personal welcome word and will be directed to Forums, which categorized
based on code category. Internal developers can access the internal system of codes and the
external user can access the public shared codes.
The System will provide Links for newest codes added.
The system will provide search Function.
The developers can show and edit the personal profile of them.
The system ِ Enable developers to review, add, edit and delete codes.
Notification send to developer when a code of the same field he/she works on is added.
Sorry message occur when external developers try to access sensitive or private code.
Figure 11:Newest posts Prototype
Additional Components:
The following additional components will be included in the KACST Portal:
1-News section: which contain links for important news about IT
2- Announcements Section: Which contain announcements about internal training or external training,
which are benefit for developers.
2- Calendar: which provide highlight for important date like (events, conference’s, meeting)
4- chat: the developers can chat with each other about programming.
Manager/Administrative interface:
The supervisor will also use the KACST portal:
1- Accept the registration of external developers.
2- Confirm Editing and deleting codes
Design and Analysis
17. Technical part:
Software requirement:
Apache server
MySQL database
Eclipse
Functional Requirement:
The system should allow the user to make registration.
The system should allow the admin to confirm the user registration.
The system should allow the user to manage his/her personal information.
The system should allow the user to add code content.
The system should allow the user to add tags to the code.
The system should allow the user to search for code.
The system should allow the user to edit code content.
The system should allow the admin to confirm user code editing.
The system should allow the user to delete code content.
The system should allow the admin to confirm user code deleting.
The system should send notification for new code in specific sections to internal users.
The system should allow the user to copy the code.
The system should allow the user to manage section information.
Specification :
List of Users:
o Admin
o Users (internal and external programmers)
List of Pages
o Home Page
Admin and internal/external programmers: This page will give the visitors ability to add user name and
password to enter to the system .
o Add code:
Admin and developer users: this page will give ability to add code by entering cod tags, code name,
code description and the code.
o Search for code:
Admin and developer users: this page will give ability to search for code by code name or tags that
will view code name, code description and code also in this page users have the ability to select
author of the code button witch allow to see users information.
o Edit code:
Admin and developer users: this page will give ability to edit cod by search code that will open the
code name, code description and the code wich allow with edit prosperity.
o Delete code:
Admin and developer users: this page will give ability to delete cod by select code name.
o Add user:
Admin users: this page will give ability to add users by entering user information (full name, user
name, password, email, office number, cell phone, section and type) then select register.
o Delete user:
Admin users: this page will give ability to delete users by selecting user name.
Non Functional Requirement:
The system shall have simple interface for the users.
The response time for completion search for a code shouldn’t take more than 2 seconds.
The user should provide accurate data for all the fields in the registration form.
The response time for adding a code shouldn’t take more than 2 seconds.
The response time for deleting a code shouldn’t take more than 2 seconds.
The system shall support the privacy for the users information.
The system security shall allow only the authorized users to get access.
The time for system recovery shall be less than 2 days.
18. Use Case Diagram
Figure 12: complete system use case
19. Sequence Diagrams
Sequences diagrams illustrate the scenarios of he business case and how actors react with the system
[11].
External Developer Registration
Figure 13: External Developer Registration
Internal Developer Registration
Figure 14: Internal Developer Registration
External Developer Login
Figure 15: External Developer Login
Internal Developer Login
Figure 16: Internal Developer Login
Code Addition (External Developer)
Figure 17:Code Addition (External Developer)
Code Addition (Internal Developer)
Figure 18:Code Addition (Internal Developer)
Code Search
Figure 19: Code Search
Edit Code:
Figure 20:Edit Code
Delete Code:
Figure 21:Delete Code
Enable Notification:
Figure 22:Enable Notification
Search Events
Figure 23:Search Events
Edit User Information
Figure 24:Edit User Information
Implementation Plan
20. System Development and Deployment
The team will use Scrum [1] for developing the system to gain most effective results. Scrum framework
will help the team to address the problem and ensure productivity and creativity of delivering the
system as product backlog.
Scrum focus on management and development practices which developers can apply with various
processes.
The scrum team need to be cross functional and self-organized, the developers are four and their
responsibilities would be defined in the next section while KACST mangers and developers are the
product owner and the project manager is the scrum master.
The team needs to establish these practices, which are:
1- Sprint planning meeting: the sprint will be start with planning meeting where scrum master and
developers distribute the requirements as a sprint backlog. The sprint will take two weeks and
developers need to deliver a part from the system to gain user satisfaction.
2- Daily Scrum: the team will discuss their problems and suggestions about developing the
requirements on a daily meeting, which will take 15 minutes.
3- Sprint Review: at the end of each sprint the product backlog inspected to be incremented. With
the aspect of product owner who is responsible to identify what has been done or not from the
requirements.
4- Sprint retrospective: the team will decide what to do next and how to improve their process.
The team will use Trello[2] site to organize their work and to collaborate on the proposed sprint backlog
card. It gives them the ability to move cards from deferent sections as (sprint backlog, Doing, testing and
Integration, and done). The board would be like Figure (4.1).
Figure 25:trello UI
21. Responsibilities and Assumptions
Future Tech will be responsible of develop KACST portal and Code Management System. The team will
manage the integration of the system with internal datacenter and cloud server in addition to train the
internal users to use the new system. Future Tech team will work with different departments'
supervisors of KACST to make sure they understand the technology importance in their work. The team
members consist of: Project Manager, one web designer, two software developer, one Databases
Administrator.
The web designer and software developers will be responsible for portal interface design and system
(CMS) development. The database administrator with department supervisors will be responsible for
create and manage database content.
Designing Portal interface will take 1 week, develop the CMS will take 2 weeks. Integrate the system
components will take form 3 weeks to one month.
22. Scheduling:
Project Timeline, Milestones and Deliverables:
Project implementation will be divided into four general phases based on the Software Development
Life Cycle (SDLC) guidelines: (1) Planning and Requirements Analysis, (2) Development and Testing, (3)
Training, and (4) Deployment. The period time for complete project will require approximately one year.
Figure below shows a proposed timeline for the project with expected deliverables for each phase:
Figure 26:Project Timeline, Milestones and Deliverables
In the table below more information about Milestones and Deliverables:
Project Phases Details Deliverables
Planning and
requirement:
future teach conducting a number of
interviews with members of the executive
team at KACST including directors of research
teams, manager of the Project management
office, manager of the engineering division
and the head of IT and developers.to
understanding the as-is system+ Gathering
the requirement + Searching and conducting
the solutions
1- As-Is Document
2- Requirement Document
3- To-Be Document
Development Implement the solutions Execute development and Technical
architecture of portal and Code
Management System
Testing Each release is tested to ensure quality is
maintained
1-Test cases Documents
2- Test Plan
3-Testing Strategy
4-Test Scripts
5-Test Data
6-Test Trace-ability Matrix
7-Test Results/reports
8-Test summary report
9-Install/config guides
10-Defect Report
11-Release notes
User
Acceptance
Testing (UAT)
and Training
1- Designing test cases: designed to cover all
the functional scenarios of the software in
real-world usage.
2- Testing team: The testing team is
comprised of real world end-users.
3-Executing test cases and documenting:
The testing team executes the designed test
cases. All bugs are logged in a testing
document with comments.
4-Bug fixing: make the software bug-free.
Finally, the testing team indicates
Acceptance of the software application. This
shows that the application meets
requirements.
1- Documentation of testing cases 2- Users feedback
Deployment Installation the data base on cloud, and the
portal on server then testing on the KASCT
environment and training the developers to
use it.
1-Deliver the user manual for support
team
2- delivers the final documentation,
which have requirement for monitoring &
so on.
23. Operational Governance, Roles, and Responsibilities
Roles Responsibilities
Project Sponsor
(Future teach Executives)
Responsible of project at a strategic level like
insure the project work in right way.
Stakeholders
(The head of IT, developers)
•Provide the system and business
requirements
• Participate in system testing phase
• Participate in system training and give
feedback
• Add and edit content of system
Project Manager
•Manage resources, deliverables, staff,
financial calculations
•Take action when mistake happen
Project Teams
(Analyst team, web designer, Development
team, Database Admin, Test Engineers,
Trainers)
Contribute with project manager to progress
the work. Each team have different task based
on which field belongs to it.
KACST IT manger
Keep contact with Future teach project
manager to sure the work keep going.
24. Operational Readiness
Administrative Components The Future Tech platform will interact with the following components for administrative tasks:
1. KASCT identity Management system : the supervisor accept the registration of
external developers throw KACST portal, KACST identity Management staff will
determine the legibility of users to use the system based on their type.
2. CMS content management system notification tool: notify users to confirm when
editing or deleting of code are done on the system. Also, there will be project
managers and expert's staff to supervise the progress and quality of the works done
in the CMS and notify the KACST identity Management system if there are some
users need to be blocked.
3. KACST identity Management system and email administrative:
The system will provide email notification to the user when his eligibility of using the
system is expired or need to be updated.
25. Change Management and Control
Ongoing Management
KACST will strive for continuous improvement of Code Management System Based on user's
feedback. System Changes will be tested first in development using test data by KACST
project manager and expert staff. From there, they will be moved to a Quality Assurance
(QA) Environment for further testing before final deployment to production. All supervised
and affected departments will be notified to changes.
Revision Management
Each registration request will be revised by KACST identity management to determine
legibility of users before accept.
A backups version of the CMS in cloud will be saved in the KACST data center in case of
failed.
Monitoring and Maintenance
The Code Management system will require continues monitoring and maintenance to ensure
availability of the system and for that a daily automated testing will be applied.
26. User enablement:
User rollout schedule:
To switch users to use the new system and share their codes and experiences, Future Tech team defines
phases to involve users during development with proposed development approach as Scum and after
deploying the system.
First phase is to get users acceptance which includes delivering prototype after each increment to make
changes as user request. The team also, needs to deliver the right message of the benefits that will be
gained from using the system. Also, KACST must start to adopt share knowledge to their culture and
ensure internal process and policies are adhered in the system.
After deploying the system training session must be established for users to use all system
functionalities in an effective way. That will grantee for KACST to gain the benefits from using the
system.
Proposed testing plan:
Acceptance testing will be gathered after each increment as needed. The results must be adapted and
implemented as required. The first pilot in September 2015 and it must include 20 users of different
privileges as Internal and external to ensure the system functionality satisfying all users.
Corporate communication plan:
Future Tech team will report to KACST mangers to involve them in the project progress and timeline.
After each delivered phase they need to provide presentation about the project and any changes on
budget or schedule.
The team will use IRISE software to collaborate among team members, KACST mangers and developers.
They will report after each feature and generate a prototype and to gather users’ feedback.
Key project documents must be collected and discussed in each phase by the team and KACST mangers.
27. Success Metrics
Project Planning and Development Metrics
Project Execution success will be evaluated based on the following:
1. Accuracy and timeliness of submitting the programing codes.
2. Number of required projects submission per month/year.
3. The number of assigned projects for each expert programmer.
4. Increasing in projects quality because the reusability of the old codes.
Rollout Metrics
The Key measurement for the success of the new system is the average time it takes to complete 100%
of the assigned project to KACST without overloading any of the expert programmers. With the help
from external programmers and reusing the old codes instead of starting from the scratch we expect to
achieve at least 40% reduction in overall onboarding time from the current average time and to reduce
the load on the programmers.
We also expect the new system to improve programmers and customers satisfaction with the overall
reduction in assigned projects and time to productivity. This Increased satisfaction and productivity
should result in at least a 20% lower of undelivered projects and programmers resining.
To enable continuous improvement of the system, KACST employees will compile and review usability
statistics, programmers ratings, and reviews for codes and projects. The number of shared codes,
programmers’ registration, completed projects, active discussions between programmers and the
number of external programmers registered will measure acceptance of the new Portal itself.
28. Data Base
Figure 27: data base
29. References:
[1] Scrum.org, 'Scrum.org | The home of Scrum > Home', 2015. [Online]. Available:
https://www.scrum.org/. [Accessed: 08- May- 2015].
[2] Trello.com, 'Trello', 2015. [Online]. Available: https://trello.com/. [Accessed: 08- May- 2015].
[3] Dunn, 'The Best Cloud Hosting Platforms of 2015 | Top Ten Reviews', TopTenREVIEWS, 2015.
[Online]. Available: http://cloud-hosting-review.toptenreviews.com. [Accessed: 09- Apr- 2015].
[4] Heroku.com, 'Heroku | Cloud Application Platform', 2015. [Online]. Available:
https://www.heroku.com. [Accessed: 09- Apr- 2015].
[5]G. Vaidyanathan and S. Wall, Project management. .
[6]S. Laan, It aastructure architecture. [S.l.]: Lulu Com, 2013.
[7] excITingIP.com, 'What are Database Firewalls, why are they required & how do they protect
databases?', 2011. [Online]. Available: http://www.excitingip.com/1933/what-are-database-firewalls-
why-are-they-required-how-do-they-protect-databases/. [Accessed: 10- Apr- 2015].
[8]I. Becerra-Fernandez and R. Sabherwal, Knowledge management. Armonk, N.Y.: M.E. Sharpe, 2010.
[9] Kacst.edu.sa, 'KACST', 2015. [Online]. Available: http://www.kacst.edu.sa/en/Pages/default.aspx. [Accessed: 10- Mar- 2015].
[10]D. Remenyi, How to become a successful IT consultant. Oxford: Butterworth-Heinemann, 2003.
[11]A. Dennis, B. Wixom, D. Tegarden and A. Dennis, Systems analysis design, UML version 2.0. Hoboken, NJ: J. Wiley, 2009.