Progress report - I1
Download
Report
Transcript Progress report - I1
T-76.4115 Iteration Demo
Tikkaajat
[I1] Iteration
9.12.2007
T-76.4115 Iteration demo
Agenda
Project status (25 min)
Work results (20 min)
achieving the goals of the iteration
project metrics
presenting the iteration’s results
demo
Used work practices (5 min)
2
T-76.4115 Iteration demo
Introduction to the project
jEhIntranet System
Informational logistic solution for Eduhouse Oy
coordinating system for customers, employees, and operations
3
T-76.4115 Iteration 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
4
T-76.4115 Iteration demo
Status of the iteration’s goals
Goal 1: Designing of quality assurance
Goal 2: Designing of test cases
OK
Goal 5: Conversion System for database designed, implemented, tested
OK
Goal 4: Database is ready to use
OK
Goal 3: Architecture is finalized
OK
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
5
T-76.4115 Iteration demo
Status of the iteration’s deliverables
Documentation:
Quality Assurance Plan
Updated Project Plan
UCP009 is under development. Will be tested as soon as reported as ready.
QA report and test log
OK, derived from the use cases: UCP001, UCP002, UCP006, UCP009
Use cases UCP001, UCP002 implemented and tested
OK
Test cases
OK, updated chapters 3, 6
Technical Specification
OK, updated chapters 4.1 and 6.
Updated Requirements document
OK
OK
Progress report
OK
6
T-76.4115 Iteration demo
Status of the iteration’s deliverables
Software:
Build environment
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
OK
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
7
Realization of the tasks
T-76.4115 Iteration demo
Status
Realized
Planned
Diff
(Left)
Task 1. Iteration plan
Ok
8
12
Task 2. Quality assurance plan
Ok
19,5
11
+ 8,5
Task 3. Technical design and documentation
Ok
73
49
+ 24
Ok
94,5
39
+ 55,5
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
Task 9. Test cases
Ok
5
17
--
12
Task 10. Requirements engineering
Ok
8
6,5
Task 11. Risk Management
Ok
1
10
Task 12. Quality Assurance
Ok
9,5
11
Task 11. Project tracking
Ok
10
10
Task 12. Progress report
Ok
12
17
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
672
603
PLANNING AND ARCHITECTURE
--
4
4
DEVELOPMENT
Task 4. Database design and implementation
Task 5. Data conversion system
QA AND RE ACTIVITIES
12
+ 1,5
MANAGEMENT
0
--
5
UNCLASSIFIED TASKS
Total:
+ 69
8
T-76.4115 Iteration demo
Resource usage
Original plan (in the beginning of the iteration)
TL
TH SM VS
PP
71 73,5 56,5 49
I1
76 75,5 47,5 75
I2
43
41
46
66
Total 190 190 150 190
ST
19
61
70
150
VH
67
75
48
190
TM
36
82
72
190
TI
42
64
44
150
YZ
33
47
70
150
SUM
525
603
500
1550
TL
TH SM VS
ST VH
PP
71 73,5 56,5 49
19
67
I1
81 92,5 47,5 94 40,5 91,5
I2
38
24
46
47 90,5 31,5
Total 190 190 150 190 150 190
TM
36
100
54
190
TI
42
74,5
33,5
150
YZ SUM
33
447
50,5 672
66,5 431
150 1550
Realization and updated plan
(realized hours and updates)
9
T-76.4115 Iteration demo
Defects and other quality metrics
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
One critical bug open
When running the conversion system there are SQL Exceptions about inability to convert 0000-0000 00:00:00 to TIMESTAMP (when converting cv_users) and to Date (when converting Cources).
10
T-76.4115 Iteration demo
Source code metrics
Component (.java)
LOC-P
CLOC
Comment ratio
Database
1405
413
3.4
Controller
238
195
1.2
Converter
577
177
3.3
System
101
188
0.5
Util
363
345
1.1
View
441
437
1.0
Training
439
121
3.6
Total
3564
1876
1.9
Other
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
Setup and
configuration
files
Database
mappings (XML)
Database testing
Total
Total LOC
2497
497
915
333
835
1025
699
6801
Total LOC
770
1275
805
2850
11
T-76.4115 Iteration demo
Quality dashboard
Part of the system
Quality
Confidence
Comments
Database
Implemented
database
K
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
K
2
Conversion works partly. Major bugs still open. A bit
behind schedule.
Engine
K
3
Future test cases under construction. No major
defects. Code concerning calendar requires more
work.
3
GUI & engine team are working closely together.
Information is passed around so we can integrate
GUI and engine components early for the testing.
GUI
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
K = not sure
= quality is bad
12
T-76.4115 Iteration 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
T-76.4115 Iteration demo
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
14
T-76.4115 Iteration demo
Risks
Materialized risks
ID #5: Iteration/sprint
schedule unrealistic.
Some requirements
need more resources
than anticipated.
Scope must be
reduced in
implementation II.
15
T-76.4115 Iteration demo
Changes to the project
Scope of the database minored
Work applications, Event log and Collections are dropped away
16
T-76.4115 Iteration demo
Results of the iteration
Documentation and design
QA plan
System architecture
Implemented use cases
Demonstration
Demo-scenario
Login, calendar and logout
17
T-76.4115 Iteration 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
T-76.4115 Iteration 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
Results
Database design
Software architecture
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
19
T-76.4115 Iteration demo
System architecture: Overview
20
T-76.4115 Iteration 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
21
T-76.4115 Iteration demo
This slide has been removed
2/2 slide is removed from this public document
22
T-76.4115 Iteration 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
23
T-76.4115 Iteration demo
This slide has been removed
2/2 slide is removed from this public document
24
T-76.4115 Iteration 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
25
T-76.4115 Iteration 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
T-76.4115 Iteration 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
27
T-76.4115 Iteration demo
Used work practices
Code Review’s and unit testing
Pair programming is a good way to solve problems
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
Many reports in late
Task effort estimation in EXP-group
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
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
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”
28