T-76.4115 Iteration Demo Tikkaajat [I1] Iteration 9.12.2007
Jan 23, 2016
T-76.4115 Iteration Demo
Tikkaajat[I1] Iteration
9.12.2007
2
T-76.4115 T-76.4115 IterationIteration demo demo
Agenda
Project status (25 min) achieving the goals of the iteration project metrics
Work results (20 min) presenting the iteration’s results demo
Used work practices (5 min)
3
T-76.4115 T-76.4115 IterationIteration demo demo
Introduction to the project
jEhIntranet System
Informational logistic solution for Eduhouse Oy
coordinating system for customers, employees, and operations
4
T-76.4115 T-76.4115 IterationIteration demo demo
Introduction to the project
jEhIntranet System
Current system allready exist
Extended over time Overlapping Cluttered code Low speed functionality
Lack of documentation
The basic idea is to re-develop the current system as ready as possible
Using Java language and different techniques Hibernate, Velocity, Ajax
Documentation for furher development
5
T-76.4115 T-76.4115 IterationIteration demo demo
Status of the iteration’s goals
Goal 1: Designing of quality assurance OK
Goal 2: Designing of test cases OK
Goal 3: Architecture is finalized OK
Goal 4: Database is ready to use OK
Goal 5: Conversion System for database designed, implemented, tested MOVED LATER, because the task was underestimated - more resources is
needed Partial conversion OK, decided together with the customer
Goal 6: Login and logout implemented and tested OK
6
T-76.4115 T-76.4115 IterationIteration demo demo
Status of the iteration’s deliverables
Documentation:
Quality Assurance Plan OK
Updated Project Plan OK, updated chapters 4.1 and 6.
Updated Requirements document OK, updated chapters 3, 6
Technical Specification OK
Test cases OK, derived from the use cases: UCP001, UCP002, UCP006, UCP009
Use cases UCP001, UCP002 implemented and tested UCP009 is under development. Will be tested as soon as reported as ready.
QA report and test log OK
Progress report OK
7
T-76.4115 T-76.4115 IterationIteration demo demo
Status of the iteration’s deliverables
Software:
Build environment OK
Database classes and related Hibernate mappings OK, designed, implemented and tested against requirements Customer validation Some changes need to be done
Conversion System for database Partial conversion OK Need much more resources than estimated Database conversion moved later
Working skeleton of the system Personnel Login, OK Personnel Logout, OK Main Page for Personnel, OK (surpass the goals) Personnel Calendar, Functionality OK (surpass the goals), but the code doesn’t
respect guidelines as it should
8
T-76.4115 T-76.4115 IterationIteration demo demoRealization of the tasks
Status Realized Planned Diff (Left)
PLANNING AND ARCHITECTURE
Task 1. Iteration plan Ok 8 12 -- 4 4
Task 2. Quality assurance plan Ok 19,5 11 + 8,5
Task 3. Technical design and documentation Ok 73 49 + 24
DEVELOPMENT
Task 4. Database design and implementation Ok 94,5 39 + 55,5
Task 5. Data conversion system Unfinished 68 39 + 29
Task 6. Engine Design and Implementation Ok 86 63 + 23
Task 7. GUI Design and Implementation Ok 84 73 + 11
Task 8. Unit level testing and code reviews Ok 43 45,5 - 2,5 2,5
QA AND RE ACTIVITIES
Task 9. Test cases Ok 5 17 -- 12 12
Task 10. Requirements engineering Ok 8 6,5 + 1,5
Task 11. Risk Management Ok 1 10
Task 12. Quality Assurance Ok 9,5 11
MANAGEMENT
Task 11. Project tracking Ok 10 10 0
Task 12. Progress report Ok 12 17 -- 5
UNCLASSIFIED TASKS
Task 13. Meetings Ok 83,5 72 + 11,5
Task 14. Arrangements Ok 40,5 9 + 31,5
Task 15. Communication Ok 13,5 19 - 5,5 5,5
Task 16. SEPA – Pair Programming Unfinished 9 20 -- 11 11
Task 17. SEPA – Automated Unit Testing Unfinished 0 20 -- 20 20
Total: 672 603 + 69
9
T-76.4115 T-76.4115 IterationIteration demo demo
Resource usage
TL TH SM VS ST VH TM TI YZ SUMPP 71 73,5 56,5 49 19 67 36 42 33 525I1 76 75,5 47,5 75 61 75 82 64 47 603I2 43 41 46 66 70 48 72 44 70 500Total
190 190 150 190 150 190 190 150 150 1550
Original plan (in the beginning of the iteration)
Realization and updated plan
(realized hours and updates)
TL TH SM VS ST VH TM TI YZ SUMPP 71 73,5 56,5 49 19 67 36 42 33 447I1 81 92,5 47,5 94 40,5 91,5 100 74,5 50,5 672I2 38 24 46 47 90,5 31,5 54 33,5 66,5 431Total
190 190 150 190 150 190 190 150 150 1550
10
T-76.4115 T-76.4115 IterationIteration demo demo
10
Defects and other quality metrics
One critical bug open
When running the conversion system there are SQL Exceptions about inability to convert 0000-00-00 00:00:00 to TIMESTAMP (when converting cv_users) and to Date (when converting Cources).
Blockers Critical Major Normal Minor Trivial Enhancement Total
Reported in Implementation I
2 2 4 8 2 5 7 30
Reported total 2 2 4 8 2 5 7 30
Open 0 1 3 5 1 2 0 12
11
T-76.4115 T-76.4115 IterationIteration demo demo
Source code metrics
Component (.java) LOC-P CLOC Comment ratio Total LOC
Database 1405 413 3.4 2497
Controller 238 195 1.2 497
Converter 577 177 3.3 915
System 101 188 0.5 333
Util 363 345 1.1 835
View 441 437 1.0 1025
Training 439 121 3.6 699
Total 3564 1876 1.9 6801
11
LOC- P = Physical Executable Lines of Code (Empty lines not included, comments not included)
CLOC = Comment lines of code
Comment ratio = LOC-P / CLOC
Total LOC = includes every line in the file
Other Total LOC
Setup and configuration files
770
Database mappings (XML)
1275
Database testing 805
Total 2850
12
T-76.4115 T-76.4115 IterationIteration demo demo
12
Quality dashboard
Part of the system Quality Confidence Comments
Database
Implemented database 3
Much effort put to the new database. Almost all hibernate mapping files are validated by customer. Open bugs need to be fixed early in the next iteration.
Conversion 2Conversion works partly. Major bugs still open. A bit behind schedule.
Engine 3Future test cases under construction. No major defects. Code concerning calendar requires more work.
GUI 3GUI & engine team are working closely together. Information is passed around so we can integrate GUI and engine components early for the testing.
Legend
Confidence:
3: Strong belief that quality goals are reached
2: A bit unsure whether it’s possible to achieve all requirements
1: We’re probably not getting the job done.
Quality:
= quality is good
= not sure
= quality is bad
13
T-76.4115 T-76.4115 IterationIteration demo demo
Used quality practices & status
Quality practices Pair programming
50% (~100h) of all development work was done by pair programming Code & document reviews
Source code was reviewed 5.12.2007 by two pairs (~10h) All deliverables reviewed by expert trio
Test cases Design and testing took 5 hours Design just in time against use case to be implemented
Quality status Database is the most error prone area. Few bugs found in engine after development work concerning login
We were able to fix them before delivery GUI’s bugs are usually fixed at the same time as developing. Usually quick to
fix.
13
14
T-76.4115 T-76.4115 IterationIteration demo demo
14
Quality goals
Safety Verification criteria: All test cases passed
Currently, there are no features that we could test for safety. (E.g. user must confirm change when modifying database).
Use cases are written so that it explains safety criteria.
Security Verification criteria: Login/logout and session validation function tests passed.
Few login session bugs fixed Test cases passed
Usability Verification criteria: Usability is satisfactory according to the customer.
Skeleton menu working Usability testing will be done in implementation II, when more features are possible to
test
Code and document quality Verification criteria: Customer approves all documents. Documents and code follow
guidelines and coding conventions Most of the code follows coding conventions. Some parts still need more reviewing Documents are up-to-date
15
T-76.4115 T-76.4115 IterationIteration demo demo
15
Risks
Materialized risks ID #5: Iteration/sprint
schedule unrealistic. Some requirements
need more resources than anticipated.
Scope must be reduced in implementation II.
16
T-76.4115 T-76.4115 IterationIteration demo demo
Changes to the project
Scope of the database minored Work applications, Event log and Collections are dropped away
17
T-76.4115 T-76.4115 IterationIteration demo demo
Results of the iteration
Documentation and design QA plan System architecture Implemented use cases
Demonstration Demo-scenario
Login, calendar and logout
18
T-76.4115 T-76.4115 IterationIteration demo demo
Quality assurance plan
QA plan contains Quality goals Quality practices and scheduling
Automated unit testing Test case based testing Exploratory testing Coding standards Code and document reviews Usability programming Pair programming
Quality palette Defect tracking guide References to QA documents and used software Used metrics
18
19
T-76.4115 T-76.4115 IterationIteration demo demo
System architecture
Architecture design was started in the project planning iteration, and was finalized during this iteration
The work was clearly divided in two Database design Software architecture
Results System overview (already in PP -iteration)
Different components and main ideas of frameworks Database design
Objects, relations, approaches Attributes and chosen solutions
Engine/GUI architecture Controllers, views Practices
The process and end results (including validation) have been documented in architecture specification document
20
T-76.4115 T-76.4115 IterationIteration demo demo
System architecture: Overview
21
T-76.4115 T-76.4115 IterationIteration demo demo
System architecture: Database 1/2
Using Hibernate (requirement) Conversion from the old DB must
be possible, but total rewrite and different approaches
Phases of design: Analysis and draft Iterations in close co-operation
with the customer Final entity relation diagram Low level design and
implementation by writing objects and mappings
22
T-76.4115 T-76.4115 IterationIteration demo demo
This slide has been removed
2/2 slide is removed from this public document
23
T-76.4115 T-76.4115 IterationIteration demo demo
System architecture: Engine&GUI 1/2
Using ContextWaf framework Design phases:
Controller/view division based on the existing system Execution flow analysis and design Implementation
24
T-76.4115 T-76.4115 IterationIteration demo demo
This slide has been removed
2/2 slide is removed from this public document
25
T-76.4115 T-76.4115 IterationIteration demo demo
System architecture: Development
The system is basically a servlet, so we are using Sun Java standards and well known practices and tools:
Eclipse Apache Ant Tomcat manager and related build targets for easy testing
Other defined practices: Repository layout (Sun Java and Ant recommendations) Coding conventions
26
T-76.4115 T-76.4115 IterationIteration demo demo
Implemented use cases
UCP001: Login Procedure
1. The user fills his username and password. 2. The user clicks log in button.
Expected results The user is logged in the personnel’s system.
Exceptions a) The password or the username is invalid.
1. System informs the user that the username/password is invalid 2. User is not logged in.
b) If login fails, a 5 second delay before next login try.
UCP002: Logout Procedure
1. The user clicks log out button. Expected results
1. The user is logged out. 2. The user is directed to the login page.
26
27
T-76.4115 T-76.4115 IterationIteration demo demo
Demonstraatio
Olga Odusoga, joka työskentelee firmassa Oo Oy, tilaa Eduhouselta kurssin “Leading Your Organization”. Kurssin opettajana tulee toimimaan Jari Sarasvuo. Kurssin vastuuhenkilönä toimii Eduhousen puolesta Marko Lavikainen.
HUOM! Erillinen demoskenaariodokumentti: Iteraatiodemo_I1_demoskenaario.doc
28
T-76.4115 T-76.4115 IterationIteration demo demo
Used work practices
Code Review’s and unit testing Process for testing activities is important to define
The code doesn’t respect all guidelines at the moment Validation of the unit after the tests need to be in practice
Pair programming is a good way to solve problems Decicion making is easier in pairs Navigator knows what should do next and driver knows how to do it
Implementation is faster Good for a team spirit Good way to share experiences if pair’s are mixed reqularly
Weekly reporting is still hard to understand as an important task Many reports in late
Task effort estimation in EXP-group Three persons might not be enough to estimate More accurate estimations if every group member estimates all tasks This could be arranged in the weekly meeting before I2
Skype as a meeting platform Very positive experiences! All EXP meetings arranged in Skype during the iteration
Testing process will be improved Architect will validate every object before it is ”ready”