T-76.115 P2PDigiTV
Team MedialiimaI2 Iteration
08.02.2005
2
T-76.115 Project ReviewT-76.115 Project Review
Agenda Project status (15 min)
Achieving the goals of the iteration Status of the deliverables Used resources Project metrics Quality issues Risks Used work practices
Work results (25 min) Iteration results Demonstration
Question/discussion (5 min)
3
T-76.115 Project ReviewT-76.115 Project Review
Introduction to The Project Goals
Develop a prototype of an extended digi-TV set-top-box Tight integration to P2P-networks Multimedia-ready centre for home entertainment (DVD, DivX, MP3 etc.) Integration to the existing DiMaS content management system
Teach the project group good software project practices Pass the Software Project course with good grades
Project team: Seven computer science students from HUT
Customer: Helsinki Institute for Information Technology (HIIT)
Schedule: September 2004 – March 2005
Budget: constant, 1330 man-hours from the project group
4
T-76.115 Project ReviewT-76.115 Project Review
DiMaS Environment
5
T-76.115 Project ReviewT-76.115 Project Review
Status of The Iteration’s Goals Add more specific functionality, improve existing architecture
OK: Technical decision refined, core structure stable and working Gain knowledge about unfamiliar tehcnologies (MHP, digi-TV, TPM)
OK: Quite a lot of time was spent on investigating various techniques and their suitability for the project’s use (phase 1 of the I2 iteration)
Implement selected functionality during the phase 2 Partially OK: Handling of DPs still partially not implemented due to lack of
properly constructed DP implementation Find and purchase final hardware
OK: Hardware purchased and working properly Fix existing defects
OK: Most of the previously found defects fixed, some still pending Improve the installation CD
OK: Installation is now much faster and used user interface has also been improved
6
T-76.115 Project ReviewT-76.115 Project Review
Status of The Iteration’s Deliverables Code components
Mostly OK: All UI layouts not ready yet DP search/download only partially implemented (no license nor feedback)
due to lack of complete DPs and DP metadata parser iPAQ UI still not fully functional
Demonstration manuscript (User’s manual) OK, not deeply detailed yet and will be refined later
Test plan, test cases, test report and test log OK, not much negative test cases due to nature of the project
Progress Report OK
Revised Project Plan, Revised Requirements Specification, Revised Quality Handbook, Revised Risk Scenarios, Revised Technical Spec
OK, updated all documents to represent the current situation Technical specification still on quite high level, will be defined in more detail
later Revised SEPAs
OK, all implementations started.
7
T-76.115 Project ReviewT-76.115 Project Review
Realization of The Tasks
Uncertainty of technologies clearly seen on estimates
Some of the estimates are vastly too small Many tasks were badly underestimated
(e.g. Remote controlling, VS communication, WLAN proof-of-concept)
Big underestimation for the UI work Work could not be started as it was planned
due to late delivery of reference DP and some HTML layouts
8
T-76.115 Project ReviewT-76.115 Project Review
Working Hours by Person
Reasons for differences The biggest task for Antti (MHP-implementation) was
cancelled by the customer It was hard to divide other parts of the project
”Adding more people to the late project makes it even more late”
Antti will be the main responsible for the peer testing to make difference smaller
Real Plan DiffAntti Halla 33 90 -57Jouni Hartikainen 32 30 +2Ilkka Lyytinen 61 65 -4Tuomas Niinimäki 75 65 +10Anna-Kaisa Pietiläinen 56 60 -4Ilpo Stenberg 50 65 -15Kari Suhonen 40 40 +-0Total 347 415 -68
Realized hours in this iteration (situation on 07.02.2005)
9
T-76.115 Project ReviewT-76.115 Project Review
Working Hours by Person
Apart from Antti the plan is holding quite nicely
When approximating the amount of implementation work left and time left, it seems that the project will approximately be in budget and most of the customer goals can still be met
Realized hours in this iteration Plan in the beginning of this iterationPP I1 I2 FD Total
Antti Halla 22 33 90 45 190Jouni Hartikainen 92 44 30 24 190Ilkka Lyytinen 33 51 65 41 190Tuomas Niinimäki 54 37 65 34 190Anna-Kaisa Pietiläinen 45 59 60 26 190Ilpo Stenberg 66 25 65 34 190Kari Suhonen 72 42 40 36 190Total 384 291 415 240 1330
Latest plan (inc. realized hours and other updates)PP I1 I2 Subtot FD Total
Antti Halla 22 33 33 88 102 190Jouni Hartikainen 92 44 32 168 22 190Ilkka Lyytinen 33 51 61 145 45 190Tuomas Niinimäki 54 37 75 166 24 190Anna-Kaisa Pietiläinen 45 59 56 160 30 190Ilpo Stenberg 66 25 50 141 49 190Kari Suhonen 72 42 40 154 36 190Total 384 291 347 1022 308 1330
Real Plan DiffAntti Halla 33 90 -57Jouni Hartikainen 32 30 +2Ilkka Lyytinen 61 65 -4Tuomas Niinimäki 75 65 +10Anna-Kaisa Pietiläinen 56 60 -4Ilpo Stenberg 50 65 -15Kari Suhonen 40 40 +-0Total 347 415 -68
10
T-76.115 Project ReviewT-76.115 Project Review
Working Hours by Person per Week
Most of the lines nicely together
Concentration of hours towards the end of the iterations is remarkable
Should be tried to avoid Suggests that it is hard to
estimate the amount of work left
Total hours per person
0
20
40
60
80
100
120
140
160
180
200
38 43 48 53 58 63
Week
Hou
rs
apietilailyytineistenberjihartikksuhonentaniinimahalla
Note: Weeks run through New Year (Week 54 is actually week 1)
11
T-76.115 Project ReviewT-76.115 Project Review
Working Hours by Person per Week (Revisited)
Hours per person per week
101 3,5 2 5
15,75 17
0
13,5 17
6,45 9 7,52
10,8
1
8,3 10,5
14,25
14,75 14,5
21,5
18 8
0
7 9,5
11
9
2,5
6,5 4,5
10
16,25 12,5
12,8
11,5
13,5
1,25
13,5 7,5 14
16
8
8 10,5
23
7,25
1,512,8
9,5
7
2,4
10,5
9,511
23,6
25,25
15,158,5
19,811,55
18,1 14,47,8
4,3
4,45
5,1
6,14,5
14,7
8,3
11,7
11,5
25,9
14,25
8,818,5
9
5
4,05
3,558,1
10,5
10
6
11
11
15,95
6,2513
16,05
21,25
10
6,4
8,75
0
29
0
20
40
60
80
100
120
40 41 42 43 44 46 47 48 53 54 55 56 57 58
Week
Hou
rs
taniinim
ksuhonen
jihartik
istenber
ilyytine
apietila
ahalla
12
T-76.115 Project ReviewT-76.115 Project Review
Working Hours by Work Type Generally huge amount
of time was spent on studying
At the beginning of the I2 lots of meetings were held with the customer to decide the implemented functionality
At the end of iteration programming took over
General “non-productive” tasks didn’t need much time
PP & I1 iterations were successful on defining practices and tools
Hours per worktype
0 5 5,5 1,29 3,5 7,5 7,5 1 0 0 1 0,5
15,4 9,7
28,552,15 33,05
7,6
24,15 17,75
0,8 1 2,758,1 6,5
13,9 11,9
5,5
-1,2
4,75
9,4
3,54
2 17,5
2 0
106,95
4
10
0
00
0 00 0
0
22,6520,05
9,5
2320,95
4
13,843,5
011,8
9 6,50
00 0
0 19
47,25
38,7
18,25
376,5
23,5 21,1
68
00 0
0
0
0
7,7 3
0
0
00
213,7
10,61
3,8
11,3
2,4
0 5,8
0
1,2
1,40
010,5
9,9513
34,95
29
11,25
2,2
27,5
26
3,5
12,758,5
51
00
0
0
0
0
28
0
0
0,5
1
0
-20
0
20
40
60
80
100
120
140
160
180
41 42 43 44 45 &46
47 48 53 54 55 56 57 58
Week
Hou
rs
testingstudyingproj. managementprogramming (pair)programmingmeetingslecturesinfrastructuredocumentingdesign
13
T-76.115 Project ReviewT-76.115 Project Review
Project Metrics 20 formal meetings
7 customer 4 mentor 9 group
120+ pages of delivered documents
1022 hours spent (ca. 75% of the budget)
~190 Wiki pages More than 1 800 separate
updates More than 14 000 views More than 140 file uploads
More than 410 SVN revisions
735 emails since 15.09.
14
T-76.115 Project ReviewT-76.115 Project Review
Software Size in Lines of Code (LOC)
The amount of lines of code doubled during the I2 iteration
In many cases the amount of comment lines decreased
PP I1 I2 FDAvi (LOC) 0 0 65Avi (COM) 0 0 22Avi (LOC + COM) 0 0 87CD (LOC) 0 102 58CD (COM) 0 54 18CD (LOC + COM) 0 156 76Core (LOC) 0 179 375Core (COM) 0 85 177Core (LOC + COM) 0 264 552DP (LOC) 0 0 312DP (COM) 0 0 215DP (LOC + COM) 0 0 527XML DB (LOC) 0 652 414XML DB (COM) 0 425 294XML DB (LOC + COM) 0 1077 708P2P (LOC) 0 529 687P2P (COM) 0 254 286P2P (LOC + COM) 0 783 973Main Menu (LOC) 0 629 1717Main Menu (COM) 0 288 481Main Menu (LOC + COM) 0 917 2198DVB (LOC) 0 95 152DVB (COM) 0 42 60DVB (LOC + COM) 0 137 212Security (LOC) 0 0 540Security (COM) 0 0 216Security (LOC + COM) 0 0 756Tests (LOC) 0 0 251Tests (COM) 0 0 224Tests (LOC + COM) 0 0 475Total (LOC) 0 2186 4571Comments (COM) 0 1148 1993Total (LOC + COM) 0 3334 6564
Lines of Code
0
1000
2000
3000
4000
5000
6000
7000
PP I1 I2 FD
LOC COM LOC + COM
15
T-76.115 Project ReviewT-76.115 Project Review
Quality Metrics (1 / 2) Coding conventions are mostly used. There is some variance in the
coding style of different persons All code will be run through a formatter during the last iteration
Commenting of the code is not satisfactory. All code must be checked and more thorough comments written during the last iteration
Static checking tools were used (FindBugs, Metrics) Only minor issues were found
Some refactoring of the code is needed (better field names, etc.) Refactoring SEPA supports this
All new documents have been reviewed at least by two group members
16
T-76.115 Project ReviewT-76.115 Project Review
Quality Metrics (2 / 2)
30 new test cases were introduced. Focus area: functional tests suite (based on use cases) Old main menu test cases that relate to keyboard control were not executed,
because the STB is not meant to be used with the keyboard (13 tests) Only 6 bugs were found during the system tests
Note that UI issues are not considered as bugs. The UI is under major transformation and there still are many UI issues
One known major bug was left to the iteration end product CD track information is fetched from the Internet when building a track list. If
Internet connection is not available the track list cannot be formed
I1 I2 F&D TotalReported 13 10 23Closed 1 11 12Open 12 11
Bug metrics
Critical Major Minor Trivial Enchancement TotalTotal open - 1 6 - 7 12This iteration reported
- 4 5 - 4 13
Test case statisticsComponent Total Pass Fail Blocked Not Run %
CompleteP2P components
10 4 - - 6 40
Functional tests
60 20 3 - 37 38.33
Main menu 13 - - - 13 0
17
T-76.115 Project ReviewT-76.115 Project Review
Quality Assessment
Testing was not thorough enough Quality goals were mostly fulfilled
One major bug was found
LegendCoverage: 0 = nothing1 = we looked at it2 = we checked all functions3 = it’s testedQuality:= quality is good= not sure= quality is bad
Functional area Coverage Quality Comments
P2P Component 2 Seems working fine. All functions checked
XML Database 2 Seems working fine. All functions checked
STB UI 2 New GUI has some issues. Basically works fine
Security Key Management and Decryption
0 Not sure
Viewer applications 2 Seems working fine. All functions checked
iPAQ UI 1 Not sure
InstallionCD 1 Not sure
18
T-76.115 Project ReviewT-76.115 Project Review
Risks Risks are controlled as planned in the Risk Management Plan
List of relevant risks maintained in Wiki Risk management and review session every second week in the project
meeting Most serious risks at the moment
Severe dependencies on other groups Implementation speed already suffered due to these reasons Lots of extra work needs to be done to cope with missing pieces
Time schedule slip Implementation was harder than expected Studying used technologies took more time than expected
Insufficient testing Due to time constraints the testing coverage is not as good as was wanted Much more effort needs to be put on testing in FD iteration
19
T-76.115 Project ReviewT-76.115 Project Review
Used Work Practices Most of the practices used during the PP and I1 iterations still in use
Wiki Task Tracker plugin was abandoned, since it didn’t provide enough value No new tools introduced Communication and meeting practices
IRC has become the main communication channel Wiki is not used that much as it is too slow for communicating implementation
issues Time reporting & task tracking
Due to restrictions of Trapoli the project manager still keeps own history data in Excel about used resources
20
T-76.115 Project ReviewT-76.115 Project Review
Results of The Iteration Mandatory results required by the course
User’s manual (Demonstration Manuscript) Test Plan, Test cases, Test Log Progress Report Other already delivered documents revised
Developed Software Installation CD UI component (main menu, playlist, content search, settings etc.) P2P Peer component (also stand-alone versions) XML Database component Content transfer component Remote Control support WLAN support component
21
T-76.115 Project ReviewT-76.115 Project Review
System Architecture Some keywords about the system architecture
Based on standard Debian Linux distribution Most of the coding done using Java
Some shell scripts etc. done also Highly modular architecture where user interface and core components are
well separated User interface implemented using pure Web technologies
Allows extremely fast UI implementation in general However, lots of Javascript needed to implement remote control
navigation -> slows down UI development remarkably Provide an extremely simple way to customize the UI (using templates) Customized WWW browser completely hides the operating system from
the end used (cf. Kiosk type terminals) P2P networking implemented using JXTA platform developed by Sun
Microsystems Lots of open source components used to increase the speed of development
Jetty servlet engine Velocity template engine Log4J logging framework Xerces XML parser
22
T-76.115 Project ReviewT-76.115 Project Review
Demonstration P2P networking functionality
Searching distribution packages Publishing a new distribution package Playing distribution packages
Using playlist Organizing playlist Playing content
Watching digi-TV Controlling STB with remote control Accessing STB with iPaq
23
T-76.115 Project ReviewT-76.115 Project Review
What Next? Finalize all functionality
No new big features anymore Much care and communication effort is needed to integrate all HIIT groups
together More effort on stabilizing the code and fine tuning the system Pay more attention on testing especially using the demonstration manuscript
Next tasks Plan the FD iteration in more detail with the customer Have a group meeting to share responsibilities for the last iteration Organize peer testing with Festival group