Title: T76'4115 Iteration Demo
1T-76.4115 Iteration Demo
2Agenda
- Project status (20 min)
- Achieving the goals of the iteration
- Project metrics
- Realization of tasks
- Resource usage
- Work results (15 min)
- Project plan
- Requirements
- Draft of architectural design
- Used work practices (10 min)
3Introduction to the project
- Business simulation games are used in educational
purposes - Some evidence of the learning results is needed
- Project topic Learning Assessment Tool
- For business simulations
- Primary goals of the learning assessment tool
project are the following - To extract and store key performance data from
the game system on an ongoing basis - To generate reports that compare the performance
of a team or a group to the average performance
or set performance targets in the game - To generate reports that compare the performance
of a team or a group to their performance in the
previous rounds of the game - To provide what-if analysis to the players, e.g.
"What would have been the bottom line effect of
raising the price of my product by 1 on round
3?"
4Status of the iterations goals
- Goal 1 Project planning
- OK in general. Technical design MOVED LATER,
because meetings with the customer were so late. - Goal 2 Understanding the domain (and getting to
know the game) - OK
- Goal 3 Requirements specification on general
level including most important functional
requirements and use cases - Requirements elicitation OK.
- Requirements analysis, OK, except use-cases MOVED
LATER. - Managing changes in requirements OK, changes will
be documented in the requirements document and in
agilefant backlog management tool. - Goal 4 Creating prototypes to understand
technologies - MOVED LATER, because all the technologies used in
development are not selected yet
5Status of the iterations goals
- Goal 5 Defining roles and responsibilities
- OK
- Goal 6 Selecting working methods and tools
- OK. Some development tools may be selected later
- Goal 7 Preparing for the development work
(building infrastructure, studying) - NOT OK. Building infrastructure was delayed
because the team server was not available. We
also thought we had a wrong WikiSysop password
and thats why the wiki is not very well
organized yet. - Goal 8 AgileFant installation and introduction
- Installation OK. Introduction MOVED LATER, this
week? - Goal 9 Risk analysis
- OK
6Status of the iterations deliverables
- Project plan
- OK, except chapters 6.3 and 6.4, because the
later iterations are not planned yet - Requirements document
- OK, Business goals, main domain concepts, user
groups and all the important functional,
non-functional requirements and contstraints have
been collected and documented. Functional
requirements are divided into three groups.
Use-cases will be done later. - SEPA diaries
- OK, except chapter 3, it will be added later when
there are some experiences of SEPA methods
7Realization of the tasks (1)
- 27 planned tasks
- 34 at the end of iteration
- 6 new tasks
- PM013 Meetings preparation
- PM014 Reviewing project plan
- PM015 Writing PP iteration plan
- Separated from PM007 Writing project plan
- RE004 Reviewing requirements document
- ST007 SEPA Heuristic evaluation
- ST008 SEPA Pair programming
- Risk management split in two tasks
- PM011 Risk identification
- PM016 Risk analysis
unplanned task ( a new task added during the
iteration)
8Realization of the tasks (2)
(A sample table)
9Realization of the tasks (3)
10Realization of the tasks (4)
- All hour reports not received yet
- Differences planned realized (shoud be r p,
fixed later) - It seems like the corresponding tasks were not
always found from the time tracking system - Group meetings include all kinds of meetings
among the group members - Some other tasks were carried out in the meetings
(for example risk identification), but the time
is still reported as group meetings time
11Realization of the tasks (5)
- Interesting discrepancies
- PM002 Internal communication 16
- Did not realize that reading e-mail would also
take time! - PM004 Communicating with customer -4
- Quite low?
- PM006 Defining project goals 6,5
- Reported somewhere else
- PM012 Specifying tasks -8
- No-one else than PM did?
- Other major discrepancies are caused by
unfinished tasks - Architecture is still to be planned and technical
solutions designed - No time reports of requirements engineering
- Infrastructure is not ready, because
- We dont have the server yet
- We thought we had a wrong WikiSysop password
12Resource usage
Original plan (in the beginning of the iteration)
Realization and updated plan (22.10. To be
updated later!)
(realized hours and updates)
13Resource usage explanations
- The PP iteration plan was done quite in a hurry
and so were the estimations - We forgot to estimate hours for I1 and I2!
- Although the architect thought in the project
planning phase that he was allocating hours for
I1 - No persons responsible declared for tasks!
14Risks
- Materialized risks
- 2. A member is unexpectedly unavailable (for
example a member becomes ill) - 3. Lack of skill, knowledge or expertice
- 9. SoberIT server is down
- 10. Unequally divided work
- 11. Inadequate commitment to the project due to
other than project activities (full day jobs,
other studying)
15Results of the iteration
- Major deliverables of the iteration
- Project plan
- Requirements
- And
- System architecture designed this far
16Project plan - stakeholders
- Stakeholders and staffing
- The project group Iteration X
Other stakeholders
17Project plan - stakeholders
- Stakeholders and staffing organizational chart
18Project plan project goals
- Project goals (discuss most important goals and
verification criteria) - 1. Code quality and documentation
- Code quality 1) Unit test reviews and code
reviews. 2) Test coverage. - Code documentation Javadocs
- Arhitectural documentation Reviewed with the
customer - 2. Functionality
- Functionality Reviewed with the customer
- Performance Will be measured using J-Meter
- Limitations Functionality and performance tests
- 3. Production Use
- Data Collection Augmented after the first
iteration - Analysis Functionality and performance in
production use is reviewed with the customer - 4. User Documentation
- Content Reviewed with the customer
- Integration Incorporating user documentation to
Cesim's standard documentation build process
19Project plan project practiced and tools
- Some important practices and tools
- Weekly meetings
- Weekly reports
- WR Time tracker for time tracking
- Estimations on how much time is left for
completing backlog items will be tracked with
Agilefant
20Project plan phasing
- PROJECT PLANNING (25.9. - 24.10.2007)
- IMPLEMENTATION 1 (25.10. - 12.12.2007)
- Sprint 1 (25.10. - 15.11.2007)
- Design core architecture
- Basic implementation tasks
- Sprint 2 (16.11. - 6.12.2007)
- After 2nd sprint the most important architectural
solutions are implemented as well as the most
common use cases. - Sprint 3 (7.12.2007 - 14.1.2008)
- Refactoring the code, planning and performing
tests. Enjoying the Christmas vacation. - IMPLEMENTATION 2 (15.1. - 5.3.2008)
- Sprint 4 (15.1. - 5.2.2008)
- Implementing additional functional requirements.
- Sprint 5 (6.2. - 26.2.2008)
- Last changes are made and the software is ready
20.2. Peer testing. - Sprint 6 (27.2. - 5.3.2008)
- Documenting and presenting the final product to
the customer and mentor.
21Requirements
22Requirements
- Functional goals
- Implementing statistics, analysis and learning
assessment of results, decisions and selected
aggregates - Implementing what-if analysis
- Implementing alternative sets of calculation
features - Non-functional goals
- System needs to be fast, it must support enough
concurrent users and all features must be
available with one login - Constraints
- Http-protocol, only acceptable plugin is
Macromedia Flash, Resin web-server, PostqreSQL 7
8 Support, CentOS linux support, Java 5, HTML
4.10 strict
23Architechture overview
- Based on modules, to keep data management and
userview separate - A WebService backend for loading procedure
- Customers original project will be extended to
support extracting data through WS. - MVC based frontend to show the results
- All data handling will be done with persistence
- All SQL/XML handling is done using POJOs
- Results might change with time
- Queries have to be configureable
- New parameters can be indexed from original data
- Original data is saved in the database as objects
24Architechture overview
25Coding conventions
- Based on Javas general conventions
- Why recreate something that works?
- Extended to suit our preferences
- Extensions
- Exception handling
- Catch only whats necessary, not more
- Test driven development
- JUnit is used with every module
- Improves documentation
- Commenting
- Javadoc is used with every method
- Comments inside the method, where necessary
- Logging
- Internals of the system are logged
- Using different levels, debug, info and error
- Good Object-Oriented coding
- Small interference with insides of other objects
- Functional cohesion and message coupling, if
possible
26Used work practices (updated on 23.10.)
- How have you been using the planned work
practices, what are the experiences of - mandatory practices time reporting, version
control, - any other practices
- Are you going to
- adopt some new practices
- change the use of the current practices
- stop using some adopted practices