Tik-76.115 Project Plan

Whatamess

Last Updated Oct 16 12:10 2000.

Abstract

This document is the Project Plan of Whatamess, which is a project conducted in the Tik-76.115 Software Project course at Helsinki University of Technology during the 2000-2001 semester. Whatamess consists of a Project Team of seven students and three people from Andersen Consulting, who represent the customer of the project.

The aim of the Project is to design and implement a test automation solution for wireless application testing. The end product will be used by Andersen Consulting, Helsinki Internet Centre of Excellence (HICE) in their wireless application development projects.

This document describes the project in detail. It introduces the business case for the project, the project team and other stakeholders and the goals of the project. The project is split into phases according to the USDP (Unified Software Development Process). Each phase is broken down into individual tasks and they are assigned resources. A phase ends in a review session, for which the project outputs certain documents and/or prototypes. These are described in the mailstone specifications.

Table of Contents

1. Introduction
2. Terms and Specifications
3. Background
4. Project Organization
5. Project Goals
6. Project Tools and Procedures
7. Project Breakdown, Phases and Resourcing
8. Reporting and Project Management
9. Risk Management Plan
10. Training Plan
11. Installment Plan

1. Introduction

1.1 Scope of the Project

The project will produce a test automation solution for testing wireless applications. The solution is capable of testing any textual content carried over HTTP-protocol and is used for regression and load testing.

1.2 Product and Platform

The end product will be a toolkit capable of: The solution will be implemented with Java and will run on WinNT workstations. All relevant test data such as test scripts and test cases will be produced with XML.

1.3 Rights for the Project

Andersen Consulting will reserve the right to use and develop the project's end product internally and non-commercially. The project team will reserve all rights to the project's end product. The project team can develop, produce, sell and distribute the product as they wish after the project has ended.

2. Terms and Specifications

2.1 Common terms

HICE Helsinki Internet Centre of Excellence
HTTP HyperText Transfer Protocol
UML Unified Modeling Language
USDP Unified Software Development Process
WAP Wireless Application Protocol
WBS Work Breakdown Structure
XML Extensible Markup Language

2.2 Terminology of This Document

Course Helsinki University of Technology, Tik-76.115 Software Project
Customer Andersen Consulting, contact: Mika Saastamoinen
Product The end result of "Project" i.e. Software and corresponding documents
Project The project "Whatamess" conducted within "Course" for "Customer"
Whatamess WAP Hierarchical Application Test AutoMation Extensible Scalable Solution

3. Background

3.1 Motivation for the Project

One of the fastest growing concerns in modern software projects is the timeliness of a project. Time to market in modern businesses is often pivotal in determining success from failure. Software design and implementation can be optimized and planned to achieve better code with smaller effort, but an even more critical aspect of software engineering is the effort spent in testing and verification. Software testing is often overlooked and left to the last phases of a project, which usually leads to buggy and untested software. Test automation is a tool which aims to cut the time spent testing the software and also increase the overall quality of the product.[1]

3.2 Customer's Current Solution

Andersen Consulting has been involved in projects developing many wireless applications. So far, all of the application testing has been done manually either with a WAP application toolkit or actual WAP enabled phones. This is very time consuming and expensive. Additionally, manually conducted tests are more susceptable to random errors and mistakes. A test automation solution is needed to increase the effectiveness of testing and decrease the time and effort needed for testing.

4. Project Organization

The Project organization is aimed to be as simple as possible, with much of the responsibility distributed among all team members. We have identified a role for each team member and attached certain responsibilities with them. These can be found in table 1.
 
Role Responsibilities
Project Manager
  • Overall project management 
  • Project Plan
  • Programming & testing
Communications Manager
  • WWW-pages, email and development infrastructure
  • Programming & testing
Software Design Manager
  • Software architecture of different system modules
  • Module Specification 
  • Programming & testing
System Design Manager
  • System requirements and design
  • Requirement Specification 
  • Programming & testing
Module Design Manager
  • System functionality and architecture
  • Functional Specification 
  • Programming & testing
System Verification Manager
  • System verification and test process
  • Test Plan
  • Programming & testing
Quality Manager
  • Overall project quality, documentation and coding conventions
  • Programming & testing
Table 1. Roles and responsibilities of the Project

4.1 Project Team

Project WWW-pages: http://www.hut.fi/~apniemi/whatamess
Project E-mail: whatamess@techemail.com
Team Members:
 
Role: Project Manager
Name: Aki Niemi (ANi)
Phone: +358-400 959109
E-mail: apniemi@cc.hut.fi
WWW: http://www.hut.fi/~apniemi

 
Role: Communications Manager
Name: Timo Friman (TFr)
Phone: +358-40 7369970
E-mail: tfriman@cc.hut.fi
WWW: http://www.hut.fi/~tfriman

 
Role: Software Design Manager
Name: Jukka Lindström (JLi)
Phone: +358-40 8232623
E-mail: jtlindst@cc.hut.fi
WWW: http://www.hut.fi/~jtlindst

 
Role: System Design Manager
Name: Juha Ristimäki (JRi)
Phone: +358-40 5909005
E-mail: jtristim@cc.hut.fi
WWW: http://www.hut.fi/~jtristim

 
Role: Module Design Manager
Name: Juha Torkkel (JTo)
Phone: +358-50 5224774
E-mail: jtorkkel@cc.hut.fi
WWW: N/A

 
Role: System Verification Manager
Name: Jukka Pirinen (JPi)
Phone: +358-50 5604654
E-mail: jpirinen@cc.hut.fi
WWW: http://www.hut.fi/~jpirinen

 
Role: Quality Manager
Name: Ville Viskari (VVi)
Phone: +358-40 7444878
E-mail: vviskari@cc.hut.fi
WWW: N/A

4.2 Project Stakeholders

The customer of the project is Andersen Consulting HICE unit. The following personnel are involved with the project:
Role: Customer
Title: Manager
Name: Mika Saastamoinen
Phone: +358-40 7725 632
E-mail: mika.saastamoinen@ac.com

 
Role: Tutor
Title: Consultant
Name: Leila Lainio
Phone: +358-40 7725 770
E-mail: leila.lainio@ac.com

 
Role: Tutor
Title: Consultant
Name: Mikael Honkala
Phone: +358-40 7725 461
E-mail: mikael.honkala@ac.com

5. Project Goals

5.1 Project Team Goals

The primary goal for the Project Team is to design and implement a Product for the Customer which is of good quality. With good quality we mean that the Product conforms with or exceeds the customers needs and expressed requirements for the Project.

Secondary goals include:

5.2 Customer Goals

Goal of the Project from the Customer's point of view is to get a toolkit for WAP application test automation. The requirements for the toolkit are specified in the Requirement Specification and the Customer expects that the delivered software is tested, documented and functional. As a secondary goal, the Project acts as a possible recruitment channel for the Customer.

5.3 Overall Goals

Meeting all of the combined goals expressed by the Course, the Project Team and the Customer, is the primary goal for the Project. The Project is expected to progress according to this Project Plan and start and end in an organized manner, as is explained in the next two chapters.

5.4 Criteria for Project Termination

The Project can be terminated prematurely, if both the Customer and the Project Team feel there is sufficient cause. Possible criteria for terminating the project include: Termination of the project must be negotiated thoroughly with all project stakeholders, including the Course personnel.

5.5 Criteria for Project Conclusion

The Project ends in May 2001 with the final review session organized by the Course. The Customer is supplied with the final release of the Product as described in chapter 7.2. The software installment and customer training will be conducted according to chapters 10.2 and 11.

6. Project Tools and Procedures

6.1 Implementation

The following tools are used in the implementation:

6.2 Testing

The testing in this Project is divided into two phases, integration testing and system testing. Integration Test Specification is based on Module Specifications, and System Test Specification is based on Functional Specification. This corresponds loosely to the V-model of software development [1, 3].

Test Specifications are written in parallel to the design specifications and are based on those documents directly. As soon as modules are produced in implementation, Integration Testing is started. System Tests are executed as modules are combined together. These issues are addressed in the Test Plan.

7. Project Breakdown, Phases and Resourcing

7.1 Overview of the Project

By default, the project follows the structure of USDP. These conceptual divisions of a project's effort are: The tasks that are performed during these different phases of the USDP process are: In this project, there are a total of six phases, which are discussed in the next chapter.

7.2 Project Phases

The Project is split into six phases, each corresponding to one of seven milestones. A milestone serves as the conclusion of a project phase. The milestones are described as:

7.3 Overall Resource Allocation

Overall, the Project is calculated to have a budget of 1400 effective manhours. This is determined by the formula:
 
Cu * n * Tf = Tt
where Cu = 5 is the amount of credit units offered by the Course; n = 7 is the number of people in the Project Team; and Tf = 40 is the amount of effective work each credit unit represents. The project runs from September 2000 to May 2001. Table 2 shows the total allocation of hours for each project phase.
 
  ANi TFr JLi JTo JRi JPi VVi SUM
PS 53 29 25 25 45 21 21 219
T1 27 32 50 50 25 38 38 260
T2 30 30 36 36 20 30 40 222
T3 30 40 30 29 40 36 30 235
T4 30 39 30 30 40 40 33 242
LU 30 30 29 30 30 35 38 222
SUM 200 200 200 200 200 200 200 1400
Table 2. Project Resources

At the cost of 250FIM/h, the total resource cost of the Project totals 350kFIM. Table 3 describes the exact figures and the distribution of cost per Project phase.
 

ID Task Name Days Cost/FIM Work/h
1 PROJEKTIN SUUNNITTELU (PS) 18  54 750 219
26 TOTEUTUS 1 (T1) 28  65 000 260
65 TOTEUTUS 2 (T2) 25  55 500 222
85 TOTEUTUS 3 (T3) 45  58 750 235
106 TOTEUTUS 4 (T4) 25  60 500 242
126 LUOVUTUS (LU) 25  55 500 222
  TOTAL 166  350 000 1400
Table 3. Overall Cost per Phase

7.4 WBS for PS

A WBS of the project phase PS is shown in table 4. It shows the scheduled tasks for the phase as well as the allocated resources for each task.
 
ID Task Name Work Duration
1 PROJEKTIN SUUNNITTELU (PS) 219 hrs 18 days
2 PS: Luennot 56 hrs 11 days
2 Timo Friman 8 hrs  
3 Juha Ristimäki 8 hrs  
4 Juha Torkkel 8 hrs  
5 Jukka Lindström 8 hrs  
6 Jukka Pirinen 8 hrs  
7 Ville Viskari 8 hrs  
1 Aki Niemi 8 hrs  
3 PS: Ryhmäpalaverit 42 hrs 11 days
1 Aki Niemi 6 hrs  
2 Timo Friman 6 hrs  
3 Juha Ristimäki 6 hrs  
4 Juha Torkkel 6 hrs  
5 Jukka Lindström 6 hrs  
6 Jukka Pirinen 6 hrs  
7 Ville Viskari 6 hrs  
4 PS: Asiakaspalaverit 44 hrs 9 days
2 Timo Friman 4 hrs  
3 Juha Ristimäki 8 hrs  
4 Juha Torkkel 8 hrs  
5 Jukka Lindström 8 hrs  
6 Jukka Pirinen 4 hrs  
7 Ville Viskari 4 hrs  
1 Aki Niemi 8 hrs  
5 PS: Projektin organisointi 4 hrs 10 days
1 Aki Niemi 4 hrs  
6 PS: Raportointityökalujen käyttöönotto ja tiedotus 2 hrs 3 days
2 Timo Friman 2 hrs  
7 PS: Opinnot 10 hrs 15 days
8 PS: OP: MS-Project training 2 hrs 1 day
1 Aki Niemi 2 hrs  
9 PS: Testisunnitelman ja laatukäsikirjan valmistelu 4 hrs 15 days
7 Ville Viskari 2 hrs  
6 Jukka Pirinen 2 hrs  
10 PS: OP: Prestudy: XML ja www-proxy 4 hrs 15 days
4 Juha Torkkel 2 hrs  
5 Jukka Lindström 2 hrs  
11 PS: Järjestelmän toimintojen ja vaatimusten määrittely 16 hrs 15 days
12 PS: VAAT: Asiakkaan tarpeiden kartoitus 4 hrs 9 days
3 Juha Ristimäki 4 hrs  
13 PS: VAAT: Vaatimusten identifiointi ja priorisointi 4 hrs 4 days
3 Juha Ristimäki 4 hrs  
14 PS: VAAT: Vaatimusmäärittelyn kirjoittaminen 8 hrs 15 days
3 Juha Ristimäki 8 hrs  
15 PS: Projektin suunnittelu 18 hrs 15 days
16 PS: SUUN: Projektin tavoitteiden määrittely 2 hrs 11 days
3 Juha Ristimäki 2 hrs  
17 PS: SUUN: Projektin riskien määritys 4 hrs 11 days
1 Aki Niemi 4 hrs  
18 PS: SUUN: Projektin ositus ja resurssointi 4 hrs 7 days
1 Aki Niemi 4 hrs  
19 PS: SUUN: Projektisuunnitelman kirjoittaminen 8 hrs 4 days
1 Aki Niemi 8 hrs  
20 PS: Seuraavan vaiheen tarkka suunnittelu 4 hrs 2 days
1 Aki Niemi 4 hrs  
21 PS: Edistymisraportin kirjoittaminen 2 hrs 2 days
1 Aki Niemi 2 hrs  
22 PS: Projektisuunnitelman esittelyn valmistelu 4 hrs 2 days
1 Aki Niemi 2 hrs  
3 Juha Ristimäki 2 hrs  
23 PS: Projektisuunnitelman esittely 7 hrs 0.5 days
1 Aki Niemi 1 hr  
2 Timo Friman 1 hr  
3 Juha Ristimäki 1 hr  
4 Juha Torkkel 1 hr  
5 Jukka Lindström 1 hr  
6 Jukka Pirinen 1 hr  
7 Ville Viskari 1 hr  
24 PS: WWW-sivujen ja sähköpostin luonti, sekä dedikoidun koneen anomus 8 hrs 1.33 days
2 Timo Friman 8 hrs  
25 PS: Opponointi 2 hrs 1 day
3 Juha Ristimäki 2 hrs  
  TOTAL 219hrs
Table 4. WBS for Phase PS

7.5 WBS for T1

A WBS of the project phase T1 is shown in table 5. It shows the scheduled tasks for the phase as well as the allocated resources for each task.
 
ID Task Name Work Duration
26 TOTEUTUS 1 (T1) 260 hrs 28 days
27 T1: Luennot 42 hrs 16 days
1 Aki Niemi 6 hrs  
2 Timo Friman 6 hrs  
3 Juha Ristimäki 6 hrs  
4 Juha Torkkel 6 hrs  
5 Jukka Lindström 6 hrs  
6 Jukka Pirinen 6 hrs  
7 Ville Viskari 6 hrs  
28 T1: Opinnot 6 hrs 5 days
29 T1: OP: Rational Rose-koulutus 2 hrs 0.25 days
5 Jukka Lindström 2 hrs  
30 T1: OP: XML-opiskelua 4 hrs 5 days
5 Jukka Lindström 4 hrs  
31 T1: Ryhmäpalaverit 56 hrs 13 days
1 Aki Niemi 8 hrs  
2 Timo Friman 8 hrs  
3 Juha Ristimäki 8 hrs  
4 Juha Torkkel 8 hrs  
5 Jukka Lindström 8 hrs  
6 Jukka Pirinen 8 hrs  
7 Ville Viskari 8 hrs  
32 T1: Asiakaspalaverit 14 hrs 11 days
1 Aki Niemi 2 hrs  
2 Timo Friman 2 hrs  
3 Juha Ristimäki 2 hrs  
4 Juha Torkkel 2 hrs  
5 Jukka Lindström 2 hrs  
6 Jukka Pirinen 2 hrs  
7 Ville Viskari 2 hrs  
33 T1: Laatukäsikirjan kirjoitus 6 hrs 4.69 days
7 Ville Viskari 3 hrs  
6 Jukka Pirinen 3 hrs  
34 T1: Toiminnallinen määrittely 24 hrs 7 days
35 T1: TOIM:MÄÄR: Recorderin toiminnallinen määrittely  12 hrs 7 days
36 T1: TOIM.MÄÄR: Käyttöliittymä 4 hrs 7 days
4 Juha Torkkel 4 hrs  
37 T1: TOIM.MÄÄR: Viestien luku ja uudellenlähetys 4 hrs 7 days
4 Juha Torkkel 4 hrs  
38 T1: TOIM.MÄÄR: Request/Response parin tallettaminen 4 hrs 7 days
4 Juha Torkkel 4 hrs  
39 T1: TOIM:MÄÄR: Playerin toiminnallinen määrittely 12 hrs 7 days
40 T1: TOIM.MÄÄR: Käyttöliittymä 4 hrs 7 days
4 Juha Torkkel 4 hrs  
41 T1: TOIM.MÄÄR: Viestien luku/lähetys 4 hrs 7 days
4 Juha Torkkel 4 hrs  
42 T1: TOIM.MÄÄR: Test Case-dokumentin luku/kirjoitus 4 hrs 7 days
4 Juha Torkkel 4 hrs  
43 T1: TOIM.MÄÄR: Toiminnallisen määrittelyn kirjoitus 7 hrs 7 days
4 Juha Torkkel 7 hrs  
44 T1: Järjestelmän suunnittelu 25 hrs 6 days
45 T1: JÄRJ.SUUN: XML-dokumenttipohjien luonti 5 hrs 6 days
5 Jukka Lindström 5 hrs  
46 T1: JÄRJ.SUUN: Socket-rajapinta 3 hrs 6 days
5 Jukka Lindström 3 hrs  
47 T1: JÄRJ.SUUN: HTTP-parseri ja tietoraketeet 5 hrs 6 days
5 Jukka Lindström 5 hrs  
48 T1: JÄRJ.SUUN: Moniajo 5 hrs 6 days
5 Jukka Lindström 5 hrs  
49 T1: JÄRJ.SUUN:Teknisen määrittelyn kirjoittaminen 7 hrs 6 days
5 Jukka Lindström 7 hrs  
50 T1: Koodaus 28 hrs 13 days
51 T1: KOOD: Throwaway proto Recorderista 10 hrs 7 days
7 Ville Viskari 10 hrs  
52 T1: KOOD: Toimiva prototyyppi Recorderista 18 hrs 4.5 days
3 Juha Ristimäki 6 hrs  
7 Ville Viskari 6 hrs  
2 Timo Friman 6 hrs  
53 T1: Testaus 19 hrs 26 days
54 T1: TEST: Testaussuunnitelman kirjoitus 10 hrs 13 days
55 T1: TEST: Toiminnallinen testaussuunnitelma 5 hrs 7 days
6 Jukka Pirinen 5 hrs  
56 T1: TEST: Moduulitestaussuunitelma 5 hrs 6 days
6 Jukka Pirinen 5 hrs  
57 T1: TEST: Recorderin toiminnallinen testaus 6 hrs 6 days
6 Jukka Pirinen 3 hrs  
2 Timo Friman 3 hrs  
58 T1: TEST: Testausraportin kirjoittaminen 3 hrs 13 days
6 Jukka Pirinen 3 hrs  
59 T1: Dedikoidun koneen asennus 6 hrs 6 days
2 Timo Friman 6 hrs  
60 T1: Vanhojen dokumenttien päivitys 4 hrs 13 days
1 Aki Niemi 2 hrs  
3 Juha Ristimäki 2 hrs  
61 T1: Seuraavan vaiheen tarkka suunnittelu 4 hrs 13 days
1 Aki Niemi 4 hrs  
62 T1: Edistymisraportin kirjoittaminen 2 hrs 13 days
1 Aki Niemi 2 hrs  
63 T1: Katselmuksen valmistelu 10 hrs 4 days
4 Juha Torkkel 2 hrs  
5 Jukka Lindström 2 hrs  
6 Jukka Pirinen 2 hrs  
7 Ville Viskari 2 hrs  
1 Aki Niemi 2 hrs  
64 T1: Katselmus 7 hrs 1 day
1 Aki Niemi 1 hr  
2 Timo Friman 1 hr  
3 Juha Ristimäki 1 hr  
4 Juha Torkkel 1 hr  
5 Jukka Lindström 1 hr  
6 Jukka Pirinen 1 hr  
7 Ville Viskari 1 hr  
  TOTAL 260hrs
Table 5.WBS for Phase T1.

8. Reporting and Project Management

8.1 Internal Communication

Main communication channel for the Project Team is e-mail. E-mail is sent to a Project Team internal mailing list. A tag in the subject header for the e-mail is used for priority. This tag is defined as:
tag = { [low] | [neutral] | [high] }

8.2 External Communication

Main communication channel with the Customer is e-mail. A weekly report on open issues, progress and project status is sent to the Customer every Friday. Tutors are contacted on pressing issues by e-mail.

8.3 Meetings

Project team meetings are held weekly, or if necessary more often. Customer meetings are held weekly on phase PS of the project and once every three weeks after that. Project manager is responsible for informing all parties well in advance of coming meetings and reviews.

8.4 Reporting

The Project will use all the reporting tools defined by the Course. Each Project Team member is resbonsible for their own reporting. It is recommended that each member report weekly.

9. Risk Management Plan

This chapter introduces the Risk Management Plan for the Project. Risks for the Project are listed in table 6.according to their severity.
 
# Risk ID Risk Description Resp. How to manage Prob. Sever. Score Prev. Change
1 ADMIN Unrealistic time and cost 
estimates
ANi Incremental development of the project; learning from past phases of the project 7 6 42 42 NEW
2 ADMIN Personnel shortfalls, i.e. busy with school or work All Team members must organize their work well; early scheduling; load balancing 6 6 36 36 NEW
3 FUNC Developing wrong SW functionality All Prototyping; early user manuals; customer involvement 5 5 25 25 NEW
4 FUNC Testing doesnt find bugs JPi, ANi Test cases based directly on design specs; test process; more testing 3 6 18 18 NEW
5 TECH Development technically too difficult All Prototyping; team training; technical analysis 2 8 16 16 NEW
6 FUNC Requirement specifications wrong or change at last stages JRi, All Stringent change control policy; incremental development; prototyping 3 5 15 15 NEW
7 ADMIN Customer too busy to keep track of project ANi Communication; status and progress reports; prototyping 3 4 12 12 NEW
8 FUNC Development of SW with major bugs or design flaws All Prototyping; integration testing; stressing thorough design principles 1 10 10 10 NEW
9 ADMIN Communication between team members deteriorates ANi More meetings; news groups; chats; team activities; vacation 1 5 5 5 NEW
Table 6. Identified risks for the Project

ADMIN = Administrative
FUNC = Functional
TECH = Technology related

10. Training Plan

10.1 Project Group Internal Training

Currently no special training is planned for the Project Team.

10.2 Customer Training Plan

On releasing the final customer release, the Customer is trained to use the software. The Customer will assign the person(s) who will take part in a training session on the Customer's premises. Trainers from the Project Team, as well as the exact date and content of the session will be selected at a later time.

11. Installment Plan

The Product will be delivered to the Customer on a convenient format (CD-ROM, WWW). The software will be delivered with an install-script and/or detailed description of the installment process. The Customer is trained to use the Product as described in chapter 10.2, and will be provided with e-mail support from the Project Team.

References

[1] Fewster, M., Graham, D., Software Test Automation, Addison-Wesley, 1999.
[2] Haikala, I., Märijärvi, J., Ohjelmistotuotanto, 6. painos, Suomen Atk-kustannus, 1998.
[3] Hughes, B., Cotterell, M., Software Project Management, 2nd edition, McGraw-Hill, 1999.
 

Appendix

CVS home page
Whatamess project web-pages
Andersen Consulting web-pages
Course web-pages