Business Analyst
Business Analyst
Business Analyst Portfolio by Aniekan Okono
This portfolio uses Keretech Ltd as a sample company. It’s goal is to showcase the relevance of my skillsets for the print industry and to model a typical Business Analyst scenario.
Last Updated: June 2016 Page 1
Business Analyst
Contents
Contents 1. Preface
1.1. Business Objecꀠ†ve 1.2. Scope 1.3. Project Deliverables 1.4. Acceptance criteria 1.5. Project Exclusions 1.6. Assumpꀠ†ons 1.7. Constraints
2. Requirement 2.1. Elicitaꀠ†on
2.1.1. Requirements Gathered (Clients) 2.2. Architecture
2.2.1. Relaꀠ†onal Schema(Data Architecture) 2.2.2. Tier Architecture Layer 2.2.3. Acꀠ†vity Diagram 2.2.4. Validaꀠ†on 2.2.5. Mockup
3. Implementaꀠ†on 3.1. Implementaꀠ†on strategies
3.1.1. Agile Methodology(Scrum) 3.1.2. Programming Languages & Frameworks & Libraries 3.1.3. Tesꀠ†ng 3.1.4. Cloud Storage 3.1.5. Version Control 3.1.6. Database technology
3.2. Integraꀠ†on 3.2.1. Stakeholder Review 3.2.2. Deployment 3.2.3. Training
Last Updated: June 2016 Page 2
Business Analyst
1. Preface
Keretech ltd requires a business analyst to serve as both client facing and internal analyst role to enable the company to achieve it’s objectives.
1.1. Business Objective
Keretech currently generates over £60 million in revenue annually from its 18 service areas and 7 products. The company’s objective is to increase its revenue to £100 million by offering a cloud based data visualization dashboard as an added service to its current range of products and services.
1.2. Scope
This project will consist of creating a dashboard based on the end user’s print‐machine data output. The project will be completed by December 2016. The dashboard will have charts for data visualization, and it will be accessible on mobile platforms and online browsers.
1.3. Project Deliverables
The following are the agreed on deliverables of this project:
● Progress Reports ● Issues Reports ● Weekly Meeting Notes ● Final Dashboard
Last Updated: June 2016 Page 3
Business Analyst
1.4. Acceptance criteria
This project will be accepted when it is deemed “fit for use” or “fit for purpose”. In other words, it needs to have the following qualities:
● Bug free ● Mobile, tablet and web responsive ● Data visualization capabilities ● Secured login and logout
1.5. Project Exclusions
This project will not perform the following task or be used for the following activities: ● Managing Printers ● Monitoring Printers
1.6. Assumptions
The following assumptions are made with respect to this project: ● Mobile apps or tablet apps can be added later ● Subscription payments by credit card will not be necessary ● Python programming language will be used for faster product
development and ease of integrations with Matlib(Matlab) for data visualizations.
1.7. Constraints
The following constraints have to be investigated or considered: ● Power BI’s API maybe more suitable for internal visualizations only
Last Updated: June 2016 Page 4
Business Analyst
2. Requirements
Since Keretech Ltd intends to sell access to this dashboard to its existing customers it is necessary to conduct a survey to find out key features the customers would be interested to pay for.
2.1. Elicitation
A mix of survey, interviews and observations were used to gather the following requirements.
2.1.1. Requirements Gathered (Clients)
Feature Question Asked Answers
Login and logout Who will need to login? Facility managers
Parent and child accounts How many people will need access to accounts?
Every employee with print rights
Password recovery Would you need this? Yes
Parent and child accounts Who should add new users? Facility Manager (Admin)
Access level Should every user see the same data?
No, only admin account holder sees all
Visualization One What data should be seen? Printing summary of the whole organization
Visualization Two What data should be seen? Filter information by group,
department or office
Last Updated: June 2016 Page 5
Business Analyst
Visualization Three What data should be seen? Compare users' print
usage
Visualization Four What data should be seen? See users' average print job statistics do users mostly print large or small jobs?
Visualization Five What data should be seen? Also sort by total pages or jobs see who is printing the most jobs or largest jobs
Visualization Six What data should be seen? Shows a breakdown of printing for each user by paper size, simplex/duplex attributes, number of grayscale and color pages
Visualization Seven What data should be seen? See what type of jobs each user is printing, and how much of each type
Visualization Eight What data should be seen? Who is printing all the A3 documents?
Visualization Nine What data should be seen? Compare different departments' print usage
Visualization Ten What data should be seen? See which departments print the most
Visualization Eleven What data should be seen? Shows a breakdown of printing for each department by paper size, simplex/duplex attributes, number of grayscale and color pages
Visualization Twelve What data should be seen? See which departments print the most color pages
Last Updated: June 2016 Page 6
Business Analyst
Visualization Thirteen What data should be seen? Shows a breakdown of printing for each office by paper size, simplex/duplex attributes, number of grayscale and color pages
Visualization Fourteen What data should be seen? Shows which printers are being used by each user
Visualization Fifteen What data should be seen? See the most frequently used printer by a particular user
Visualization Sixteen What data should be seen? Compare printer usage
Visualization Seventeen What data should be seen? See the overall usage history of each printer, and use the information to find trends are certain printers more popular? Which printers consume the most resources?
Visualization Eighteen What data should be seen? Filter reports by server, location or printer name
Visualization Nineteen What data should be seen? Compare printer usage over a set time period (day, week, month or adhoc)
Visualization Twenty What data should be seen? See which printers are used most or least, and use the information to help reorganize printer distribution or evaluate printer upgrades
Visualization Twenty One What data should be seen? See usage information for each printer, broken down by page size,
Last Updated: June 2016 Page 7
Business Analyst
simplex/duplex attributes, number of grayscale and color pages
Visualization Twenty Two What data should be seen? Show information for all printers or a subset
Visualization Twenty Three
What data should be seen? Use the information to see if your printers are being used effectively. Do you have an A3 printer that is only being used for A4? Perhaps an A4 only printer would be better suited
Table 1.0
Last Updated: June 2016 Page 8
Business Analyst
2.2. Architecture
2.2.1. Relational Schema (Data Architecture)
The below diagram 1.0 is a relational schema that is used to establish the connecting relationships between the different data models and its entities. Data outputs from the printer are accounted for. The groupings, departments, restrictions, roles and company details are considered. The schema is designed to enable retrieval of data for filtering and visualizations.
Last Updated: June 2016 Page 9
Business Analyst
Diagram 1.0
Last Updated: June 2016 Page 10
Business Analyst
2.2.2. Tier Architecture Layer
Diagram 1.1 below represents a three tier layered software architecture where there is the client layer, business layer and the data layer. The client layer consists of the front end part and the business layer contains the logics (visualizations, features and user permissions). The data layer is the database where the data is stored.
Diagram 1.1
Last Updated: June 2016 Page 11
Business Analyst
2.2.3. Activity Diagram
The activity diagram as seen below in diagram 1.2 is used to show the flow of activities from the start to the end process. Activities such as login, login detail notifications, account validation, logout are shown. The core dashboard with its features is considered a sub process and will carry its own logic separately.
Diagram 1.2
2.2.4. Validation
Stakeholders are involved at this stage before the implementation to ensure that our architecture and activity flows will result in the right product. Wireframes or mockups will also be added to enable the stakeholders to have a better idea of the outcome of the final product.
Last Updated: June 2016 Page 12
Business Analyst
2.2.5. Mockup
The below diagram is used to enable the stakeholders visualize the agreed upon solution.
Diagram 1.3
Last Updated: June 2016 Page 13
Business Analyst
3. Implementation
3.1. Implementation strategies
3.1.1. Agile Methodology (Scrum)
This visualization platform should be built using the scrum software development (agile methodology) style. Scrum allows for intermediate product releases without having to wait for the final product release. The scrum team shall comprise of the following:
● Graphic Designer ● Frontend Developer(s) ● Backend Developer(s) ● Q&A Tester
3.1.2. Programming Languages, Frameworks & Libraries
There are various programming languages that can be used to develop this visualization platform. These programming languages are best combined with frameworks and corresponding graph visualization libraries. The following programming languages, frameworks and graph visualization libraries can be selected.
Programming Language
Framework Graph Libraries Use case
Java Spring MVC or Vaadin
Jfree Chart Backend
Python Django or Flask Numpy and matplotlib
Backend
Ruby Rails or Sinatra Chartkick Backend
C++ Tree frog or Actor OGDF Backend
JavaScript Node or Angular Js Google Charts etc Backend
Last Updated: June 2016 Page 14
Business Analyst
3.1.3. Testing
For quality assurance and user satisfaction purposes all frontend and backend products should be tested. In the absence of an internal tester, a QA testing service provider should be contracted. 3.1.4. Cloud Storage
The use of cloud storage is useful to support scalability, concurrent usage and accessibility. Any of either Amazon web services or Rackspace hosting or Digital Ocean’s virtual private servers can be used to store the data and the software codes. 3.1.5. Version Control
Versioning or version control is a necessary part of software development. The lack of version control can cause developers to overwrite each other’s code deposits and thereby resulting in loss of money, loss of time, bugs and even no successful final product. The following version control tools can be used:
● Apache Subversion (SVN), Git ● Mercurial ● TortoiseSVN ● Concurrent Versions System (CVS) ● Bitbucket
3.1.6. Database technology
The following technologies are recommended (ordered by popularity): ● Oracle ● MySQL ● Microsoft SQL Server ● PostgreSQL
The use of Oracle or MySQL database technology is suggested. They support concurrent requests and can handle millions of lines of data.
Last Updated: June 2016 Page 15
Business Analyst
3.2. Integration
3.2.1. Stakeholder Review
A demonstration of the completed software is made to the stakeholder and the requirements and the scope agreed upon are traced to ensure customer satisfaction. 3.2.2. Deployment
On completion of the software development and the testing phases, the visualization dashboard should be deployed as a stand alone platform under its own domain name and server. It is not impossible to have it under Keretech’s server and web page.
3.2.3. Training
Even though the dashboard should be simple to use and the visualizations should be simple enough to access, on‐site training or video training materials should be produced to guide users on how to use the platform.
Last Updated: June 2016 Page 16