T Iteration Demo BaseByters [I1] Iteration
T Iteration demo 2 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)
T Iteration demo 3 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.
T Iteration demo 4 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) Mentor Markus Rautopuro
T Iteration demo 5 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
T Iteration demo 6 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
T Iteration demo 7 Realization of the tasks
T Iteration demo 8 Working hours by person Major discrepancies in realizations: Effort estimation inaccuracies RealPlanDiff JKu 50,556,5-6 TJa 88,596,5-8 SSa JRu SAr 91,56823,5 SJi 82,55824,5 PFu Total Realized hours in this iteration
T Iteration demo 9 Working hours by person RealPlanDiff JKu 50,556,5-6 TJa 88,596,5-8 SSa JRu SAr 91,56823,5 SJi 82,55824,5 PFu Total Realized hours in I1 iterationPlan in the beginning of this iteration PP Σ I1I2Total JKu TJa 23,5 73, SSa JRu 22,5 6067,5150 SAr SJi PFu Total ,5626,51170 Latest plan (inc. realized hours and other updates) PPI1 Σ I2Total JKu 5550,5105,564,5170 TJa 23,588,5102,567,5170 SSa JRu 22,54163,586,5150 SAr 391,594,575,5170 SJi 182,583,586,5170 PFu Total
T Iteration demo 10 Quality metrics I I1I2Total Reported 24- Closed 23- Open 1-1 Bug metrics BlockCrashMajorMinorTweakTotal Total open This iteration reported BlockCrashMajorMinorTweakTotal Conf.Services 11 DataAccess 11 Error Handling 235 File I/O 11 Log Services 11 SQL Services 22 UI 426 XML Services 2327
T Iteration demo 11 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: 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)
T Iteration demo 12 Quality assessment by components Functional component CoverageQualityComments UI3 Fault tolerance a lot better, errors are logged. Data Access2 Looks good, but bug 26 about portability needs to be investigated. Error handling2 Looks good. File I/O2 Looks good. Logging3 Logging is informative (a lot is logged though). SQL service2 Bug fixing done, looks good. XML service2 Lots of bug fixing done, looks good. Core2 We are doing alright, but issues about version id's need to be investigated. Conf. services2 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
T Iteration demo 13 Software size in Lines of Code (LOC) PPI1I2 UI / Command line0425 /- - UI / GUI446 /- - Core842 /80% - Data Access0296 /- - File I/O064 /45% - Logging058 /60% - SQL service0256 /76% - XML service0552 /69% - Conf. services042 /39% - Total LOC, DbUpgrader2981- Unit tests LOC437- Total LOC Total Unit Test Coverage (unit test code not included) 41%- Comments (COM)0?-
T Iteration demo 14 Changes to the project No major changes during the I1.
T Iteration demo 15 Risks Risk status:
T Iteration demo 16 Results of the iteration Technical specification PL/SQL script User interface UC2 and UC4
T Iteration demo 17 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 :
T Iteration demo 18 Technical specification – components and services Components and services of the system:
T Iteration demo 19 Technical specification – core architecture Core architecture of the system:
T Iteration demo 20 User interface and UC 2 and UC4 Demo…
T Iteration demo 21 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 s 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
T Iteration demo 22 Questions, comments?