T-76.115 Project Final Demo
BigBrother
16.3.2005
2
T-76.115 Project ReviewT-76.115 Project Review
Agenda
Introduction (5 min) Watchdog Presentation (10 min) Hourlogger Presentation (5 min) Project Evaluation (15 min)
Realization of project goals Software metrics Working practices and tools Problem analysis
3
T-76.115 Project ReviewT-76.115 Project Review
Introduction to the project
Customer: Beconnected Finland Ltd. Produces IP-based video surveillance systems for international market Main product: ASAN = Automatic Surveillance and Alarming Network Customer representative: PhD Michael Samarin
Project team: Aino Lahdenperä, Maija Kangas, Outi Syysjoki, Janne Ojala, Antti Alestalo,
Juhani Nokela, Ville Vatén GOAL: Produce tools, which help Beconnected in their customer support
work and reduce costs through increased productivity Three tools were under development:
Watchdog – Automatic monitoring of network cameras HourLogger – Log support person’s work hours per customer/target LogAnalyzer – Search for error patterns from ASAN logs
Beconnected’s goals: Working software is the only thing that matters KISS – Concentrate on simplicity, maintainability, quality. No fancy features Very busy making business – we should bother them as little as possible Minimize costs – all costs should be covered by the attendance fee to SoberIT
4
T-76.115 Project ReviewT-76.115 Project Review
Overview of the problem domain
Watchdog Presentation
6
T-76.115 Project ReviewT-76.115 Project Review
Watchdog
Problem Surveillance views had to be gone through manually to check the camera
statuses. Solution: Watchdog
Monitors status of network camera on predefined intervals Latest ASAN configuration is downloaded from ASAN’s databese A snap-shot of all the camera images fetched via HTTP If an image can be retrieved it is analyzed for error situations:
Blackness: error if camera image is black during day time No video: error if analog camera is not connected to video server
Status of the currently active malfunctions is kept up to date New malfunctions are sent to the operator via email.
The status data is recorded and too old data is erased. All system parameters are editable via web interface The system has been built to accommodate easy adding of new camera
models Developed with Java 1.4.2 and MySQL 3.26 Running on Linux server
7
T-76.115 Project ReviewT-76.115 Project Review
Demonstration
Watchdog Configuring ASAN database
This configuration can be changed on the fly Global configuration options
Interval lengths, email addresses, sleeping period, and other settings Main View
Status of each camera and an overview of the errors in past A new check can be forced manually
Camera info view Detailed history of a camera and its latest image Some statistics about the errors in the history.
Malfunctions view List of all malfunctions that have occurred
Technical data in this demo has been censored to protect customer IP
HourLogger Presentation
9
T-76.115 Project ReviewT-76.115 Project Review
HourLogger
Problem Beconnected engineers have to check the statuses of the systems in the
customer permises These actions are currently logged to Excel sheets causing a hassle with the
files. Solution: HourLogger
A web based tool for logging and reporting technician's maintenance and support work hours per customer, per target and per work type
Produces monthly reports of the recorded work tasks in Excel format Developed with Java 1.4.2 and MySQL 3.26 Running on Linux server
10
T-76.115 Project ReviewT-76.115 Project Review
Demonstration
HourLogger Customer/target/employee management Inserting a new performed check Edit task Reporting Excel-export
Project Evaluation
12
T-76.115 Project ReviewT-76.115 Project Review
Realization of Customer Goals
Goal 1: Create business value by reducing costs in Beconnected's maintenance / support work for its customers
Achieved! Goal 2: The software should be ready for production use during the
project Failed – customer acceptance testing still not performed
Goal 3: The software should fulfill the minimum requirements and avoid unnecessary complexity
Mostly achieved. LogAnalyzer did not finish. Goal 4: The software should be usable, reliable and maintainable
Achieved/not sure. Goal 6: Execute project with minimum costs
Achieved: only 3250 Euro total and less than 3 hours per week on average Goal 7: Minimum critical information leakage
Achieved: The project team was careful with this. Goal 8: Get contacts to TKK students
Achieved: Team members were good.
13
T-76.115 Project ReviewT-76.115 Project Review
Realization of Project Team Goals
Goal 1: Return all deliverables on time Achieved!
Goal 2: Get good grade Dunno yet.
Goal 3: Produce useful software Achieved.
Goal 4: High customer satisfaction Achieved.
Goal 5: Learn more about software projects Achieved.
Goal 6: Have a working team Could have worked better…
Goal 7: Keep the work in the defined resources Mostly achieved.
Goal 8: Learn to use new tools Achieved.
Goal 9: To have fun Achieved. Maybe it wasn’t as easy as expected, but challenging is fun too.
Software Metrics
15
T-76.115 Project ReviewT-76.115 Project Review
Realization of the working hours
16
T-76.115 Project ReviewT-76.115 Project Review
Realization of budget
Monthly allowance of € 100 for miscellaneous well justified project costs
Final costs in the allowance were from: NDA mailing Java books Pizza and coke for group working sessions
Total costs were around 250 Euro
17
T-76.115 Project ReviewT-76.115 Project Review
Quality metrics
Severity Number Open Closed
Blocker 0 0 0
Critical 4 0 4
Major 12 2 10
Normal 13 2 11
Minor 14 2 12
Trivial 2 0 2
TOTAL 45 6 39
Watchdog defect summary
Hourlogger defect summary
Severity Number Open Closed
Blocker 2 0 2
Critical 6 0 6
Major 5 0 5
Normal 25 2 23
Minor 11 3 8
Trivial 4 0 4
TOTAL 53 5 48
18
T-76.115 Project ReviewT-76.115 Project Review
Quality assessment
Functional area Coverage Quality Comments
Logging 3 Errors not handled
Alarming 3
Monitoring 2
Presenting 3 Minor (usability) issues
Configuration 2 Input validation not tested thoroughly
Help 2
Legend
Coverage:
0 = nothing
1 = we looked at it
2 = we checked all functions
3 = it’s tested
Quality:
= quality is good
= not sure
= quality is bad
Functional area Coverage Quality Comments
Logging 3
Presenting 3
Exporting 1 Not working at all in IE. Scandics not shown.
Management 3
Help 2 Not thoroughly reviewed.
Watchdog
Hourlogger
19
T-76.115 Project ReviewT-76.115 Project Review
Software size in Lines of Code (LOC)
Not all the lines here are actual live code The graph shows that the development was weighted towards the end
of the iterations
I1 I2 FD
Watchdog java classes 2910 6440 5498
Watchdog JSPs 970 2032 2667
Hourlogger java classes 0 552 2231
HourLogger JSPs 851 3508 4256
LogAnalyzer java classes 0 692 709
LogAnalyzer JSPs 0 216 222
Testing and example JSPs 201 201 201
Utils 1882 2983 3320
Other 134 139 799
Total (NCLOC + COM) 6948 16763 19903
Working practices and tools
21
T-76.115 Project ReviewT-76.115 Project Review
Used work practices
Document vs. communication driven development
Iterative development Chief engineer centered development Roles and responsibilities assignment Customer on-duty session Risk management Group working sessions NDA and information publishing process Documentation in English and in HTML
22
T-76.115 Project ReviewT-76.115 Project Review
SEPAs
Meetings Practices Success
Pair Programming Total disaster
Usability Tests Lightweight but useful
Design Patterns Didn’t apply that much for this project
23
T-76.115 Project ReviewT-76.115 Project Review
Used tools
Development Server Severe problems due to low performance and no
debugging facilities CVS at HUT CC
Worked well Eclipe IDE
Handy. CVS cliend could be better Trapoli
Sucks! Poor usability! Tiki and Bugzilla
Worked well
Problem Analysis
25
T-76.115 Project ReviewT-76.115 Project Review
Risks and Problems Summary
One group member had to leave abroad for a month in I1 Customer was often too busy to answer questions and
provide feedback Development server had very low performance No separate testing environment Quality problems occurred often in the deliverables of
team members Problems with used tools: usability problems, corrupting
data, forgetting CVS commits, etc. Compatibility problems between member goals, working
habits, preferences, schedules occurred often, which slowed down development.
Customer could not provide a good development server on time
Customer did not start acceptance testing on time
26
T-76.115 Project ReviewT-76.115 Project Review
Changes to the project along the way
Small changes to requirements Natural process of refining customer needs and finding
out new requirements I1 iteration was turned into prototyping and
architecture implementation Customer testing period had to be moved from
I2 to FD due to busy customer schedule Watchdog and Hourlogger features kept
surprisingly well considering the difficulties in the project
LogAnalyzer was not finished This decision was made very late in the project
27
T-76.115 Project ReviewT-76.115 Project Review
Questions?