bbus driver training & risk database matt jagger bsc … insurance department. it then ... bbus...
TRANSCRIPT
The candidate confirms that the work submitted is their own and the appropriate credit has
been given where reference has been made to the work of others.
I understand that failure to attribute material which is obtained from another source may
be considered as plagiarism.
(Signature of student) _______________________________
BBUS Driver Training & Risk
Database
Matt Jagger
BSc (Hons) Information Systems
2007/2008
BBUS Driver Training & Risk Database Matthew Jagger
i
Summary
This project discusses the potential benefits of a database application for Balfour Beatty
Utility Solutions (BBUS). BBUS are a provider of Gas, Water, Electricity and Sewage Utility services.
It follows the development of a solution for the company, drawing upon the background
research and the analysis of different methods, all hoping to improve their business efficiency within
the Insurance department. It then follows through the implementation from a set of designs made
and then tests the system to make sure it meets its requirements. The final section goes through a
thorough evaluation of the success of the system and the project as a whole.
BBUS Driver Training & Risk Database Matthew Jagger
ii
Acknowledgements
I really need to thank BBUS for all their support throughout this project. I really appreciate
the time provided by members of IT and Insurance, particularly Dave Washbourne who has guided
me through the processes numerous times. His knowledge of the existing solution was paramount in
getting the most out of the solution.
My thanks also go to Haiko, my supervisor, for keeping calm with me, and guiding me in the
right direction at all times. He was always there when I needed an answer to something and made
the goals very clear.
Finally, I really appreciate all the help and time that my friends and family have given me,
and in putting up with me being so stressed when the end was in sight. Thanks especially go to my
Dad, for helping me keep a professional attitude towards my work and particularly, my girlfriend
Adrienne, for keeping me on track and helping me focus when I thought this was never going to be
finished.
BBUS Driver Training & Risk Database Matthew Jagger
iii
Contents
1. Introduction 1
1.1 The Business 1
1.2 Business Issues 1
1.3 Problem Definition 2
1.4 Aim 3
1.5 Objectives, Minimum Requirements and Deliverables 4
1.6 Project Schedule 6
2. Background Research 7
2.1 Technologies 7
2.2 Interviewing 9
2.3 Methodologies 10
2.4 Relevance to Degree 10
3. Design 12
3.1 Preparation of the Solution 12
3.2 Existing Solutions 13
3.3 Database Design 13
3.4 Security 16
3.5 Presentation 17
3.6 Normalisation 17
3.7 Data Integrity 18
4. Implementation 19
4.1 Platform 19
4.2 Implemented Items 20
4.3 Importing Existing Data from Excel 21
4.4 Implementation Issues 23
5. Testing 24
5.1 Developer Testing 24
5.2 Quality Assurance Testing 24
5.3 User Acceptance Testing 25
6. Evaluation 26
BBUS Driver Training & Risk Database Matthew Jagger
iv
6.1 Methodology Evaluation 26
6.2 Design and Requirements Evaluation 27
6.3 Project Evaluation 28
6.4 Future Enhancements 28
6.5 Conclusion 29
7. Bibliography 30
8. Appendix 31
8.1 Reflecting upon the Project Experience 31
8.2 Business Requirement Definitions (created with End Users) 34
8.3 Personal Evaluations – Ian Hewitt 36
Dave Washbourne 36
8.4 Email Transcripts (Requirements gathering and understating of the department
processes) 38
8.5 The Existing Solution 47
8.6 SQL Database Layout 48
8.7 User Guide 49
BBUS Driver Training & Risk Database Matthew Jagger
1
1 Introduction
1.1 The Business
Balfour Beatty Utility Solutions (BBUS) is a £650M p.a. Operating Company, part of the
Balfour Beatty Construction Group whose 2006/2007 turnover is in excess of £7.5Bn.
BBUS provide services to the Gas, Water, Electricity and Sewage Utility companies such as
National Grid Transco, Yorkshire Water, United Utilities and South West Water. Their Operations
cover the whole of the United Kingdom and are serviced by a number of Regional Offices, Yards and
Depots.
Services form three categories
• Reactive – such as water pipe bursts
• Planned Reactive – such as water or gas meter installation
• Planned – such as the construction of major electricity transmission or gas pipelines
The people who deliver these services are grouped into Gangs, Site Managers, Project
Leaders, Construction Managers and Regional or Contract Managers together with the supporting
teams such as Logistics, Plant, Quality Control, Health and Safety.
BBUS has a workforce in excess of 7000 people and operates a vehicle fleet of over 5000
vehicles ranging from Vans, Transit Vans, Lorries, HGV’s and Specialist Vehicles such as ‘Jet-Vac’s.
The Insurance premium for BBUS is approximately £3M p.a. which is a significant amount.
The premium, compared with similar organisations, is perceived to be low due to the extensive
training, support and education given to the fleet drivers.
1.2 Business Issues
BBUS are looking to introduce a database that helps them identify driver risk, take proactive
action and monitor driver behaviour.
This will have a number of direct benefits
• Keep the premiums low or even reduce them
• Reduce time lost through accident processing, driver training
BBUS Driver Training & Risk Database Matthew Jagger
2
• Improve the company brand image by making sure BBUS drivers are careful and courteous;
all vehicles carry the company information and can be easily reported to the Customer
Service hotline
• Reduce training costs by focusing on those individuals that need training rather than giving
everyone a reduced level of training
• Reduce Repair costs since, like domestic policies, there is an excess that BBUS must pay for
every collision
1.3 Problem Definition
At the moment the information is stored in a massive Excel spreadsheet. A number of issues
are evident
• The spreadsheet has doubled in size since BBUS merged with another company
• The file can only be maintained by one person at a time
• The file can only be maintained / viewed by PC’s connected to the local network
Although there are potential solutions to these issues BBUS feel that the development of a
database will be more appropriate.
During my holiday work with them it was discussed as a potential project for my third year
and I have gained the backing of a number of key stakeholders in BBUS
• Head of Support Services
• Head of Insurance
• Application Support and Development Manager
After an initial scoping meeting it became clear that, by linking together other systems a
significant improvement can be obtained compared with the Excel version.
The other applications used are
• Oracle e-business suite used to maintain HR information
• Snowdrop Training Management
• Driving Licence database
• Oracle Plant database
BBUS Driver Training & Risk Database Matthew Jagger
3
• Customer Service ‘How’s my driving’ database
Once these other systems began to be considered, thoughts within the Insurance team
moved towards a new ‘Formula’ for calculating Risk and identifying who needs to attend a course.
Whilst they have no idea what the formula needs to be the Stakeholders expect me to provide a
single view of all this information about each driver. Using the opinions and experience of the
Stakeholders together with an iterative process of calculation and evaluation I expect to be able to
define a new mechanism for Risk Classification.
The BBUS IT department is relatively small and doesn’t really use methodologies such as
Prince2 to manage its projects however it does follow an ITIL based process to approve development
work. Although I am going to do all the work myself I will need to follow the following process
• Work Request – get the Head of IT to approve the project
• Business Requirements Definition – Change Advisory Board will review functionality scope
and benefits statement
• Functional Specification – comprehensive design and release to development
• Development – following BBUS IT Standards
• User Acceptance Testing – unit, end-to-end and user testing
• Software Release Ready – release documentation and hand over to Release Management
1.4 Aim
• To produce a solution to the existing Microsoft Excel spreadsheet, that for the Insurance
Department, will
o help them identify driver risk,
o take proactive action, and
o monitor driver behaviour.
It is felt that the move to a database / Intranet platform will, not only meet the immediate
requirements of providing a replacement for the Excel spreadsheet but it will also link together
other exiting databases to provide a complete view on driver skills and behaviours. Peace of mind
will be brought to the company, knowing that the data is being maintained by the IT department.
BBUS Driver Training & Risk Database Matthew Jagger
4
1.5 Objectives, Minimum Requirements and Deliverables
Objectives
• A database system must be created. The company currently develops most its applications
using Enterprise Manager (for SQL) and .net. With this software already in place, and the
company having no wish to purchase new developing software, the database will be
constructed in the same manner.
• I also would like to implement the intranet platform which will enable driver trainers to edit
the database in a simple manner, often from the road side. This will be built into the
company’s current Intranet site.
• As a final task, creating the Business Objects environment will bring great value to the users
of the system. With Business Objects already occupying in a large number of other
departments as well, the standard can be carried across to the trainers allowing them to
effectively create their own reports on drivers, trends of accidents etc.
Minimum Requirements
The system should be able to hold all the details of drivers, and monitor different factors to
help reduce high risk drivers going unnoticed. It will be expected to contain in excess of 5000 entries.
This should include being able to record incident activity and training records. From here it
will be able to identify the risk of each driver.
It is essential that user guide documentation is also produced, to make sure that final
product is used as effectively as possible.
Deliverables
1. A fully functional database to hold:
• Driver details
• Incident Data
• Training Records
2. User Guide documentation.
1.6 Project Schedule
BBUS Driver Training & Risk Database Matthew Jagger
5
The schedule shown on is the 1st
version of the plan. The ‘build’ time has been given 40 days to
complete – this is due to first semester exams, including revision time, and so gives me more time
than I should actually need.
BBUS Driver Training & Risk Database Matthew Jagger
7
2 Background Research
2.1 Technologies
Database Management Systems (DBMS)
A DBMS provides a secure storage unit for data that guarantees data integrity, relational
integrity (the relations, or tables are related properly and new data goes where it's supposed to),
functional restrictions by role, fast data retrieval.
The DBMS also provides security features that protect against unauthorised users trying to
gain access to confidential database information; and prevent data loss in case of a system crash.
Depending on the settings, users are allowed access to either all, or specific database sub-schemas,
through the use of passwords. For example, while a database may contain detailed customer
information, certain users may only be allowed access to customer names and addresses, while
others may be able to view payment specifications. Access and change logs can be programmed to
add even more security to a database, recording the date, time and details of any user making any
alteration to the database. Furthermore, the DBMS is also responsible for the database’s integrity,
ensuring that no two users are able to update the same record at the same time, as well as
preventing duplicate entries, such as two employees being given the same employee number.
A well designed database will only slightly increase in size data volume increase, compared
to a spreadsheet with exactly the same information. This is the same for time taken to produce
reports. The efficiency of the relational structure and a dedicated data engine give databases the
advantage. The problems of being too big and too slow can be further exaggerated when networked
users access a spreadsheet, meaning only a single user can edit the data at a time.
SQL Management Studio 2005
Microsoft SQL Server Management Studio, new in Microsoft SQL Server 2005, is an
integrated environment for accessing, configuring, managing, administering, and developing all
components of SQL Server. SQL Server Management Studio combines a broad group of graphical
tools with a number of rich script editors to provide access to SQL Server to developers and
administrators of all skill levels.
BBUS Driver Training & Risk Database Matthew Jagger
8
SQL Server Management Studio combines the features of Enterprise Manager, Query
Analyzer, and Analysis Manager, included in previous releases of SQL Server, into a single
environment. In addition, SQL Server Management Studio works with all components of SQL Server
such as Reporting Services, Integration Services, SQL Server Compact Edition, and Notification
Services. Developers get a familiar experience, and database administrators get a single
comprehensive utility that combines easy-to-use graphical tools with rich scripting capabilities.
MY SQL
MY SQL is a very popular open source, relational DBMS from MySQL AB, that runs under
various versions of Unix, Windows and Mac. It is Widely used for Web applications and embedded
applications, and is available for free from MySQL AB. More than 100 million copies of the software
have been downloaded worldwide. (Schneider 2005)
MySQL is used in a wide range of applications, including data warehousing, e-commerce,
Web databases, logging applications and distributed applications. It is also increasingly embedded in
third-party software and other technologies. According to MySQL AB, their flagship product has over
six million active MySQL installations worldwide. Customers include Cisco, Dun & Bradstreet, Google,
NASA, Lufthansa, Hyperion, and Suzuki. (TechWeb 2008)
The fact that the software is free under license, poses a strong case for the use of this
application for my project. If the development were not for an end user, I would inevitable use this
instead of the rival Microsoft product. There appears to be a lot more documentation about it on the
internet, which would help me a lot more come development time (due to the nature of it being
open source). A lot of the help on the Internet for the Microsoft products requires registration.
Microsoft .NET Framework
The Microsoft .NET Framework is a software component included with the Microsoft
Windows OS. It provides a large section of pre-coded solutions to common software development
requirements, and manages the execution of programs written specifically for the framework.
Microsoft (No 2310) states that the pre-coded solutions that form the framework's Base
Class Library cover a large range of programming needs in areas including: user interface, data
access, database connectivity, cryptography, and web application development. The class library is
meant to be used in a combination with the developers own code to produce applications.
Visual Studio
BBUS Driver Training & Risk Database Matthew Jagger
9
Visual Studio is a suite of programming languages and development tools from Microsoft. It
is Microsoft's flagship language product that includes Visual Basic, Visual C++, Visual FoxPro, Visual
J++ and Visual InterDev.
Business Objects
Business Objects is a French enterprise software company, specialising in business
intelligence. BBUS use Business Objects in a wide variety of departments and it enables users to
create detailed and complex reports from various databases of information.
The flagship product is BusinessObjecs XI, with components that provide performance
management, planning, reporting, query and analysis, and enterprise information management. It
also offers consulting and education services to help customers deploy their business intelligence
projects. (Sutherland 2007)
Using this as an extension to a DBMS, would enable reporting to be produced by end users
in a much simpler fashion. The Business Objects software runs straight through a web browser, and
doesn’t even require the client’s machine to have access to the Insurance and & Risk software itself,
meaning it is even more portable. Reports can be made anywhere in the world, and authentication is
by username and password.
2.2 Interviewing
With BBUS being such a large business, and a lot of money at stake if the project goes
wrong, I feel that the analysis stage should be even more thorough than normal. With external
people to impress, and the chance of a job there in the future, I need to fully understand what is
required.
• “Interviewing is one of the most widely used fact-finding methods. Success with this method
involves careful planning, proper conduct of the interviews themselves and, finally, accurate
recording of the interview findings.“
• Planning – “clear objectives need to be set to identify what needs to be achieved at the end
of the interviewing process”
• Conduct – “The interviewer must establish a control framework for the interview. This will
include the use of summarising to check the points being made and appropriate verbal and
non-verbal signals to assist the flow of the interview.”
BBUS Driver Training & Risk Database Matthew Jagger
10
Recording – “...the interviewer will need to make notes to record the findings. It may also be useful
to draw diagrams to illustrate the processes being discussed. Some interviewers like to use a tape
recorder...”
(Bocij P, et al (2003)
With this in mind, I spent a lot of time preparing the things I was going to ask the head of
support Services, Brent Mitchell. A transcript of this can be found in the report appendix.
2.3 Methodologies
Numerous methodologies exist to suit the different requirements of the people requiring
them. More rigid varieties, (i.e. the Waterfall) allow little flexibility in changes and can mean goals
are not met. Once designs and requirements have been chosen, it is often that the project can
“snowball” out of control, with the project continuing down its “failing course of action”.
By introducing several “iterations” of a piece of development, users can evaluate and make
changes to models or work. Flaws can be caught early on, with later iterations revolving around build
and deployment. Methods like the Rational Unified Process enable the end product to meet the
needs more accurately, however involves better planning and more end user interaction at earlier
stages.
An Extreme Programming project builds upon iterations by making quick prototypes of
ideas, ensuring early feedback is received. Releases are created, each with their own iterations. The
iterations are driven from user stories, making sure unneeded functionality does not exist. Extreme
Programming also follows “Test Driven Development”, which revolves around acceptance tests
being created with the end user. An iteration cannot be deployed, until all tests are passed. This also
means the testing phase at the end will be slightly reduced.
I am going to follow the Extreme Programming methodology for a variety of reason. Firstly,
by breaking up the programming into smaller chunks, it will help me stay focused on the larger
picture, without getting “bogged down” in too much coding at once. Also, it means that there will be
a lot of end user involvement in my project, which will help in the sense that I am not fully aware of
how the Insurance department works. The fact that my product will actually be used by the
company when finished, also warrants the need for constant user involvement.
2.5 Relevance to Degree
BBUS Driver Training & Risk Database Matthew Jagger
11
This project required the knowledge from several different Information Systems modules,
with the main ones being the database and information systems module.
Database design, modelling and implementation drew upon the work I did in DB11 and DB21
(Database Principles and Practice). Lectures in normalisation data locking, and integrity were all
fundamental reasons for moving from the Excel solution and my knowledge from these lectures
helped in solution.
The analysis, requirements gathering was based on the work done in IS33 (People Centred
Information Systems Development) which gave valuable lessons on MIS failure, and the lessons they
learnt from these. It also strongly showed how to fit job descriptions to information systems,
something which would ensure the relevance of my software to its role.
The UML aspects of SE20 really added benefit into representing my design ideas. I was able
to communicate really well, through the use of the Activity Diagram’s and the Implementation
diagram exactly how the system would work and what I was trying to achieve.
Where the DB21 and DB11 aspects aided in my SQL work, there was still a gap in knowledge
for the application development. The practical work of SE24 focused on Java within Eclipse, and so
was of little use to me here.
BBUS Driver Training & Risk Database Matthew Jagger
12
3 Design
3.1 Preparation of the Solution
I began by getting in touch it with the Application and Support Development Manager, Ian
Hewitt, who ran me through a brief overview of the company. This was necessary to effectively show
how my project would fit into the rest of the business.
At another appointment, we then went through and discussed exactly what needed
creating. There were a lot of parts that were mentioned, including the Intranet side, and Business
Objects Universe as part of the final product. After taking all these details to my Supervisor, we
agreed that the database was to be the main requirement and the rest as enhancements.
From here I was told to go away and learn the basics of using Enterprise Manager and .net.
Having not used these applications at University, it was to be a challenge to learn competently in
such a short space of time.
Before designing began however, I performed some extensive requirements analysis, so that
I knew exactly what was needed from my system. This involved speaking to current developers, to
understand how to tackle this, and members of staff within the Support Services department to get
as much information from them as possible.
In a slight change to my initial background reading, BBUS updated their development
software. They no longer used “Enterprise Manager” for database design, but SQL Management
Studio 2005, and had moved from VB6 to Visual Studio 2005 for the rest of their development.
Where times on my Gannt Chant were not affected by much, it was worth pointing out that I was
using different software.
Iterations in a project refer to the technique of developing and delivering incremental
components of business functionality. Often associated with agile software development; an
iteration results in one or more bite-sized but complete packages of a project work performing a
business function. Multiple iterations then come together to create a fully integrated product.
That was the plan I was to follow with the BBUS system. Since I had to learn the packages
from the start, it made sense to develop sections at a time. Development will take place in the
following way:
BBUS Driver Training & Risk Database Matthew Jagger
13
1. Design of Database table structure
2. Table Designs in SQL Management Studio 2005 (Receive Feedback for changes)
3. Form/Navigation Design (Receive Feedback for changes)
4. Creation of base forms in Visual Studio 2005 (Receive Feedback for changes)
5. Implementation of Data Set into Employee Form for basic Database Functions
6. Carry over the Data Set implementation into other forms (Receive Feedback for
changes)
7. Implement “automated” risk assessments (Receive Feedback for changes)
8. Implement forms into Web Applications for portability
(Points 7 & 8 are not minimum requirements, but part of the implementation plan).
3.2 Existing Solutions
For any project to be really successful, I believe that looking at existing solutions is really
helpful. It isn’t a means of copying, but learning on past mistakes can really help the development of
your own project. In terms of similar BBUS systems, there were none, not even in any of the
different Op Co’s. I did try speaking to the Insurance Department of RBS (Royal Bank of Scotland)
through a friend that worked there, but as expected, for obvious security reasons they couldn’t give
me any insight into how they worked. This meant that my main source of information to go forward
was from the Excel spreadsheet currently in use (found in the Appendix).
3.3 Database Design
This outlines the organisation and the elements of the proposed system, and is intended to
show why and how decisions were made, and subsequently turned into a deliverable. It details with
reasoning:
• tools for development
• the design of the database itself,
• its interaction with and design of the GUI,
It is worth nothing my information sources for the project. I had several contacts within the
Insurance department of BBUS, who gave me access to the systems they currently use for claims
handling, and guided me with what they expected the system to achieve.
Chris Hughes – Head of Insurance
BBUS Driver Training & Risk Database Matthew Jagger
14
Dave Washbourne –Driver Trainer
Nicola Barrowclough – Insurance Claims Handler
Dave was my main point of contact throughout, and was particularly useful at helping me
define which fields would be need to be mandatory in the database, and also in exactly how they
work with the current system. Shots of the current system can be found in the appendix
The diagram below shows the initial view of how the database would operate.
Driver
As you would expect, the system is built around a driver (employee). Every employee of
BBUS who has a company car will be stored here. Their personal contact details will be stored here
along with their contact details.
Employee ID was my initial choice for a Primary Key to uniquely identify each drive, however
I was told that there can be some inconsistencies in these, mainly due to the numerous merge’s and
takeover’s of smaller companies that the BBUS often choose to do. It was then decided Payroll ID
was considered the PK for this tables as it is the highest level unique identifier and standard among
BBUS Driver Training & Risk Database Matthew Jagger
15
all BBUS Op Co’s. This way the system could be used in a different Balfour Beatty company with
minimal changes needing to be made.
Driver Statistics
To aid in the prediction of an “automatic” risk rating, separate from a driver detail were the
drivers statistics. This would contain a series of values that add to the risk of a driver. All fields will be
filled in manually at the beginning of a drivers’ lifecycle. Other fields like Annual mileage and
endorsement points get updated on a monthly basis. This ensures that an accurate risk rating of
drivers is maintained. Age will be updated automatically to the present date, drawing from the DOB
field in the Driver table.
Risks
The risks table is primarily used as a look up. Each risk that BBUS define as important to
warrant a risk rating change will be stored here. Each risk will have a numeric value associated to it
and from here, will tally up the value of all the driver statistics.
Incident
The main purpose of this system is to record the driver incidents. Obviously not all drivers
will have any incident records, but the sheer size of the current Excel spreadsheet shows how the
new database system will improve efficiency and accuracy of the data. After a driver has reported an
incident to the BBUS Helpline that information will get sent to an Insurance Claims handler, who will
then add the incident data to the system. That exchange of information may end of being removed,
and as security and record locking become implanted correctly, could then be input by the helpline
themselves.
Insurance Reference was chosen to be a PK in this table. The main reason for this is that it is
also used by the BBUS Helpline as their own reference as well. So communication between these
two groups will be aided by this.
Training
After recording an incident in the system, it would then be up to a Driver trainer, such as
Dave Washbourne, to decide whether training does indeed need to be carried out. It could be a case
of the incident was the third parties fault, or just that no training is deemed necessary. Here, the
driver trainer may log a training record, state where and what the training is. Comments will be
BBUS Driver Training & Risk Database Matthew Jagger
16
added to this record after the training has commenced, stating the results of the training, and if any
follow up needs to be carried out.
3.4 Security
In a real life system such as this, security is paramount. BBUS need to maintain that
unauthorised access by members of staff, or by the public, does not happen. The obvious starting
block for this is to implement a log-on process. Username and password authentication will need to
be used at two stages:
• Database Layer – this should only ever be maintained by members of the development team
in IT. If the insurance department need to make/suggest any changes or enhancements to
the system, these need to be requested via IT. Standard users won’t be able to access the
database layer for a number of reasons:
o They do not have any form of SQL Managemenet Software installed on their
machines, and do not have permissions to install any additional software
themselves.
o If they were successful at logging on to a machine that did have this, their own log
on’s would still have inadequate rights to connect to any form of database.
• Application Layer – this is where the DBA (Database Administrator) will come on. The
insurance department are looking to employ a part/full-time DBA to manage the system.
This will mean they keep all records up to date and ensure all data is accurately filled in. It
BBUS Driver Training & Risk Database Matthew Jagger
17
could be argued, that after implementing successful validation techniques, that this role is
unnecessary, however the department have chosen to go down this path anyway.
All BBUS users work on Windows XP client machines operating over numerous Windows
2003 servers. In terms of protection for the database layer, the IT department already have SQL
access permissions to databases. They will only then need a log in to the database itself, which just
provides an extra level of access. Nobody else within the company has any form of SQL permissions
to connect to the database directly.
When installed on Windows Server 2003, SQL Server 2005 can exploit the operating system's
password policies for SQL Server logins. This translates into more secure passwords and fewer
opportunities for brute-force attacks to occur on the database server. SQL Server 2005 supports
both password complexity rules (ensuring minimum length, enforcing combinations of alphabetical
and numeric characters, and so on) and password expiration policies (ensuring that old passwords
must be changed). This falls in line with the current BBUS user password standards as well.
3.5 Presentation
As one of the 21 Balfour Beatty plc operating companies, Balfour Beatty Utility Solutions has
more than 5,200 employees. Across all these different departments, any such business would strive
to have a uniformed colour, size and style of presentation.
I had a brief conversation, which was followed up with an e-mail, stating that all BBUS flyers,
signs, and IT systems all had to conform to BBUS regulations. These were the following:
• Same colour schemes
• Use only of recognised BBUS fonts (some bespoke, some chosen)
• Mention of company information, like Registered office, in the system
Layout of the User Guide for the system will also be tightly designed. BBUS already have a
current user guide template for any IT systems, and the appropriate information will be added to
this and handed in with the project.
3.6 Normalisation
Illogically or inconsistently stored data can cause a number of problems. In a relational
database, a logical and efficient design is just as critical. A poorly designed database may provide
erroneous information, may be difficult to use, or may even fail to work properly.
BBUS Driver Training & Risk Database Matthew Jagger
18
Normalisation is a series of steps followed to obtain a database design that allows for
efficient access and storage of data in a relational database. These steps reduce data redundancy
and the chances of data becoming inconsistent. The schema of the system followed that in the
Design section, seen as it was Normalised to second normal form. There is no repeated data in the
system.
3.7 Data Integrity
Applications have usually multiple tiers, such as a user interface, business model, and the
data itself. It isn’t uncommon practice for the application level for data validation, since in most
cases, it is a single application that interacts with one particular database. However, if that one field
became corrupt, because of a bug in the application, or if multiple applications accessed the same
data, then problems could arise.
Setting a different data type can only restrict so much, but it is possible to add additional
validation to ensure that if falls into your business logic. Constraints; and they should always be
used. A constraint is nothing but a rule that all data have to comply, enforced at the database level.
For example, with something as simple as the gender field, by adding the constraint
below, whenever a user tries to insert or alter the gender field with any character other than 'f' or
'm', the database will throw an error, which you can catch with the constraint name.
ALTER TABLE [dbo].[users] ADD
CONSTRAINT [CK_users_gender] CHECK ([gender] = 'f' or [gender] = 'm')
GO
Later on in the life of the system, these could be enforced for all kinds of data types. Fields
like the annual mileage, endorsement points, driving ban details, and all the different reference
numbers could all be tightly constrained, to ensure that they are all the same length and format.
At present, I was told to keep the verification quite loose, mainly to data types, as there are
more than a few inconsistencies in the current system. I was concerned that this meant the database
would just follow down the same path as the spreadsheet, and so showed to Dave how this could
happen. (See appendix emails) In my opinion, it is important to keep the integrity strict, and then
learn to keep by those strict guidelines. Working in the opposite way, starting with poor data
integrity and then changing things will only add to people getting dissatisfaction with the system
when it changes.
BBUS Driver Training & Risk Database Matthew Jagger
19
4 Implementation
4.1 Platform
The insurance and risk database will be implemented in the same way as all the other BBUS
systems and running on a Windows 2003 Server. Their IT systems are stored on numerous IT
Development servers, and so within here, a system folder will need to be created, with only
permissions to that folder given to the user that need it. BBUS have agreed to create an “Insurance
Database” group, to enable only people in this group the ability to access they system.
The client machines will not need to have any additional software installed. Any user
wanting to use the system will need to be given access to that shared application. BBUS simply
provide a shortcut to the users’ desktop’s to give them access. Provided they have permissions to
access the system, the application will then run across the network on their machine.
The server already has SQL 2005 installed, and so can be moved across onto that with ease.
The implementation diagram below shows how the database will integrate with the existing
architecture.
The beauty of the following solution is that really no extra software needs to be installed on
the client machines. Microsoft Windows XP, which is the only Operating System in use on client
machines, already comes with .NET Framework installed. Seen as the application has already been
BBUS Driver Training & Risk Database Matthew Jagger
20
designed to run under a Microsoft Windows environment, it could then run on any company
machine.
Driver trainers will also have the ability to update their training records as soon as they
happen. When they are by the road, they often have 3G cards, with a remote connection facility to
connect to work. Seen as more than one person can now access the system at once, it is likely that
they will not now have to wait to return to site before updating their calls.
4.2 Implemented Items
SQL Database
The raw database itself does everything I initially planned for it. All the tables were
implemented correctly (as in Appendix 8.6), with data types and integrity suited to the requests of
the Insurance Department recommendations. Given more time, I noticed that SQL Management
Studio 2005 had the ability to run and create custom reports itself. It did not appear to be very user
friendly, but it may have been possible to create some custom report templates, for the kind of
reports that would be run on a more frequent basis.
Log on Screen
The log on screen was implemented quite easily. It isn’t however included in the final build,
as at the last minute I had some problems with the compilation and didn’t have time to work out
why. Its intention was simple, draw upon the table or username and password from the SQL schema,
and verify it against what the user inputs at their end.
Main Menu
As you can see from this, the main menu was quite
easy to implement. All that really needed deciding was the
layout and the way the forms would interact with each other.
As you can see the navigation buttons are grouped into the
different areas that the user may want to go into.
Standard users cannot get into the Database
maintenance section, as is envisaged that only the DBA
(Database Administrator) should be able to do this.
Employee, Incident and Training Pages
BBUS Driver Training & Risk Database Matthew Jagger
21
These pages are fairly straight forward in their layout and as you can see from the user guide
(in Appendix 8.7), they all follow the same scheme. Each page is headed by the navigation button,
and each record begins with its unique identifier, the employee ID in most cases. They can then add
new incidents to the drivers records, and if requested by the driver trainer, can add suitable training
to reduce that drivers risk rating.
Once the training has been completed that risk rating can then be reduced accordingly. It
would be an idea for further development, to enable the user to state that training has been
completed, and there be an automated way for the system to reduce the rating. For now though,
these reductions are performed manually by driver trainers.
Risk Values
The idea behind this section was to enable the DBA to manage the different risks and
incidents in the system. Driver statistics are gathered from the numeric values in this table, however
at some point in the future, it is likely that the value of these risks may change.
User Guide
The user guide was my final implemented minimum deliverable. It wasn’t so much a step by
step guide, but a description of how the system works. The people using the system have worked on
various databases before, and in itself, is very easy to use. So I just wanted to make sure that the end
users knew “how” it works, and the idea that its more efficient and can be updated by numerous
people at once.
I used the standard BBUS template for this to make sure it fits with the rest of the company
forms.
4.3 Importing Existing Data from Excel
I researched several different ways of getting the existing data into the new system.
ADO.NET provides consistent access to data sources such as Microsoft SQL Server, as well as data
sources exposed through OLE DB and XML. Data-sharing consumer applications can use ADO.NET to
connect to these data sources and retrieve, manipulate, and update data (Malik 2005). By adding an
Excel data provider to this, such as the JET OLE DB, will effectively export the records. Adding a
connection string like below:
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Book1.xls;Extended Properties="Excel
8.0;HDR=NO;"
BBUS Driver Training & Risk Database Matthew Jagger
22
It would be necessary to make the HDR value to YES, rather than NO. This is because the
structure of data is all being used in the new system, and so the heading values will still remain
applicable. However, the following disadvantages arise when using ADO.NET:
• Managed-Only Access: Cannot utilise the ADO.NET architecture from anything but managed
code. Therefore, to take advantage of the advanced SQL Server Data Provider and any other
features such as Data Sets, XML internal data storage, and so forth, your code must be
running under the CLR (Common Language Runtime - The runtime engine in Microsoft's
.NET platform).
• Data Providers: You are tied down to a few data providers. If you need to access any data
that requires a driver that cannot be used through either an OLEDB provider or the SQL
Server Data Provider, then you
Along with SQL 2005, Microsoft released Integration Services, which replaces Data
Transformation Services (DTS). It is a tool for extracting, transforming, and loading data. Common
uses include:
• loading data into the database
• changing data into to or out from your relational database structures
• loading your data warehouse data
• taking data out of your database and moving it to other databases or types of storage.
The process of the data import was as fairly simple. I needed to designate the sheet from the
Excel file that I want to import, along with the columns from the sheet that I want to use.
After defining my Excel source, it was necessary to define my SQL Server destination. Before
doing that, I need to indicate the Data Flow Path from the Excel file to the SQL Server destination;
this would allow me to use the structure of the data defined in the Excel Source to model my SQL
Server table that I will import the data into.
Under the Mappings section, it was then possible to define the relationship between the
Input Columns (the Excel data) and the Destination Columns (SQL Server table).
BBUS Driver Training & Risk Database Matthew Jagger
23
This method proved a lot more “user friendly” in specifying the data to import. Using
ADO.NET was a lot more command line driven and involved much more programming. This method
was all GUI based, yet provided just as much functionality.
4.4 Implementation Issues
• Whilst the company had upgraded software to newer versions, I was actually the first
member of the company to be using this software fully. This presented a number of
technical stumbling blocks, where I found that in areas I had problems; they themselves
were unable to help me with.
• In setting up the SQL Dataset, implementation was delayed by over a week while I struggled
to get Visual Studio and SQL Management Studio to communicate with each other. Whilst
the solution eventually ended being moving the directory from a network folder to a local
disk, this was an unknown issue to the developers of the company.
• Even though I got the risk rating part of the system to work, I didn’t have time to finish off
one of the enhancements I wanted to build. As you can see from appendix part 8.2, there
was going to be a welcome message on the main menu, stating the number of high risk
ratings that were present in the system. This way, on a daily basis, users could see if they
were reducing the amount of cases, or letting them slip and rise. Unfortunately, this didn’t
get finished and is missing the SQL Query to create this.
BBUS Driver Training & Risk Database Matthew Jagger
24
5 Testing
As I progressed through my implementation, it became apparent that I was running out of
time. My initial plan was to follow a full BBUS testing process, which should have been roughly 3
weeks in length. In reality, this was never going to happen, and I realised this quite early on.
I then decided it would be more appropriate to perform testing as more of an ongoing
process, rather than a stand-alone section in my project’s life cycle. This resulted in testing parts of
my system in parallel with its implementation – checking iterations and sections as they were
developed, before moving onto the next.
This became a problem as the project grew, as I then found I wasn’t testing the solution in
the overall sense, and just the individual units. The following headings are how I would have ideally
tested my system, and are to the standards that BBUS following in their software development
process.
5.1 Developer Testing
Testing is initially undertaken by the developer responsible for each enhancement / fault fix.
When the developer is happy that the work is complete the Business Requirements document /
Incident log is passed across to the UAT team and reassigned in the work tracking system to a status
of UAT. This eventually became a very automated process, often with me testing units of the system
without consciously meaning to. Each test had a preferable outcome and had a pass or fail state and
moving on to the next unit never happened unless I was happy with the solution.
5.2 Quality Assurance Testing
Based on the documents passed over, the UAT tester must compile a test-plan in advance of
any testing. A test environment is created by either configuring an established Test/Dev
environment or by ‘virtualising’ an existing production server into a test environment.
Testing is initially done by the UAT team without reference to the originator of the
Enhancement / Incident. The plan is then followed and feedback comments are compiled. If the
result is a fail the work is passed back to the developer with the test plan results and a discussion. If
the result is a pass User Acceptance Testing commences.
BBUS Driver Training & Risk Database Matthew Jagger
25
Due to my lack of time, I was unable to attempt this form of testing and moved straight to
user acceptance testing. This was necessary as I felt it more important to get good user feedback,
even just for the closure of my project, rather than adding the UAT team into it. Quality assurance is
something which is undoubtedly important in business solutions, but due to time constraints, I felt it
the least important.
5.3 User Acceptance Testing
The UAT team will contact the originator of the enhancement /incident and arrange a re-test
– this time with the user present. However, most users are unfamiliar with testing techniques
therefore the UAT testers generally lead the testing process. My test plan was used well this, as I sat
down and presented to Dave Washbourne and Chris Hughes. Chris is the head of the Insurance
department. We created a series of functional tests which entered data into the system and meant
we could then recover and add incident and training data to. Up until this point, Chris had no idea
the inner workings of the system, and so represented a real end user.
If the test passes the work moves to a status of Software Release Ready where formal
release planning takes place. If the test fails it will be for one of two reasons:
1. Failed functional test – fails to meet the specified requirements and is returned to the
developer.
2. Failed to meet business needs – specification is wrong. An immediate discussion takes place
with the Application Support and Development Manager.
a. A minor variance will be dealt with immediately but may impact overall
development schedules in a minor way.
b. A major variance will require creation of an additional Business Requirements
document. Either way the work returns back to the developer.
Luckily, there were no failed business needs. The minimum requirements set for my project
matched the businesses requirements, and the produced solution stored
BBUS Driver Training & Risk Database Matthew Jagger
26
6 Evaluation
The aim of the evaluation section is to reflect upon the success or failings of the solution, the
approach, and the project in its entirety. The question that really needs to be answered is that of
“has the product achieved its goal”?
As mentioned previously, working alongside BBUS in the development of this project had
numerous advantages; feedback and evaluation were one of these. This meant I could not only use
my own thoughts as a critique, but the use of the real end users would really benefit this.
6.1 Methodology Evaluation
From the beginning, working with BBUS was a good idea. It meant I did not have to
“imagine” things as much, and added the benefit of providing a solution that would actually be used.
This did pose a lot of problems to my work, such as BBUS failing to recognise my need to work on my
project first, and their eventual needs second. It became apparent nearer the end of the project life,
that they had little regard for my actual report writing and would have happily had me developing a
lot more.
In their eyes, they were only trying to get the best solution possible, but in mine, I had to
eventually segregate myself from going to site, as I would often be bombarded by staff who wanted
updates.
I still feel that the route taken, to work with a real-end user, provided more gains than
losses. Communication skills improved and I was able to know exactly what was needed. I do think
however, that the main stumbling block in the methodology was that I became tied down with
learning new software. If it would have been possible to use the software I had been taught with at
University, a good 4 weeks could have been removed from the project schedule, leaving time for a
more advanced and technically better product.
Looking back, what really helped me was having the amount of contact with staff that I had.
I allocated myself to be there at least once a week, and the rest of the time was through e-mail
contact at home.
BBUS Driver Training & Risk Database Matthew Jagger
27
6.2 Design and Requirements Evaluation
The requirements analysis was definitely a success. I was able to communicate well with the
team, and I am confident that the requirements produced reflect exactly what the Insurance
department expected.
The current process of adding incidents to the Excel spreadsheet was nothing short of poor.
Only one user could access the system at a time, bearing in mind that there are Insurance Claims
handlers, Driver trainers, and key managers that all look at the database.
The process of adding a new driver, incident, or training is one that now has some structure
to it. No longer will there be missing fields for a driver, and if a driver has more than one incident,
their personal details will not be needlessly replicated. By having such a structure in place, the
people actually using the system will benefit from having a better understating of the actual
processing going on. They will understand that a driver doesn’t necessarily need training, and there
is also now space for some detail on the driver training. This wasn’t present in the existing solution,
and it meant a user must know the content of that training, now they don’t.
By being able to assign risk ratings to the system, users can more effectively manage their
drivers now. Looking at a flat spreadsheet, there is no way of ordering the coloured sections of
people (showing high and low risk). By having a risk rating per driver, future enhancements will
enable people to search for, or draw reports on drivers above a certain risk rating.
Looking back at my minimum requirements for this task, they have certainly been met. The
base database structure is in place, and works as it should. This provides a good quality foundation
for further development work on it, which in time, will increase its productivity and value even
further.
Personal evaluations have been included in the Appendix, from various members of the
company.
The user guide is basic, but is intentional to not be an exhaustive document, and more of a
functionality document. It was apparent that by using the Excel spreadsheet, that people weren’t
fully aware of the proper processes within the department, and by outlining this in the document
provides numerous benefits to the company.
BBUS Driver Training & Risk Database Matthew Jagger
28
6.3 Project Evaluation
Project management was not defined as a minimum requirement, but was a field I hoped to
better myself in. There was a strict deadline to be met, and it was a success in that sense. Time
management was still an issue, and by letting the implementation run over by so much, left me
feeling that inadequate time was spent on testing, evaluation and the full report write up. I think
that my goals may have been slightly ambitious; in the time I allocated for learning the software, and
maybe should have just left the implementation where it was, and moved onto the testing when my
timetable said I should.
6.4 Future Enhancements
• The ability to show the full driver details per record and not just the employee ID.
• Ability to search for a driver based on risk rating. This would prove a very valuable tool for
the department, enabling them to target on the drivers that needed attention the most.
Given more time, this would have been part of the final solution.
• Intranet based driver details maintenance. The application will be further developed to
have a web-front end. This will enable drivers to be able to edit the system directly from a
browser, eliminating the need to remotely connect in.
• Creation of a Business Objects Universe to allow the end-user to create their own reports.
Business Objects is used as a standard reporting tool within the company, and its role within
this system would be to provide accurate and clear information to managers to help aiding
high-level decisions.
• The adaption of the system for PDA’s was discussed. It is likely that BBUS will follow down
this route, as they have done on their Supply Chain side of the business. By creating a cut
down version of the GUI, drivers would eliminate the need to have a laptop with them every
time they were training drivers, and could update the records much quicker using a PDA.
• As part of my last meeting with Brent Mitchell (Head of Support Services), we discussed that
in the future, it may well be worth combining this system, with the one on the Hotline (that
originally receives the call’s from drivers about incidents). At present the hotline also take
other calls related to construction issues and customer queries, and so this would be a large
task. It would however, eliminate the need for passing the data from the helpline to the
insurance team, reducing the chance of errors.
BBUS Driver Training & Risk Database Matthew Jagger
29
6.5 Conclusion
Admittedly, progress was slower than expected. Due to the project being with an external
company, more planning had to be used to organise times to go to the site. I had to arrange
provisional visits, which would then be confirmed at a later date. I was naive in thinking this would
be no harder than a normal project to accomplish. On the other hand, the fact that end product will
actually be used day-to-day is very rewarding. The project should be considered a success, as it
meets all its minimum requirements, and has started to build upon its enhancements. These building
blocks should give the system the opportunity to improve for the future.
BBUS Driver Training & Risk Database Matthew Jagger
30
7 Bibliography
Bocij P, Chaffey D, Greasley A, Hickie S, (2003) Business Information Systems.
Huber, M, W., Information Systems – creating Business Value. 2008
Oliver, P, R, M. & Kantaris, N., Using Visual Basic. 2001; 153-191
Malik, A, S., An Introduction to ADO.NET, Pro ADO.Net 2.0. 2005
Microsoft., No 2310. Developing Microsoft ASP.net Web Applications using Visual Studio.net
Moore, K., Database ADO.NET Overview. Retrieved March 13, 2008, from developer.com:
Schneider, R, D., MySQL Database Design and Tuning. 2005
Sutherland, J.,(September 2007), Business Objects for Corporate Information Systems, Retreived 18th
December 2007, from JeffSutherland.com: http://jeffsutherland.com/papers/boa_pap.html
Taylor, A, G,. SQL for Dummies. 2003
Thearon, W., Beginning Visual Basic 2005. 2006
(2008, January 8). Database Design and Normalisation. Retrieved April 12, 2008, from DatabaseDev:
http://www.databasedev.co.uk/database_normalization_process.html
.NET Framework Developer's Guide. Retrieved March 10, 2008, from Microsoft MSDN Library:
http://msdn2.microsoft.com/en-us/library/h43ks021(VS.71).aspx
(2005) Databases vs Spreadsheets. Retreived 12 February 2008, from Databasic Information
Services: http://www.databasic.com.au/databases_vs_spreadsheets.htm
MySQL. Retreived 11 March 2008, from TechWeb:
Networkhttp://www.techweb.com/encyclopedia/defineterm.jhtml?term=MySQL
8.1 Reflecting upon the Project Experience
The overall aim of this project was to identify the benefits for, and develop a solution to
BBUS’ current Excel spreadsheet. This was to be a direct replacement to their existing solution,
however is currently being used in parallel, until the staff feel 100% happy with everything about it.
The initial requirements and analysis stage proved harder than I anticipated. If I was to have
my own way, I would have had a good look at an existing solution that performed the similar kind of
idea; this would have really pushed my confidence along. Nevertheless, I was happy with the way
the project was looking.
The design stage was relatively straight forward. By working with a real-life company, and
with the final users on site, I was able to sit down with them and work out exactly what they wanted.
A major advantage to working with an end user is that it was easier to evaluate prototypes.
Database and form designs were discussed with members of the Insurance department on a regular
basis (mainly Dave Washbourne). I took it upon myself to explain as clearly as I could, how my ERD
diagram was going to translate into the finished product, and they approved all the form designs
before anything was implemented. I was able to ensure they were happy with everything before
moving on.
Implementation was a totally different story. At first, I thought that learning to use new
software would be an advantage. Having a clean slate, learning from scratch, working with
developers for help and advice seemed all like positive points to this method. My opinion though,
eventually changed on this as I began to fall more and more behind in my implementation. I totally
under-estimated the time it would take to get acquainted with and skilled in using the software. On
the face of the software, Microsoft SQL 2005 Management Studio, and Visual Studio 2005 looked
like relatively easy software packages to learn. After all, I understood the basics of DBMS’s from
lectures, and knew in my head what I wanted to achieve.
In reality though, I was wrong. The standard Windows presentation of tools was where my
familiarity ended, and for a while, I had two pieces of separate software doing nothing together. I
had the database designed and running, and the GUI set out and ready to BBUS design standards. It
took me over 2 months to grasp how the two pieces of software would “merge” together. As
mentioned earlier, this lack of progress was not just down to me own knowledge, but the lack of
help and guidance I was to receive from BBUS IT developers as well. None of them had upgraded to
any of the 2005 packages, and where as you may think there would be numerous similarities, they
ended up not being able to help me at all. My saving grace was numerous websites and forums.
This left me with about 7 days to perform some testing of the system. Regrettably it was
rushed and not as well prepared as I had hoped. After working with Pav on the testing I did realise
that it is often more overlooked than I originally thought. In my prior experience at A Level and
University, testing was never very high on my agenda, and with not meeting implementation
deadlines, it always seemed rushed. However, at BBUS and probably most companies, testing takes
longer than any other section in a system’s life cycle. This could be a conscious effort to reduce the
high percentage of MIS failures that occur in today’s society. A real valuable lesson from this would
be the inclusion of much thorough test plans and the allocation of a lot more time for this.
Evaluation was quite easy to perform. I am a very critical person, both a good and bad
quality, and I don’t think I would ever be fully satisfied with a piece of software. It does mean
though, that I am able to realise improvements and adjustments that can be made, which was
shown earlier. My system met its requirements as set out, but had a long way to go until it was
everything that BBUS could hope for.
I truly believe that my most valuable lessons at Leeds University have been the various
project tasks. Whereas lectures have had their value, nothing has prepared me more for the real-
world than developing a solution to a problem. Whether this is solo, like in this project, or in a team
like SE24 or PD31, I have gained so many skills to help me perform better in the future.
My main achievements from this project have been:
• To adapt and improve my knowledge of SQL for use in SQL Management Studio
2005 and Visual Studio 2005, some of the biggest application development programs
in the world.
• Developed and maintained a professional working ethic and approach.
• Created a professional looking software package that BBUS can now use to improve
their business processing.
My communication skills have improved, I feel I am better again at getting my points and
ideas across, and the planning my work seemed more accurate also. I like to think that my
disadvantages in some of the software development in the project were overcome by my clear and
concise vision, and professional conduct when dealing with any member of staff at BBUS. I feel I
acted like a full member of their employment, and am happy that they have asked me to join them
over the Summer of 2008, to continue on the improvements and extensions that I have suggested.
I regret the challenges I faced when implementing the solution, and looking back, would
have either allocated a lot more time to development, or, if not have been working for a company
with set software, developed a solution in a PostreSQL and created my front ends in Eclipse from
which I was familiar in 2007. This would have given me a lot more time for coding as no “learning”
time would have been necessary. As pointed out though, this was not an option for BBUS.
These projects have always created problems, issues with working together, and had lots of
drawbacks that you think you will perform better for the next time you start something similar. You
never perform quite as well as you anticipate most likely always have things you will do differently.
These are the most valuable things you could take away with you. I look forward to improving again
in the future and using these skills.
8.2 BUSINESS REQUIREMENT DEFINITION
Raised By Christopher Hughes Date 01/05/2007
Email [email protected] Request No. 171162
Telephone 0114 232 9700 Application Driver Training Database
Completed by Matt Jagger (external) Date 04/10/2007
Summary DRIVER TRAINING DATABASE - Analysis & prioritisation of training requirements
Requirement
There is a process in place to assess the risk level of all drivers within BBUS so that:
• Appropriate training can be arranged
• The probability of them being involved in an incident is reduced.
This information is currently captured on a spreadsheet by Dave Washbourne. The risk is assessed by having a scoring system
in which each contributing factor is assigned a risk rating. This is then categorised into Red, Amber & Green depending on
the cumulative score.
**If there is a requirement for driver training then this counts as a negative score and so reduces the risk.**
It is proposed that a Web Application is created which will be accessed via the intranet. This will allow the Helpline (part of
the Support Services Department) to capture this information in a database when it is reported to them.
The reports will be run via Business Objects. A Business Objects universe will be created so that reports can be created by an
assigned person. The IT Service Desk can then set up user access to these.
The training team will be able to view a report of high risk drivers, arrange appropriate training and record this in the
database once completed.
The drivers’ managers should have the ability to view the existing incidents and the risk report information only for
employees which they manage.
There will be an assigned administrator for the database who will have access to all data. The administrator will be the only
person who can add new users and update existing users within the database. They will also be able to maintain the Risk
Data Ratings and add new criteria to the list.
New drivers and existing driver updates will be imported from the Driving License database and/or Oracle.
• The current risk rating criteria is contained in the file ‘Risk Rating data for driver database.xls’
• The spreadsheet currently used to capture the information is the file ‘RTA Priority list.xls’
The following driver details are not currently on the spreadsheet but will also require capturing:
• Age
• Payroll No (as a unique identifier for the driver)
• Annual mileage (for car drivers this can be taken from the vehicle details, others may have more than one driver)
The following ‘Use Case’ diagram shows the overall requirements for the process.
8.3 Personal Evaluations
16th
April 2008
The system that Matt has produced really improves upon our existing way of working. We
have been using the RTA Spreadsheet for over 4 years now, and as it has grown, it has become
increasing laborious and time consuming to use. We already knew of Matt from his summer work
that he did for us in 2007, and so after being approached by Ian Hewitt (IT) and told Matt would be
working with us, we were more than happy.
Matt’s personal approach to the work has been reflective of the professional work that the
IT department produce. He has been successful in arranging and managing meetings, and spent lots
of time with us listing our requirements. It would seem that he eventually had a better
understanding of how our department works than some of my colleagues did!
He then kept in touch with us whilst designing the screens and the backbone of the system.
This was particularly useful, because I have a very basic knowledge of IT, and he managed to explain
quite well how everything was going to work before hand.
The hardest part of this work has definitely been in the creation of the system itself. I know
full well that the system does not meet what Matt’s predictions were, even though it does do what
its original plan was. Its basic features work, and with more time spent, we will have a system that
performs to everybody’s expectations. It’s a learning curve that happens in all businesses and
something that will be sorted for the future no doubt!
We look forward to stealing Matt away from University when this is finished to carry on
working work us and getting the most from this system.
Cheers matey
Dave Washbourne
20th
April 2008
Matt has worked very well for BBUS on this project integrating into our small team of
developers. Initially I was concerned about the extra burden of working with Matt as any new
developer always creates more work that they deliver in the initial phases. With Matt he has sat with
the team, taken on the culture and ways of working and has largely done most of the work himself.
It has been a pleasure coaching Matt throughout the development and see how he has interacted
with our business users. The application Matthew has developed has passed our Quality assurance
test, UAT and has been critically reviewed by one of our developers; rather than release this
application we have agreed with Matthew that he will return very shortly to see the completion of
the release and be on hand for any operational issues experienced.
At all times Matthew has conducted himself in a confident and professional manner and I
am sure he will be a credit to any organisation in the future.
Ian Hewitt
8.4 E-Mail Transcripts
From: Washbourne, Dave
Sent: 13 March 2008 09:37
To: Jagger, Matthew
Subject: RE: F/N ??
Hi Matt,
When you say Reds; do you mean those who are outstanding for a training session or those who
have been graded Red by a trainer?
If you are referring to those cases waiting to be programmed in for training I would suggest that this
is a good idea but should also incorporate the ambers.
How long before we can have a look?
D
From: Jagger, Matthew
To: Washbourne, Dave
Subject: RE: F/N ??
Thanks for the emails dave. As part of the main menu, after logging in, I am going to try set up a
notice area, ie it will tell you how many Red’s there are in the system Would this be useful, or is
there any other piece of information that may be better here?
Ta
Matt
From: Washbourne, Dave
To: Jagger, Matthew
Subject: RE: F/N ??
Hi Mate,
The short answer is both; we evaluate the severity of the incidents as they come in and award a
(coloured line at present) RAG to determine the order of priority to be called in for training. Once a
training session has been completed, this original RAG coding is irrelevant and so we currently white
out the entry; it is a simple way of being able to look through the spreadsheet and see what has
been actioned and what is left to be booked in. After a training session, the driver’s report is graded
RAG based on the trainers observations and recommendations as to any further action.
D
From: Jagger, Matthew
Sent: 07 March 2008 10:30
To: Washbourne, Dave
Subject: RE: F/N ??
Nearly there with the database design. Just one other thing. Risk ratings…
You said you assign a RAG risk rating after training has been carried out (after an incident).
But do you set up initial risk ratings currently, ie from the data the driver previously has on their
license, mileage, age points etc.
In the final system do you want there to be these two separate risk values? One as a prediction and
one for after training, or would the risk value after training replace the initial estimate?
Matt
From: Washbourne, Dave
To: Jagger, Matthew
Cc: Hughes, Chris
Subject: RE: F/N ??
Hi Matt,
RAG = Red Amber or Green. These “risk ratings” are awarded to a driver post training/assessment
according to the degree, if any of follow up action required.
EVERY incident involving a BBUS driver is logged and a decision is made on prioritizing the need for
intervention. The green coloured lines are non urgent, amber medium priority and red high priority.
Any in Dark blue are drivers with multiple histories denoting highest level of priority. There are also
some coloured turquoise; these have some form of anomaly; incorrect data, need further
investigation or are plant issues and in that case they are referred to the plant compliance manager.
The white lines are either completed cases or are incidents where it is deemed that no action is
required. For instance, if a driver reports an isolated case of “unknown damage” it is usually held on
file but not acted upon. However, if the same individual appears to be reporting a number of these
incidents, we would colour the entries and begin an investigation.
You are quite correct about the Ins Ref; the 1st
column on the page is the hotline reference number
and the ins ref is the BBUS insurance/traction number. This allows us to cross reference any cases in
the event of any uncertainty.
As for any entries not being required; I’d say they all are as each line will result in a “scoring” that
will collectively add up to an indication for the need for intervention.
Regards
Dave
From: Jagger, Matthew
To: Washbourne, Dave
Cc: Hughes, Chris
Subject: RE: F/N ??
Hi Dave,
A couple of other points, RAG and the other associated comments, what do they mean?
Also, is it a case that every incident means a driver will undergo some form of training, or for some,
is none needed, and if so, not recorded at all?
The Ins ref (I assume means insurance reference) - is that a BBUS insurance reference or an external
ref?
I’m getting near a good database structure, which will mean I will be able to show you how the
database will fit into place. From there I will need you to help me work out which fields of data
"must" be entered into an incident, and which aren't 100% necessary.
Then when the relations are all in place I'll start work at making a useable front end for it.
Matt
From: Washbourne, Dave
To: Jagger, Matthew
Subject: RE: F/N ??
Hi Matt,
Glad to see you’re working on my project now (not to imply that you aren’t working ….oh never
mind)
The F/N is simply Fault or Non fault.
Don’t hesitate to get in touch if you need any further help mate; I need what you can develop as
soon as..
Regards,
Dave
From: Jagger, Matthew
To: Washbourne, Dave
Subject: F/N ??
Dave, just a quick question,
On the RTA pritority list, what does the field F/N stand for?
Ta
Matt
Hi Matt,
The parts in black should be checked before they become a driver for BBUS. Endorsements and
mileage will be checked before and continuously.
Hope this helps. Let me know if you need anymore info.
Thanks
Nic
From: Jagger, Matthew
To: Barrowclough, Nicola; Hughes, Chris; Washbourne, Dave
Subject: Risk Ratings
Guys, and girl,
Just really trying to get to grips with how you risk drivers. Below is all the criteria ive been given on
risk ratings. Am I right in thinking that the Bold-Black items are ones that can be used when an
employee becomes a “driver” and so aids in the prediction” and the risk in blue are incidents that
will happen once the driver has started driving – and so aid in “editing/evaluation” of the driver risk?
The section:
“1st incident within 12 months
2nd incident within 12 months
3rd incident within 12 months”
Is that their personal driving history before becoming a BBUS driver, or once they are already a
BBUS driver? So is it a prediction rating or a evaluation rating?
Ta
Matt
Age: 17-21
Age: 21-25
Age: 25-30
Age: 30-45
Age: 45-60
Age: 60-65
Age: 65+
>12 months overall experience
12-24 months overall experience
>12 months experience on licence category
1-3 endorsement points
4-6 endorsement points
7/8 endorsement points
9-11 endorsement points
12+ endorsement points
12 months drink/drugs drive ban within previous 5 years
18 months drink/drugs drive ban within previous 7.5 years
24 months drink/drug drive ban within previous 10 years
Any ban previous 12 months
Annual mileage > 6k
Annual mileage 6-12k
Annual mileage 12-20k
Annual mileage 20-30k
Annual mileage < 30k
1st incident within 12 months
2nd incident within 12 months
3rd incident within 12 months
Unknown damage 1st time
Unknown damage 2nd time
Unknown damage 3rd time
Hit whilst parked 1st time
Hit whilst parked 2nd time
Hit whilst parked 3rd time
BB moving mirror strike n/s on obstruction
BB moving mirror strike o/s on oncoming traffic
BB lane change collision
3rd party lane change collison
3rd party rear shunt
BB rear shunt
Collison with stationary vehicle
Collision with street furniture; not reversing
BB emerge into 3rd party path
3rd party emerge into BB path
Overhead collision
BB into BB
Reversing
Skidded off road
Collision with road debris
BB lost load
Collision with pedestrian
Collision with cyclist
Animal strike
Rolled vehicle
Windscreen damage
BB vehicle in excavation
Any trailer incident
Overtaking incident
Head on BB stopped
Head on both parties moving
Grab: damage with crane
Plant incident on highway
Door opening into 3rd party
Insecure parking
Turning right across 3rd party path
3rd party turning right across BB path
Grab: damage with raised body
Vehicle break in: BB equipment stolen
Any fuel station collision
Vehicle inspection: Illegal tyres
Vehicle inspection: Illegal lighting
Vehicle inspection: Low fuid levels
Validated complaint: Tailgating
Validated complaint: Speeding
Validated complaint: Phone use
Validated complaint: One way street
Validated complaint: Cut 3rd party up
Validated complaint: Parking
BB vehicle rollback
Incident with no previous training
Incident with 1 previous training session
Incident with relevant warning/advice from previous training
Incident whilst on amber rating
Incident with 2 previous training sessions
Tracker: Speeding 1st time
Tracker: Speeding 2nd time
Tracker: Speeding 3rd time
Tracker: Speeding 4th time
Tracker: Speeding 5th time
How to . . . . .????
How to use the Insurance
and Risk Database The BBUS Insurance and Risk Database was created to effectively manage the records of all the drivers
within the business who have Company Cars. As the company has grown, and taken on other
businesses, the driver total has increased dramatically, meaning the previous Excel spreadsheet could
not cope anymore.
Setting up the Database>>> You will need to request access to the database via the IT Helpdesk. A Line manager will need to sign
off a request form for you.
Once that has been done, the helpdesk will provide you with the necessary security permissions, and
give you a shortcut to the system on your desktop.
Logging in to the System>>> Once you have loaded up the application, you will still require a log on creating for the database itself.
This will be provided by the Insurance Department DBA (to be appointed). For now, contact Nicola
Barrowclough.
Your details will follow the structure:
Username: <surname>.<first name initial>.<randomly assigned number> eg jaggerm.2008
Password:
How the System works>>> It is important to understand how the new system works. Its not just a spreadsheet of data that was
once before. You will enter at the main menu, and your first point of contact will usually be the Driver
Details page. Here you can add, edit, remove drivers from the system.
In the old system, a new line constituted a new incident, but this meant that a driver would appear
many times for no benefit at all.
In the new system, as in the real world, a driver can have many incidents. This means that once a driver
is in the system, more and more incident can be added to that one driver.
For every driver record, they can have as many incident recorded on the system, and as many training
events as required. This really saves space and efficiency. When you are looking for a particular driver’s
history, you no longer have to trawl through the spreadsheet looking for them.
How to . . . . .????
IT SERVICE DESK – 0870 240 3341
This also addresses the issue of only one person being able to edit the system at one. You can now all
use the system together, providing nobody is attempting to edit the same record at the same time. But
different users can be logged in, all editing different driver details and updating their incident and
training records accordingly.
Each driver now also has their own ‘risk rating’. There is a pre-defined list of incident and problems that
a driver may encounter. These all have their own ‘risk level’ attached, and as a driver stacks up a series
of incidents, their risk rating goes up accordingly. This means that reporting is much easier, and you can
prioritise that worst drivers better, giving you a better idea of when you start to get on top of things.
The Main Menu
As normal user, you can get into
driver maintenance and incident
maintenance. Database
maintenance is restricted to the
DBA.
All the forms have a similar layout,
and are quite straight forward to
use.
• Navigation buttons are
clustered together, to help
you move between
windows
• The calculated risk rating
will update itself as more
incidents are added to the
system
• To add new records, save
edit or print, there is an
options bar at the bottom