Patterns for a feature centric data model in a multi user database

Download Report

Transcript Patterns for a feature centric data model in a multi user database

Patterns for a feature centric data
model in a multi user database
environment for portfolio
management
Kai Ivo Schneider
Contents
› Motivation
› Portfolio Management
– What is Portfolio Management
– Agile
– Methods of working
› Portfolio handling tool
– Requirements
– Webtool solution
› Database model
– Views
– Timetable View
– DependencyBacklog View
› Outlook & Conclusion
Ericsson Confidential | © Ericsson AB 2014 | 2014-01-06 | Page 2
MOTIVATION
› Ericsson Product Development Unit introduced agile way of
working
› Handling of “Portfolio Backlog”
› A lot of information
› Development of a management tool to replace the legacy
Microsoft Excel solution
Ericsson Confidential | © Ericsson AB 2014 | 2014-01-06 | Page 3
Portfolio
Management
› Analysis and management of a project portfolio
› Aim: Lead the project in a direction, so that it makes the
biggest contribution to the fulfillment of the targets of the
organization with due regard to the available resources,
strategic goals and costumer concerns
Ericsson Confidential | © Ericsson AB 2014 | 2014-01-06 | Page 4
Agile
› Principles, values, philosophies for software development
› “Agile Manifesto”
– Individuals and interaction over processes and tools
– Working software over comprehensive documentation
– Customer collaboration over contract negotiation
– Responding to change over following a plan
› Work distributed in self-organized, cross-functional teams
› Responding to change
Ericsson Confidential | © Ericsson AB 2014 | 2014-01-06 | Page 5
F decision model
› Feature decisions are separated from product release
decisions
› Feature development:
– System improvements
– Market customization
– Non-functional requirements
› Split big decisions into small decisions
› “F decision model” with four different “F phases”
Ericsson Confidential | © Ericsson AB 2014 | 2014-01-06 | Page 6
F phases
› F0 – Identification:
– “One pager”
› F1 – Concept:
– Theoretical investigation regarding technical analysis, high level modeling,
high level cost research and testing
› F2 – Feature:
–
–
–
–
Investment decision
Detailed system architecture
Implementation phase
Calculation of costs and needed resources
› F4 – Feature implemented:
– Feature is ready to be released and delivered to the customer
Ericsson Confidential | © Ericsson AB 2014 | 2014-01-06 | Page 7
F PHASES
Ericsson Confidential | © Ericsson AB 2014 | 2014-01-06 | Page 8
Priorization System
› Assign a priority (number) to every feature
› Identify which feature needs to be worked on
› For every priority different requirements are defined
Ericsson Confidential | © Ericsson AB 2014 | 2014-01-06 | Page 9
Priority Requirements
› Prio 1:
– Functionality agreed with the customer, contract is drawn up; serious business
consequences with cancellation
– Market share can be increased
– Important for strategically reasons
› Prio 2:
– Also agreed with the customer, but less business consequences with cancellation
– Loss of competitiveness without functionality
› Prio 3:
– Functionality seems to be lucrative, but not obligated with a customer
› Prio 4:
– Nice to have feature
Ericsson Confidential | © Ericsson AB 2014 | 2014-01-06 | Page 10
Cost follow up
› Important to get a grip on the costs
› Cost forecast by reference to e.g. experience and
comparison to other similar features
› Range between minimum and maximum costs; likely costs
› Scheduling on monthly basis
Ericsson Confidential | © Ericsson AB 2014 | 2014-01-06 | Page 11
COST FOLLOW UP
Ericsson Confidential | © Ericsson AB 2014 | 2014-01-06 | Page 12
Portfolio Handling
Tool
› Large amount of data and information => good
management tool
Ericsson Confidential | © Ericsson AB 2014 | 2014-01-06 | Page 13
Requirements
› Working with up-to-date data based on a common source
(no duplication)
› Availability, reliability and back up of data
› Management of multiple users and different user roles
– Rights management and filtering of data
› Data evaluation (charts, statistics)
Ericsson Confidential | © Ericsson AB 2014 | 2014-01-06 | Page 14
Microsoft EXCEL
SOlution
› Yet: Microsoft Excel solution
› Problems:
– Confusion (many different versions)
– No control which user can see which data
Ericsson Confidential | © Ericsson AB 2014 | 2014-01-06 | Page 15
Webtool s0lution
› Storage of data in a database
– Display the information up-to-date
– Permanently saving of data
– Changes are made visible instantly
› Several users can work at the same time
› Program has the possibility for:
– displaying of data
– security (log in)
– rights management is possible
› Analysis of data with charts and statistics with help of
plugins
Ericsson Confidential | © Ericsson AB 2014 | 2014-01-06 | Page 16
WEBTOOL SOLUTION
Ericsson Confidential | © Ericsson AB 2014 | 2014-01-06 | Page 17
Implementation
› Web application: PHP, HTML, Javascript and CSS
› Extensions and libraries in addition to the code:
– jQuery
– jQuery UI
– Smarty
– Twitter Bootstrap
– PDO (PHP Data Objects)
Ericsson Confidential | © Ericsson AB 2014 | 2014-01-06 | Page 18
Database MODEL
› Relational database based on MySQL
› Environment on Ericsson server
› Created by means of the database normalization criteria
Ericsson Confidential | © Ericsson AB 2014 | 2014-01-06 | Page 19
DATABASE MODEL
Ericsson Confidential | © Ericsson AB 2014 | 2014-01-06 | Page 20
Views
› Alternative to traditional database tables
› Filter, calculates or summarizes specific data from one or
more tables via predefined SQL queries
› Advantages over tables:
– Data can be limited for certain users (rights management)
– A variety of tables can be united to one table; simplifies the data
– Views can calculate data and help to reduce the logic in the tools’
code
– Only SELECT statement is stored in the database; selection of data
is only performed when needed
› Views can be read only or updatable
Ericsson Confidential | © Ericsson AB 2014 | 2014-01-06 | Page 21
Timetable View
› Give an overall overview of feature data
› Concludes data of eleven different tables; joined via LEFT
JOIN
› Updatable view under condition that the feature is listed in
each of the underlying tables
› Four data sets for every F decision
– Static number of F phases -> data can be concluded in one single
row
› Logic lies in the view
Ericsson Confidential | © Ericsson AB 2014 | 2014-01-06 | Page 22
Dependencybacklog
VIew
› Collection of dependency information
› Not every feature is connected to a dependency; standard
‘JOIN’ combines data of ‘DEPENDENCY’ and ‘FEAT ITEM’
table
› Read only view
› Dynamic number of dependencies -> one data row for
every dependency
– Duplication of data in the view, but number of rows still in a low area
› Logic lies more in the tools’ code, still simplification of data
Ericsson Confidential | © Ericsson AB 2014 | 2014-01-06 | Page 23
Conclusion & outlook
› Large amount of feature data
› Microsoft Excel solution impractical and elaborate
› Web based application could provide required
functionalities
› Biggest challenge: development of a database system:
– Big amount of data, many attributes, distribution in many different
tables
– Views can simplify data complexity
Ericsson Confidential | © Ericsson AB 2014 | 2014-01-06 | Page 24
Conclusion & OUTLOOK
› In the future, more functionalities and database
improvements could be implemented
› Flexible and generic form processing
Ericsson Confidential | © Ericsson AB 2014 | 2014-01-06 | Page 25
QUESTIONS?
Ericsson Confidential | © Ericsson AB 2014 | 2014-01-06 | Page 26