Okay, you've read the chapter title, and you're thinking, "What's a chapter on project planning doing in a technical architect's handbook?" But remember, part of the technical architect's role is to give the project manager information on construction tasks, the order in which they should be completed, and what dependencies exist. And these days, J2EE architects are often called on to fill the project management role.
This chapter develops and adds detail to the high-level requirements described in chapter 3. After completing use-case analysis and object and data modeling, you should have enough information for a more detailed plan. My project plans typically have the following types of activities:
Use-case analysis
Object modeling
Data modeling
Data migration/conversion activities
Coding and unit testing
System testing
User acceptance testing
Deployment activities
Many of these categories can be divided into lower-level tasks. For example, you could break down use-case analysis into major subject areas of the application. Typically, I divide coding and unit-testing activities into major classes, with one or two people assigned to each.
Figure 9.1 shows a task list from the ProjectTrak application we've been using in the "Architect's Exercise" sections.
|
Tasks |
||||||
|---|---|---|---|---|---|---|
|
ID |
Task Name |
Duration |
Start |
Finish |
Resource Names |
% Complete |
|
1 |
Use case analysis |
1 day? |
Thu 6/26/03 |
Thu 6/26/03 |
0% |
|
|
2 |
Design Activities |
24.5 days |
Thu 6/26/03 |
Wed 7/30/03 |
0% |
|
|
3 |
Screen design and prototype |
16 hrs |
Mon 7/28/03 |
Wed 7/30/03 |
Derek Ashmore |
0% |
|
4 |
Object Modeling |
4 days |
Thu 6/26/03 |
Tue 7/1/03 |
0% |
|
|
5 |
Base functionality |
16 hrs |
Thu 6/26/03 |
Fri 6/27/03 |
Derek Ashmore |
0% |
|
6 |
Skill set tracking capability |
8 hrs |
Mon 6/30/03 |
Mon 6/30/03 |
Derek Ashmore |
0% |
|
7 |
Baseline capability |
8 hrs |
Tue 7/1/03 |
Tue 7/1/03 |
Derek Ashmore |
0% |
|
8 |
Data Modeling |
4 days |
Tue 7/22/03 |
Fri 7/25/03 |
0% |
|
|
9 |
Base functionality |
16 hrs |
Tue 7/22/03 |
Wed 7/23/03 |
Derek Ashmore |
0% |
|
10 |
Skill set tracking capability |
8 hrs |
Thu 7/24/03 |
Thu 7/24/03 |
Derek Ashmore |
0% |
|
11 |
Baseline capability |
8 hrs |
Fri 7/25/03 |
Fri 7/25/03 |
Derek Ashmore |
0% |
|
12 |
Physical database design |
4 hrs |
Mon 7/28/03 |
Mon 7/28/03 |
Derek Ashmore |
0% |
|
13 |
Coding |
46.75 days |
Wed 7/2/03 |
Thu 9/4/03 |
0% |
|
|
14 |
VO Objects |
30 days |
Wed 7/2/03 |
Tue 8/12/03 |
0% |
|
|
15 |
BaselineVO |
2 hrs |
Wed 7/9/03 |
Wed 7/9/03 |
Developer 1 |
0% |
|
16 |
ProjectVO |
2 hrs |
Wed 7/2/03 |
Wed 7/2/03 |
Developer 1 |
0% |
|
17 |
ProjectTaskVO |
2 hrs |
Wed 7/9/03 |
Wed 7/9/03 |
Developer 1 |
0% |
|
18 |
ProjectTaskWith ProjectionVO |
2 hrs |
Tue 8/12/03 |
Tue 8/12/03 |
Developer 1 |
0% |
|
19 |
ResourceVO |
2 hrs |
Tue 7/8/03 |
Tue 7/8/03 |
Developer2 |
0% |
|
20 |
SkillsetVO |
2 hrs |
Wed 7/2/03 |
Wed 7/2/03 |
Developer2 |
0% |
|
21 |
Data Access Layer with Test Classes |
15.5 days |
Wed 7/2/03 |
Wed 7/23/03 |
0% |
|
|
22 |
BaselineDAO |
40 hrs |
Wed 7/16/03 |
Wed 7/23/03 |
Developer 1 |
0% |
|
23 |
ProjectDAO |
40 hrs |
Wed 7/2/03 |
Wed 7/9/03 |
Developer 1 |
0% |
|
24 |
ProjectTaskDAO |
40 hrs |
Wed 7/9/03 |
Wed 7/16/03 |
Developer 1 |
0% |
|
25 |
SkillsetDAO |
32 hrs |
Wed 7/2/03 |
Tue 7/8/03 |
Developer2 |
0% |
|
26 |
ResourceDAO |
32 hrs |
Tue 7/8/03 |
Mon 7/14/03 |
Developer2 |
0% |
|
27 |
Business Logic Layer with Test Classes |
25.75 days |
Wed 7/2/03 |
Wed 8/6/03 |
0% |
|
|
28 |
ProjectBO |
80 hrs |
Wed 7/23/03 |
Wed 8/6/03 |
Developer 1 |
0% |
|
29 |
ResourceBO |
40 hrs |
Mon 7/14/03 |
Mon 7/21/03 |
Developer2 |
0% |
|
30 |
TaskScheduler BO |
80 hrs |
Wed 7/2/03 |
Tue 7/15/03 |
Derek Ashmore |
0% |
|
31 |
Deployment Layer with Client Classes |
16.25 days |
Mon 7/21/03 |
Tue 8/12/03 |
0% |
|
|
32 |
ProjectBean |
32 hrs |
Wed 8/6/03 |
Tue 8/12/03 |
Developer 1 |
0% |
|
33 |
ResourceBean |
32 hrs |
Mon 7/21/03 |
Fri 7/25/03 |
Developer2 |
0% |
|
34 |
Presentation Layer |
31.75 days |
Wed 7/16/03 |
Thu 8/28/03 |
0% |
|
|
35 |
Struts configuration |
32 hrs |
Wed 7/16/03 |
Mon 7/21/03 |
Derek Ashmore |
0% |
|
36 |
Test classes with Cactus |
40 hrs |
Thu 8/21/03 |
Thu 8/28/03 |
Derek Ashmore |
0% |
|
37 |
Action Classes |
14.25 days |
Fri 7/25/03 |
Thu 8/14/03 |
0% |
|
|
38 |
BaselineDisplay Action |
16 hrs |
Tue 8/12/03 |
Thu 8/14/03 |
0% |
|
|
39 |
BaselineSave Action |
16 hrs |
Tue 8/12/03 |
Thu 8/14/03 |
0% |
|
|
40 |
CombinedWork ScheduleDisplay Action |
16 hrs |
Tue 8/12/03 |
Thu 8/14/03 |
0% |
|
|
41 |
ProjectDisplay Action |
16 hrs |
Tue 8/12/03 |
Thu 8/14/03 |
0% |
|
|
42 |
ProjectSave Action |
16 hrs |
Tue 8/12/03 |
Thu 8/14/03 |
0% |
|
|
43 |
TaskDisplay Action |
16 hrs |
Tue 8/12/03 |
Thu 8/14/03 |
0% |
|
|
44 |
TaskSaveAction |
16 hrs |
Tue 8/12/03 |
Thu 8/14/03 |
0% |
|
45 |
WorkSchedule DisplayAction |
16 hrs |
Fri 7/25/03 |
Tue 7/29/03 |
0% |
|
|
46 |
WorkSchedule SaveAction |
16 hrs |
Fri 7/25/03 |
Tue 7/29/03 |
0% |
|
|
47 |
JSPs |
5 days |
Thu 8/14/03 |
Thu 8/21/03 |
0% |
|
|
48 |
BaselineDisplay JSP |
40 hrs |
Thu 8/14/03 |
Thu 8/21/03 |
0% |
|
|
49 |
ProjectEditDisplay JSP |
40 hrs |
Thu 8/14/03 |
Thu 8/21/03 |
0% |
|
|
50 |
ProjectWorkScheduleDisplayJSP |
40 hrs |
Thu 8/14/03 |
Thu 8/21/03 |
0% |
|
|
51 |
TaskEditDisplay JSP |
40 hrs |
Thu 8/14/03 |
Thu 8/21/03 |
0% |
|
|
52 |
WorkSchedule EditDisplayJSP |
40 hrs |
Thu 8/14/03 |
Thu 8/21/03 |
0% |
|
|
53 |
Regression Test suite |
5 days |
Thu 8/28/03 |
Thu 9/4/03 |
0% |
|
|
54 |
Code and verify test suite |
40 hrs |
Thu 8/28/03 |
Thu 9/4/03 |
Derek Ashmore |
0% |
|
55 |
System testing |
160 hrs |
Thu 8/28/03 |
Thu 9/25/03 |
0% |
|
|
56 |
User Acceptance Testing |
32 days |
Fri 9/26/03 |
Tue 11/11/03 |
0% |
|
|
57 |
Alpha support |
80 hrs |
Fri 9/26/03 |
Fri 10/10/03 |
0% |
|
|
58 |
Beta 1 support |
80 hrs |
Mon 10/13/03 |
Mon 10/27/03 |
0% |
|
|
59 |
Beta 2 support |
80 hrs |
Tue 10/28/03 |
Tue 11/11/03 |
0% |
|
|
60 |
Deployment Activities |
99.75 days |
Thu 6/26/03 |
Wed 11/12/03 |
0% |
|
|
61 |
Development environment setup |
16 hrs |
Thu 6/26/03 |
Fri 6/27/03 |
0% |
|
|
62 |
System test environment setup |
16 hrs |
Mon 6/30/03 |
Tue 7/1/03 |
0% |
|
|
63 |
Alpha release |
8 hrs |
Thu 9/25/03 |
Fri 9/26/03 |
0% |
|
|
64 |
Beta 1 release |
8 hrs |
Fri 10/10/03 |
Mon 10/13/03 |
0% |
|
|
65 |
Beta 2 release |
8 hrs |
Mon 10/27/03 |
Tue 10/28/03 |
0% |
|
|
66 |
Production release |
8 hrs |
Tue 11/11/03 |
Wed 11/12/03 |
0% |