KPI Business Requirements & Software Requirements Specification
From UG
(→Define key parameters) |
(→Define key parameters) |
||
Line 482: | Line 482: | ||
:** Mapping: | :** Mapping: | ||
:* Shipment Delivery on Date | :* Shipment Delivery on Date | ||
- | :** Mapping: CT_bo#Actual_Delivery_Date | + | :** Mapping: [[#CT_bo#Actual_Delivery_Date]] |
Revision as of 15:35, 12 April 2012
Mantis
<Mantis Number(s) & Link>
Project Overview
Business Objective(s)
Key Performance Indicators (KPIs) are valuable metrics that clients and Jaguar Freight Services (JFS) can utilize to improve their supply chain management operations. These metrics report on cost performance, cycle time performance, load utilization performance, etc.. Examples include cost per pound, cycle time between shipment creation to approval, etc.. There are an infinite number of possibilities for what one might consider a KPI. It is up to the client and/or JFS management team to utilize these KPIs to identify weak areas of their operations and to develop strategic corrective action plans to improve logistics performance.
The objective of the CyberTrax2 KPI project is to provide an easy to use, intuitive, interactive interface for both internal JFS management and external client users to view and report on KPIs. It is absolutely imperative that the accuracy and mechanics of KPIs are well understood by all.
High Level Project Deliverables
- KPI Dashboards
- Multi-Level Interactive KPI Charts & Graphs
- KPI Entitlements Management
Project Stakeholders & Roles
- Simon Kaye - CEO - Project Sponsor
- Marc Selter - VP - Product Manager
- Alex Dobrovolsky - Director of Technology - Solutions Architect
- Montira Renfrew - CT2 Systems Analyst
- Mihail Tymoshenko - CT2 Software Developer (Elcosol)
- Denise Guastella - CT2 Support Manager
- Kostiantyn Ushakov - CEO/CTO Elcosol
- Perry Lee - CT2 Project Manager
Project Scope
The below items are in-scope for this KPI project:
- Design and implement a scalable KPI module that will satisfy all future KPI requirements for at least the next 3 years.
- Design must take into consideration future KPIs requirements (Mobile, International, External Interfaces [Google Maps], etc..)
- Fill in existing gaps (functional & non-functional) in existing cost-based KPI module.
- Design and Implement a KPI module for both Internal CT2 and Client CT2 applications.
- Implement below KPIs
- Cost-Based KPIs (gaps only)
- Date-based KPIs
- Utilization/Optimization-based KPIs
- International KPIs
- Ocean (FCL & LCL)
- Air
- Ability to overlap & report on multiple KPIs.
- Design and implement an entitlements management module to administer KPI-based entitlements. This specific KPI entitlements management module will need to fall in line with I-Portal entitlements management framework.
The below items are out-of-scope for this KPI project:
- Address performance issues with any CT2 module outside of KPI.
- Merge Internal CT2 and Client CT2 applications.
- Mobile KPI
Project Dependencies
- I-Portal Entitlements Management Framework must be designed prior to designing KPI Entitlement Management module.
High-Level Timelines
This project will be delivered in phases.
Phase | Start | Complete | |
---|---|---|---|
Phase I - Core KPI Framework / Address gaps in Cost-Based KPIs | Requirements | ||
Design | |||
Construction | |||
Verification | |||
Maintenance | |||
Phase II - Date-Based KPIs | Requirements | ||
Design | |||
Construction | |||
Verification | |||
Maintenance | |||
Phase III - Utilization/Optimization KPIs | Requirements | ||
Design | |||
Construction | |||
Verification | |||
Maintenance | |||
Phase IV - International KPIs | Requirements | ||
Design | |||
Construction | |||
Verification | |||
Maintenance |
Risks
<Identify internal and external risks to the project: schedule, resources, technical, business, cost, market conditions, external vendors/partners, etc..>
Assumptions / Constraints
Assumptions
- The KPI module will not require significant redeisgn within the next 3 years.
- Critical resources (0.5 FTE Analyst and 1 FTE Developer) will be fully allocated to this proejct for its entire duration.
- All major requirements would have been identified during the requirements/design phase of this project. Any requirements identified post design-phase will have minimal impact on project schedule and scope.
- Project Team will document & provide walkthrough of entire KPI design prior to construction. All project documents will be signed off prior to construction.
- QA resource will be fully allocated to this project during verfiication phase(s).
- Business unit will have adequate resources to perform UAT during verification phase(s).
- Current CT2 Chart & Graph library (JFreeChart) is sufficient to satisfy existing & future KPI requirements.
- CT2 will be able to satisfy all KPI requirements with existing development framework & libraries (ZK framework).
- All non-working periods (personal vacations, holidays, etc..) will be baked into project plan.
- All resources will have acquire adequate knowledge of business & technology to fulfil their roles & responsibilities with minimal training.
Constraints
- KPI module must not negatively impact the current performance of CyberTrax2.
- KPI module must function under existing production server hardware.
- All in-scope KPIs must be delivered and fully functional by end of year 2012.
- Entire KPI project must be delivered with existing resources.
Business Requirements
<List each business requirement under a separate heading. Also include process flows (UML, Sequence Diagrams, Swimlane, Flow chart, etc..) as applicable>
Idea: Provide tactical date-based KPI to meet Product management's immediate requirement for a demo-ready prototype.
BR1 [Core KPI Foundation]
BR1.1 [Overlapping KPIs]
- Need object reports/KPIs/Widgets to be available for Internal and External users
- Need special page (dashboard) with various panels
- Need flexible admin to manage dashboard on the System, Manager, and User levels
- Need ability for user to manage/organize their own widgets, panels, reports on their dashboard
- Need ability for user to manage multiple dashboards
- Need ability to manage specific information on chart and download to excel
- Need common filters for all KPIs
- Need Client Visibility rules for external users roles
- Need persistence (system must remember last state of dashboard for individual user to reproduce at the next login)
GLOSSARY
Dashboard - it is a space between Header/Main Menu and Footer on a CT 2 Home page(refer to both Client and Internal Applications - slowly merging to one application). It contains various Panels ("widgets") with valuable information such as "Weather", "RSS News feeds", "Cost and Value KPIs", "Reports Dashboard Panel", "Truck Dom Stats Dashboard Report", ...etc.
- Dashboard framework provides displaying of specific widgets on Dashboard area (Dashboard) of CT 2 Home Page only.
- Dashboard area contains specific dashboard tabs (#Multiple dashboards) with sets of dashboard panels.
- Each dashboard panel reflects specific widget with valuable information.
- Dashboard area contains specific dashboard tabs (#Multiple dashboards) with sets of dashboard panels.
Widgets - it is an element of a graphical user interface that displays an information arrangement and provides standardized data manipulation.
- Widgets in CT2 can be divided on following groups:
- Informer - Actual information from external sources. Examples: RSS News Feed, World Financial Markets,... etc.
- Dashboard Reports - Summarized information calculated from CT2 DB. Examples: Truck Dom Stats, Scheduled Reports, Estimated GM,...etc.
Panels - it is widget
Chart - it is a graphical representation of data, in which "the data is represented by symbols, such as bars in a bar chart, lines in a line chart, or slices in a pie chart". Charts are often used to ease understanding of large quantities of data and the relationships between parts of the data. Charts can usually be read more quickly than the raw data that they are produced from. Certain types of charts are more useful for presenting a given data set than others. For example, data that presents percentages in different groups are often displayed in a pie chart, but may be more easily understood when presented in a horizontal bar chart.On the other hand, data that represents numbers that change over a period of time might be best shown as a line chart.
Reference: "Cary Jensen, Loy Anderson (1992). Harvard graphics 3. http://en.wikipedia.org/wiki/Chart" [Accessed 04/11/2012]
DR KPI Level 1 - it is a table of averaged KPI value (one or more) per specified time frame.
- Time frame for KPI calculating set on KPI settings tab in My Profile section.
DR KPI Level 2 - it is a chart of one KPI that reflects averaged value of KPI's amount in relationship to certain parameter(s).
- Level 2 consists of 3 sections: Parameters, Chart, Filters
DR KPI Level 3 - it is a spreadsheet of averaged KPI value (one or more) per specified time frame and specified output result.
- Level 3 consists of Download to Excel functionality
ADMIN
- Create special page with various panels with ability to add additional page(s) to organize the layout of panels (Dashboard)
- Provide ability to create additional page(s)
- Provide ability to name/edit/remove each dashboard page
- Provide ability to group panels to each dashboard (organize panels for each dashboard available from the default panels setting on the dashboard)
- Provide ability to move the order of each dashboard tab
- Provide ability to drag/drop panel(s) to each dashboard
- Create admin level to manage dashboard and panels across CT2 Home for both Internal and External users.
- Consist of 3 levels of admin functionality:
- System Level
- Admin Level
- User Level
- Consist of 3 levels of admin functionality:
System Level
- Need flexible admin to manage dashboard from System level to configure default setting for External and Internal users on CT2 Home
- To keep list of all existing object reports and future object reports(widgets, reports, KPIs..etc) to be available for both External and Internal users
- To be able to activate object reports in the system
- To set default parameters of object reports
- To allow ability to organize each groups of widgets or panel by catagories.
- IE. Weather and RSS News Feed can be set to be in the same catagory to show on one panel or it can be set to be independent panel.
- IE. Set all the Reports to be in one Panel to display on the dashboard. Panel can display many reports' summary for each line
Admin Level
- Need flexible admin to manage dashboard from Admin level to configure user profile
- To manage activated/inactivated panels
- To show list of all activated panels for External and Internal users
- To activate panel(s) for certain user (user role)
User Level
- Need flexible user admin level "My Profile" for personal setting
- To allow user to manage their own custom setting to activate/deactivate each panel and layout for panels on dashboard(s)
- Solution for current state
- Client and Internal applications are separated. Internal Application does not have "My Profile". This functionality should be added on the Internal application as same as Client application.
- "My Profile" should be built consistent way in order to reuse once two applications are merging
- Solution for future state
- Merging Internal application to Client application to be only one application. This is related to I-portal. It is a dependency project.
- Solution for current state
- To remember user last setting state of panel(s) on dashboard(s) for each individual user
- To use available functionality to custom organize panels and dashboards
- Ability to manage and create any number of additional dashboard tabs and name/edit/remove them arbitrary
- See functionality and mock up 1 for #Adding dashboard tab
- See functionality and mock up 2 for #Naming and editing tab's name
- See functionality and mock up 3 for #Removing tab (reminder note: Validation and action should be listed)
- Ability to assign any available panel(s) to any specific dashboard tab
- Ability to activate/deactivate panels from the available list of panels to display it on dashboard and assign selected panel to specific tabe of dashboard where to be displayed
- Ability to set custom parameters for value display on each panel
- NOTE: Default setting - all panels on "Main Dashboard" tab.
- Ability to manage and create any number of additional dashboard tabs and name/edit/remove them arbitrary
- To allow user to manage their own custom setting to activate/deactivate each panel and layout for panels on dashboard(s)
KPIs
Common Requirements for adding new KPI
To simplify further process of adding new KPI in CyberTrax we suggest use unified procedure of defining KPI.
- STEP 1. MO requests a new KPI and provides information for analysis.
- STEP 2. BA prepares information for development as list of key parameters:
- Key entity. Base of KPI or that for which the KPI is calculated.
- Example: shipment (for CT-based KPI), load (for Load-based KPI), user (for User-based KPI), trucker (for Trucker-based KPI).
- KPI function. Formula to calculate KPI. Result is always a number (integer or real).
- Should be shown on Axis Y in its own measure unit.
- Example: cost per pound/lane, created to approved/rejected/delivered.
- KPI measure unit. Name of units in which the KPI is to be measured.
- Example: USD (Cost and value KPIs), Day (Date KPIs).
- Key Date rule. Points or expression for key events of KPI (created, approved, delivered etc).
- Mostly depends from KPI family (cost, date) or KPI base (key entity).
- Example: Created on Date, Approved Date, Actual/Estimated Delivery Date.
- "Group By" methods. List of categories which can be used for grouping of KPI on Chart.
- Will be shown on Axis X.
- Each KPI has its own set of group by (default + specific).
- Should correspond with the default settings (ideally be the same).
- Example: days, weeks, months etc; carriers, users etc.
- Filters.
- Set of possible rules to select data slice by some value.
- Default set of filters.
- Specific filters for KPI family or one KPI.
- Chart types.
- Example: line, bar, pie. Note: for Group By = Carriers makes no sense to use linear chart.
- XLS output fields.
- Subset of values from KPI base object to output in spreadsheet (define default columns), their order of sequence, mapping and formatting.
- Example: days, weeks, months etc; carriers, users etc.
- Default settings.
- Time Frame. Range of dates per which is calculated KPI value for Level 1. Also it used for visualization of KPI at first time opening of Level 2.
- Group By. It defines method the grouping of subset of values of selected KPI per Time Frame on Chart (Level 2).
- NOTE: Defaults should contain only appropriate values for certain KPI.
- STEP 3. Developer implements solution that suggested the BA with using prepared key information.
PANEL
Client visibility rule
Client Visibility Rules
Client Visibility Rules affect displaying of DR results in Client Application.
CHART
- To display value in different type of chart such as line, bar, pie, column, XY scatter, area chart.
- To display value of many KPIs on one chart to show the comparison for analysis (All value points in one graph)
- To use mouse over value on the chart
BR1.2 [Performance]
- Speed
- To display chart (from KPI value link, filter changing, etc)
- To display value on the chart
- To Download to excel for any report value
- IE. Problem: Performance for displaying yearly data value
BR1.3 [Scalability]
BR2 [Cost-based KPIs]
- To be able to measure:
- Cost Per Pound
- Cost Per Kilogram
- Cost Per Load
- Cost Per Item/unit
- Cost Per SKU
...
Logic
- Cost Per Pound
- value from XML DocLoadPlan (TMS), Total Cost and Total Weight parameters what to be used for calculation of Cost per Pound
BR3 [Date-based KPIs]
Measuring KPI date based pairing from date below:
- Shipment Created on Date
- Shipment Approved on Date
- Shipment Mode assigned on Date
- Shipment Picked up on Date
- Shipment Departure on Date
- Shipment Arrival on Date
- Shipment Custom Clearance on Date
- Shipment Delivery on Date
Define KPI
Core of date based KPI is number of days from the shipment X date to the shipment Y date
- It is a number of days from the two dates:
- 1) Created To Approved on Date
- Number of days since the date of creation the shipment until the date of its approved
- 2) Created To Mode Assigned on Date
- Number of days since the date of creation the shipment until the date of its mode Assigned
- 3) Created To Picked up on Date
- Number of days since the date of creation the shipment until the date of its picked up
- 4) Created To Departure on Date
- Number of days since the date of creation the shipment until the date of its departure
- 5) Created To Arrival on Date
- Number of days since the date of creation the shipment until the date of its arrival
- 6) Created To Custom Clearance on Date
- Number of days since the date of creation the shipment until the date of its custom clearance
- 7) Created To Delivery on Date
- Number of days since the date of creation the shipment until the date of its delivery
- 8) Approved To Mode Assigned on Date
- Number of days since the date of approved the shipment until the date of its mode Assigned
- 9) Approved To Picked up on Date
- Number of days since the date of approved the shipment until the date of its picked up
- 10) Approved To Departure on Date
- Number of days since the date of approved the shipment until the date of its departure
- 11) Approved To Arrival on Date
- Number of days since the date of approved the shipment until the date of its arrival
- 12) Approved To Custom Clearance on Date
- Number of days since the date of approved the shipment until the date of its custom clearance
- 13) Approved To Delivery on Date
- Number of days since the date of approved the shipment until the date of its delivery
- 14) Mode Assigned To Picked up on Date
- Number of days since the date of mode assigned the shipment until the date of its picked up
- 15) Mode Assigned To Departure on Date
- Number of days since the date of mode assigned the shipment until the date of its departure
- 16) Mode Assigned To Arrival on Date
- Number of days since the date of mode assigned the shipment until the date of its arrival
- 17) Mode Assigned To Custom Clearance on Date
- Number of days since the date of mode assigned the shipment until the date of its custom clearance
- 18) Mode Assigned To Delivery on Date
- Number of days since the date of mode assigned the shipment until the date of its delivery
- 19) Picked up To Departure on Date
- Number of days since the date of picked up the shipment until the date of its departure
- 20) Picked up To Arrival on Date
- Number of days since the date of picked up the shipment until the date of its arrival
- 21) Picked up To Custom Clearance on Date
- Number of days since the date of picked up the shipment until the date of its Custom Clearance
- 22) Picked up To Delivery on Date
- Number of days since the date of picked up the shipment until the date of its delivery
- 23) Departure To Arrival on Date
- Number of days since the date of departure the shipment until the date of its arrival
- 24) Departure To Custom Clearance on Date
- Number of days since the date of departure the shipment until the date of its Custom Clearance
- 25) Departure To Delivery on Date
- Number of days since the date of departure the shipment until the date of its delivery
- 26) Arrival To Custom Clearance on Date
- Number of days since the date of arrival the shipment until the date of its Custom Clearance
- 27) Arrival To Delivery on Date
- Number of days since the date of arrival the shipment until the date of its delivery
- 29) Custom Clearance To Delivery on Date
- Number of days since the date of custom clearance the shipment until the date of its delivery
- 1) Created To Approved on Date
Define key parameters
- KPI entity is a shipment.
- KPI function is difference in days between date of arrival of shipment and date of its creating in CT2.
- KPI measure unit is a day.
- Key Date rule. Key events based on following dates:
- Shipment Created on Date
- Mapping: #CT_bo#Created_On_Date
- Shipment Approved on Date
- Mapping: #CT_bo#Approved_On
- Shipment Mode assigned on Date
- Mapping: #Mode assigned_On THIS FIELD IS NOT EXIST>>>need to be added.
- Shipment Picked up on Date
- Mapping: #CT_bo#Actual_Pick_Up_Date
- Shipment Departure on Date
- Shipment Arrival on Date
- Mapping:
- Shipment Custom Clearance on Date
- Mapping:
- Shipment Delivery on Date
- Mapping: #CT_bo#Actual_Delivery_Date
- Shipment Created on Date
Rule: report should handle CTs with Delivery Date within Time Frame (see below) and calculate KPI function for them.
"Group By" methods.
Standard methods: all Time (days, weeks, months, quarters, years); carriers, consignees, shippers. Specific methods: planners.
Filters.
Standard filters: PO contains, SKU contains, Approved Date, Pick Up Date, Routed Date, Delivery Date, Carrier. Specific filters: Planner.
Chart types.
linear chart for every time grouping. bar chart for grouping by carriers, planners etc.
Output fields.
CT#. Load #. Created to Delivered (KPI column calculated as by formula Actual Delivery Date - Created On Date). Created On Date. Actual Delivery Date. Shipper. Consignee. Carrier. Pick Up Location. Delivery Location. Planner.
NOTE: need to define and add to list other KPI's which can be overlapped with current (depends from key entity).
Default settings (in My Profile section).
Time Frame: to be able select one from previous day/week/month/quarter/year. Group By: to be able select one from list included standard and specific "Group By" methods.
STEP 3 (Implementation parts)
We should use Client Visibility Rules when showing KPI info
Settings
Default values of KPI parameters should be set up in My Profile section.
Date KPI panel settings should be added. We need ability to set up default values for parameters:
"Time Frame" "Group By"
Level 1
Initial KPI displaying.
A table with 4 columns:
Name of KPI, Time Frame range, KPI value (+ KPI measure, maybe in round brackets), Change (KPI changes from past Time Frame). Headers: Name, Time Frame, KPI, Change.
"Created to Delivered" KPI on Level 1 (as well as Change) is average value for all shipments delivered per selected Time Frame:
1) calculate difference Delivered-Created for every shipment 2) get all days as amount of calculated differences 3) divide obtained sum by number of handled shipments
Level 2
Chart displaying.
First time opened chart should be look in correspondence with default settings:
"Group By" and "Time Period" sections should be set in values specified in My Profile Chart type should be suitable for "Group by" value Filter Panel should be minimized and all filters are empty
except Delivery Date filter displayed start ("from") and end ("to") dates of Time Frame range
Selecting of new "Group By" or "Time Period" values refreshes the chart without additional confirm Changes on Filters Panel will update the chart after pressing of "Generate Result"
Delivery Date filter after manual update should used instead "Time Period" for chart displaying
Level 3
Spreadsheet displaying.
1) Click on "Download to Excel" button and get file OR 2) Activate by clicking on or chart (when it is bar type), define output fields, click on the button
Logic
BR4 [Utilization / Optimization KPIs]
BR5 [International KPIs]
Business Process Flow 1...
Business Process Flow 2...
Business Process Flow 3...
Functional/Non-Functional Requirements
<Identify all functional and non-functional requirements. Maintain standard headings. If a specific requirement is not required, note as Not Applicable. Each functional requirement must trace back to a specific business requirement.>
CyberTrax2 Internal Application
<Identify all functional requirements for CT2 Internal Application>
User Interface Requirements
Reporting Requirements
User Access / Security Requirements
Logging Requirements
Group / Master Requirements
Filtering Requirements
Archiving Requirements
CyberTrax2 Client Application
<Identify all functional requirements for CT2 Client Application>
User Interface Requirements
Reporting Requirements
User Access / Security Requirements
Logging Requirements
Actions on System level and Admin level should be recorded in System Log.
Group / Master Requirements
Filtering Requirements
Archiving Requirements
Persistence
System must remember last state (location, state [open/closed], settings) of Dashboard for individual user to reproduce it at the next login.
Non-Functional Requirements
<Identify all non-functional requirements for both CT2 Client Application and CT2 Internal Application>
Performance Requirements
Capacity Requirements
Support / Maintenance Requirements
User Guides
Training
Log(s) Accessibility
Testing Requirements
Security Requirements
Technical Design & Solution
Mock ups
<Include mock-ups of UI changes, report changes, etc..>
Adding dashboard tab
Naming and editing tab's name
Removing tab
Technology Stack & Architecture
<Include changes to existing Technology Stack & Architecture - new libraries, updated library versions, new software/hardware, new interfaces, etc..>
Technical Diagrams (Flow Chart, Sequence, UML, Systems Architecture, Technical Architecture, Data Architecture, etc..)
<Include architecture diagrams and flow charts>
Web / Application (New/Modified classes, methods, etc..)
<List new or modified classes and methods>
Database (DDL changes - new/modified tables, indexes, stored procedures, etc..)
<Summarize database changes>
Configuration (Config File changes)
<Summarize config changes>
Logging (Log File changes)
<Summarize Log File changes and locations>
External Interfaces (EDI Message(s), external vendors)
<Identify any new external interfaces. Include sample request and reply along with field definitions. Include Source/Target server(s)/webservice(s) and functional accounts. If this is a modification of an existing EDI message, include samples of current message(s) and new message(s)>