t-76.4115 iteration demo basebyters [i1] iteration 04.12.2005

22
T-76.4115 Iteration Demo BaseByters [I1] Iteration 04.12.2005

Upload: marjory-mclaughlin

Post on 17-Dec-2015

227 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: T-76.4115 Iteration Demo BaseByters [I1] Iteration 04.12.2005

T-76.4115 Iteration Demo

BaseByters[I1] Iteration

04.12.2005

Page 2: T-76.4115 Iteration Demo BaseByters [I1] Iteration 04.12.2005

2

T-76.4115 T-76.4115 IterationIteration demo demo

Agenda

Project status (15 min) achieving the goals of the iteration project metrics

Work results (15 min) presenting the iteration’s results demo

Used work practices (5 min) Discussion (5 min)

Page 3: T-76.4115 Iteration Demo BaseByters [I1] Iteration 04.12.2005

3

T-76.4115 T-76.4115 IterationIteration demo demo

Introduction to the project

Customer: Nokia Networks / Service Business Unit Customer representatives:

Jari Jyrävä – business issues Antti Ahonen – technical issues

Project team: Management team: Jukka Kurkinen (PM), Tapio Janasik (QaM), Sami Saariaho

(LD) Development team: Janne Ruskeeniemi, Semi Arajuuri, Sun Jian, Pu Fan

Project’s purpose To produce a database upgrade tool which enables automatic database

upgrades from unknown database structure.

Page 4: T-76.4115 Iteration Demo BaseByters [I1] Iteration 04.12.2005

4

T-76.4115 T-76.4115 IterationIteration demo demo

Stakeholders and staffing

Mgmt Team

Jukka Kurkinen PM

Sami Saariaho LD Tapio Janasik QA

Janne Ruskeeniemi Dev

• RE, DataBase, Java

Semi Arajuuri Dev

• DataBase, SQL

Sun Jian Dev

• Java, testing

Pu Fan Dev

• Java, XML, testing

Customer

Jari Jyrävä (business)

Antti Ahonen (technical)

MentorMarkus Rautopuro

Page 5: T-76.4115 Iteration Demo BaseByters [I1] Iteration 04.12.2005

5

T-76.4115 T-76.4115 IterationIteration demo demo

Status of the iteration’s goals

Goal 1: Design core architecture OK

Goal 2: Implement selected use cases (UC2 and UC4) OK

Goal 3: Deliver the first limited version of the system for trialing OK

Page 6: T-76.4115 Iteration Demo BaseByters [I1] Iteration 04.12.2005

6

T-76.4115 T-76.4115 IterationIteration demo demo

Status of the iteration’s deliverables

Project plan OK

QA plan OK

Requirements document OK

Technical specification OK

Test cases, test report and test log OK

SEPA diaries OK

Progress report OK

Page 7: T-76.4115 Iteration Demo BaseByters [I1] Iteration 04.12.2005

7

T-76.4115 T-76.4115 IterationIteration demo demo

Realization of the tasks

TaskId Task Responsible Hours (Est) Hours (Act) Left

I1_1 Iteration planning meeting All 18.5 15.5 0I1_2 Project management JKu 30 28.5 0I1_2.1 Meetings All 55 76.5 0I1_3 Requirements engineering JRu 10 0 0I1_4 QA planning TJa 10 16.5 0I1_5 Oracle installation JRu 8 8 0I1_6 Studying Twiki, Bugzilla,

SubversionAll 21 40 0

I1_7 SEPA All 60 45 0

I1_8 PL/SQL script development for removal part

SAr 30 26 0

I1_9 XML schema design FPu 15 12.5 0I1_10 Core SSa 45 57.5 0I1_11 Error handling SSa 10 7.5 0I1_12 Log Services SSa 10 2.5 0I1_13 User interface design (GUI

design and non-interactive command line implementation)

SJi 15 44.5 0

I1_14 GUI -implementation FPu

I1_15 Data Access Services- connect to db- disconnect to db- read metadata from db- get schema list from db

JRu 30 16 0

I1_16 File I/O Services- save to file

JRu 8 0.5 0

I1_17 SQL Services- generate SQL

SAr 15 32 0

I1_18 XML Services- generate XML

FPu 15 21.5 0

TestingI1_19 Test case design TJa 20 15.5 0I1_20 Integration tests SSa 20 16.5 0

JRu 15 1 0TJa 10 12 0

I1_21 System tests SJi 20 15 0FPu 10 0.5 0TJa 30 24 0

I1_22 Acceptance tests CustomerJRu 10

I1_23 Peer testing planning TJa 3.5 0 3.5544 535

Design and Implementation

Project management & other tasks

Page 8: T-76.4115 Iteration Demo BaseByters [I1] Iteration 04.12.2005

8

T-76.4115 T-76.4115 IterationIteration demo demo

Working hours by person

Major discrepancies in realizations: Effort estimation inaccuracies

Real Plan DiffJKu 50,5 56,5 -6TJa 88,5 96,5 -8SSa 109 108 1JRu 41 94 -53SAr 91,5 68 23,5SJi 82,5 58 24,5PFu 72 63 9Total 535 544

Realized hours in this iteration

Page 9: T-76.4115 Iteration Demo BaseByters [I1] Iteration 04.12.2005

9

T-76.4115 T-76.4115 IterationIteration demo demo

Working hours by person

Real Plan DiffJKu 50,5 56,5 -6TJa 88,5 96,5 -8SSa 109 108 1JRu 41 94 -53SAr 91,5 68 23,5SJi 82,5 58 24,5PFu 72 63 9Total 535 544

Realized hours in I1 iteration Plan in the beginning of this iteration

PP Σ I1 I2 TotalJKu 55 55 40 75 170TJa 23,5 23,5 73,5 73 170SSa 14 14 70 86 170JRu 22,5 22,5 60 67,5 150SAr 3 3 60 107 170SJi 1 1 60 109 170PFu 1 1 60 109 170Total 120 120 423,5 626,5 1170

Latest plan (inc. realized hours and other updates)

PP I1 Σ I2 TotalJKu 55 50,5 105,5 64,5 170TJa 23,5 88,5 102,5 67,5 170SSa 14 109 123 47 170JRu 22,5 41 63,5 86,5 150SAr 3 91,5 94,5 75,5 170SJi 1 82,5 83,5 86,5 170PFu 1 72 73 97 170Total 120 535 655 515 1170

Page 10: T-76.4115 Iteration Demo BaseByters [I1] Iteration 04.12.2005

10

T-76.4115 T-76.4115 IterationIteration demo demo

Quality metrics I

I1 I2 TotalReported 24 - 24Closed 23 - 23Open 1 - 1

Bug metrics

Block Crash Major Minor Tweak TotalTotal open 0 0 0 1 0 1This iteration reported

2 0 6 11 4 23

Block Crash Major Minor Tweak TotalConf.Services 1 1DataAccess 1 1Error Handling 2 3 5File I/O 1 1Log Services 1 1SQL Services 2 2UI 4 2 6XML Services 2 3 2 7

Page 11: T-76.4115 Iteration Demo BaseByters [I1] Iteration 04.12.2005

11

T-76.4115 T-76.4115 IterationIteration demo demo

Quality metrics II

Other QA metrics unit test coverage: 41% (Coverlipse)

calculated using integration test suite Not all trivial exceptions covered help methods (for testing for examle) not covered Data Access Service not included since there is a problem with

Coverlipse and reading db over network UI not JUnit tested (tested during system tests) not included in

coverage report code reviews

Static analysis: https://baseb.nbl.fi/staticanalysis/ Some refactoring needed ( I2)

source code metrics See page 12

Blocking bugs found: Bug11: NullPointerException from XmlGenerator (null objects) Bug17: NumberFormatException from XmlParser (“null” input string)

Page 12: T-76.4115 Iteration Demo BaseByters [I1] Iteration 04.12.2005

12

T-76.4115 T-76.4115 IterationIteration demo demo

Quality assessment by components

Functional component

Coverage Quality Comments

UI 3 Fault tolerance a lot better, errors are logged.

Data Access 2 Looks good, but bug 26 about portability needs to be investigated.

Error handling 2 Looks good.

File I/O 2 Looks good.

Logging 3 Logging is informative (a lot is logged though).

SQL service 2 Bug fixing done, looks good.

XML service 2 Lots of bug fixing done, looks good.

Core 2 We are doing alright, but issues about version id's need to be investigated.

Conf. services 2 We are doing alright.

Legend

Coverage: Quality:

0 = nothing = quality is good

1 = we looked at it = not sure

2 = we checked all functions = quality is bad

3 = it’s tested

Page 13: T-76.4115 Iteration Demo BaseByters [I1] Iteration 04.12.2005

13

T-76.4115 T-76.4115 IterationIteration demo demo

Software size in Lines of Code (LOC)

PP I1 I2

UI / Command line 0 425/- -

UI / GUI 446/- -

Core 842/80% -

Data Access 0 296/- -

File I/O 0 64/45% -

Logging 0 58/60% -

SQL service 0 256/76% -

XML service 0 552/69% -

Conf. services 0 42/39% -

Total LOC, DbUpgrader 2981 -

Unit tests LOC 437 -

Total LOC 0 3418 -

Total Unit Test Coverage (unit test code not included)

41% -

Comments (COM) 0 ? -

Page 14: T-76.4115 Iteration Demo BaseByters [I1] Iteration 04.12.2005

14

T-76.4115 T-76.4115 IterationIteration demo demo

Changes to the project

No major changes during the I1.

Page 15: T-76.4115 Iteration Demo BaseByters [I1] Iteration 04.12.2005

15

T-76.4115 T-76.4115 IterationIteration demo demo

Risks

Risk status:

Root causes of risk event

1

Technical contact person changing job or continuously loaded with higher priority tasks

Customer cannot provide enough technical support.

Development slows down. Agreed functionalities cannot be delivered in time.

3 1 LOW

2

Accident in Nebula's premises (fire, water damage)

Nebula server destroys files stored on it

All deliverables done so far are lost

5 1 MEDIUM

3

Changing customer contact persons, unclear and insufficient requirement document, not controlled change management

Changing customer requests Delays in project schedule. Effort used to not relevant tasks

3 2 MEDIUM

4

Contact person changing job or company.

Frequent changes in customer interface (contact persons)

Communication becomes more difficult. Priorities in requirements changing.

1 1 LOW

5

Accident, long lasting sickness, suspending studies

Loss of critical project resources Major schedule impact to the project. More effort required to compensate the loss

4 1 LOW

6

Customer requirement for NDA

NDAs required from course personnel

Confilct situation if mentor won't sign. Course cannot be passed until the situation is clarified

5 0 N/A

7

Delay in customer's development work

SQL script not available according to agreed schedule

Project cannot start in time corcerning SQL part

4 0 N/A

8

Customer cannot put enough priority to this project

SQL script for upgrade part not available according to agreed schedule

Use cases 1 and 7 cannot be tested.

3 2 MEDIUM

Risk ID

RISK EVENT Consequences Estimated impactscale (1-5)

Estimated probability scale (1-3)

Risk magnitude

Page 16: T-76.4115 Iteration Demo BaseByters [I1] Iteration 04.12.2005

16

T-76.4115 T-76.4115 IterationIteration demo demo

Results of the iteration

Technical specification PL/SQL script User interface UC2 and UC4

Page 17: T-76.4115 Iteration Demo BaseByters [I1] Iteration 04.12.2005

17

T-76.4115 T-76.4115 IterationIteration demo demo

System overview

The system consists of the following high level features:

It handles upgrade from unknown database structure to given target structure.

It supports both Oracle and MySQL.

It has a graphical user interface, a command line interface and it can be used from another Java application.

It has a PL/SQL based upgrade solution for Oracle databases.

It can create an XML description file of existing database. This file can be then used to specify the target structure for upgrade.

Use case diagram:

Page 18: T-76.4115 Iteration Demo BaseByters [I1] Iteration 04.12.2005

18

T-76.4115 T-76.4115 IterationIteration demo demo

Technical specification – components and services

Components and services of the system:

Page 19: T-76.4115 Iteration Demo BaseByters [I1] Iteration 04.12.2005

19

T-76.4115 T-76.4115 IterationIteration demo demo

Technical specification – core architecture

Core architecture of the system:

Page 20: T-76.4115 Iteration Demo BaseByters [I1] Iteration 04.12.2005

20

T-76.4115 T-76.4115 IterationIteration demo demo

User interface and UC 2 and UC4

Demo…

Page 21: T-76.4115 Iteration Demo BaseByters [I1] Iteration 04.12.2005

21

T-76.4115 T-76.4115 IterationIteration demo demo

Used work practices

Time reporting Time reporting done according to iteration task list (little variation to task list)

Iterative development Tasks identified and planned at the beginning of the iteration Implementation status reviewed in the middle of the iteration Not possible tasks transferred to I2

Risk management Risks identified in the risk workshop and documented Risk status gone trough in project team meetings

Communication Face2face communication in meetings Emails IRC discussions Phone calls and conference calls Wiki used for meeting memo delivery and discussions Subversion used for document store and delivery

Effort estimation Effort estimation done by LD and developers

Work practices to be changed in I2: Time reporting could be still made more accurate to match exactly task list Effort estimation could be made more accurate

Page 22: T-76.4115 Iteration Demo BaseByters [I1] Iteration 04.12.2005

22

T-76.4115 T-76.4115 IterationIteration demo demo

Questions, comments?