Project Evaluation
How well the project satisfies the original functional specifications
How useful the design process was and differences we propose for the design assignment.
Test plan evaluation.
Management structure evaluation.
Comparisons of actual times taken for each part.
How we would have done it differently if it were a "real" project
and What way we could make the project less work.
Lessons learned
We as a team, communicated well and avoided any personality
conflicts which could have had a negative effect on the progress of the project.
The group was divided into two major sub-groups: design team,and documentation
team. We had much better organization in the sub-groups due to their smaller
size. Each of the subgroups were assigned specific tasks which were more
easily accomplished. Everyone stayed involoved throughout the project and
each person played a key role which helped in completing it.
One of drawbacks of how the project was done was that the customers presented
amendments
in document form, which did not seem to be an effective
way to have the changes done. It would have been a good idea to have the two groups
meet more frequently.
A major deficiency in our group was that it lacked a strong leader to ensure the
organization of the team. We should have formally appointed a person to organize
all meetings and to ensure that the members completed their assigned tasks.
In terms of coding the project, the group failed to set specific deadlines.
Our choice of MS Access as our platform was not a good idea because
our lack of experience with the language.
Satisfying the original functional specifications
The project closely resembled the specifications of the customer
requirements. However, some of the aspects of the program were not
in functional order.
The project is user friendly as the customer group had
requested. Since we used a Fourth Generation Language, the graphical design promoted
ease of use and user friendly applications.
As requested by the customers, security issues were met as well. This was
done in terms of distributing the project into three main access level
groups.
Due to poor estimation of time required to learn the Access, we were unable to
fully implement
all the features that we have laid out. We may have been wiser to cut
back on some of the requested features in order to put together a more
solid implementation with a smaller set of features.
Two of the extra features, the phone charge system and update tax system
that were added in, were not functional at the demo due to time
constraints.
The major requirements are listed below, with a description on how we
satisfied them:
Login:
The login screen matched the security measures as required by the customers.
The administration has access to all sections of the system, while kitchen and
front desk staff are restricted to their respective sections.
Kitchen:
The room service menu was present, but due to time constraints was not fully
functional. Room Service menu items could not be added or deleted for the
customer order. These functions were promised, but due to poor scheduling
techniques by our coding team, they were not finished. However in the future
version of this system, these functions will be implemented. The dynamic billing system of the room service orders will also be implemented
as promised in future a version.
Front Desk:
Reservations: The reservation system was fully operational. This consisted of
selecting a room to be reserved under all different criteria. After reserving
a room, the front desk personnel could then enter the customers information for
checking-in purposes.
Group reservations did not work though, we had set aside a field for this purpose,
but due to time constraints and poor orgranization, this could not be implemented.
Messages: This part of the front desk system worked properly. The front
desk personnel could select a room number and leave a message for the customer
whose name the room is registered under.
Viewing the message also worked with compliance to the customers requirements.
A message could be seen after selecting the room number of the customer.
Administration:
Kithen:
Adding Menu Items: This part of the system gave access to the administrator
to add any new items to the room service menu, along with the price of the item.
Deleting Menu Items: This part of the system gave access to the administrator
to delete any item currently on the room service menu.
Editting Menu Items: This part of the system gave access to the administrator
to edit any item currently on the room service menu, along with the price
of the item.
Edit Tax: This function allows the administrator to edit the different
taxes available on the system. This function was an extra feature suggested by
the supplier group.
The preceeding sections of the administrator functions were not implemented due
to time constraints.
Front Desk:
Adding Rooms: This part of the system gave access to the administrator
to add a new room to the hotel, along with the price, and category of the room.
Deleting Menu Items: This part of the system gave access to the administrator
to delete any room currently in the hotel.
Editting Menu Items: This part of the system gave access to the administrator
to edit any room that is currently in the hotel. The category, and price
of the room can be altered.
Edit Tax: This function allows the administrator to edit the different
taxes available on the system. This function was an extra feature suggested by
the supplier group.
The preceeding sections of the administrator functions were not implemented due
to time constraints.
Administrator:
Adding an Employee: This part of the system gave access to the administrator
to add a new employee to the hotel in any department.
This administrator function was fully operational.
Deleting an Employee: This part of the system gave access to the administrator
to delete any employee currently working for the hotel in any department.
Editting an Employee: This part of the system gave access to the administrator
to edit any employee currently working for the hotel. The department, name of employee,
or password could also be changed by the administrator.
These functions could not be implemented for the prototyped system.
How useful the design process was and differences we propose for the design
assignment
More demonstrations between customer and supplier groups were needed.
Due to other major obligations, meeting times were hard to plan. Since all
group members were students enrolled in other courses and having
different schedules, it was hard to organize mutual meeting
times.
The design process was useful in laying out the orginal
requirements. It gave us a basis to recognize the functional
specifications laid out by the customers.
Our team ended up spending too much time on writing up the design
of the system because of the strict requirements on the amount of pages that had
to be done for each document.
For the next design assignment I would suggest some changes to promote
more of the spirit of the SEI guidelines. I would take old projects and store
them on the web, along with the evaluations of the projects. These
can serve as a Database for new projects in future years, and could be
invaluable for future groups. In addition, I would suggest that some metric
evaluation of our projects should be mandatory, and this should also be stored
in databases for future use
The Design process was in general good, however I feel that some of the
tenants taught in this course could not be followed do to the limitations of
this project. For one, as was mentioned by the Visiting Speaker from MOTOROLA
University, small projects do not need thousands of pages of documentation,
I feel that these projects are over documented, and more time spent on actual
programming would greatly benefit the end results.
Test plan evaluation
Due to the lack of time, we sacrificed testing of the system.
Management structure evaluation
Since we had little experience in working in a group of this size, we found
it difficult to follow the original structure. The structure of the
team that was specified in the management plan was closely followed
in terms of dividing the groups into smaller divisions. The main
problem that we faced was that we lacked a strong leader.
Comparisons of actual times taken for each part
Each deadline for the documents were followed quite effectively. Everyone
contributed their ideas through e-mail and group meetings which was then
editted by the documentation team. The group spent too much time on the
completion of the docuemntation requirements, thus leaving less time for
the acutual implementation of the system.
How we would have done it differently if it were a "real" project and
What way could we have made the project less work
If this were a real project we would have a different strategy to approach the problem. A
few major points are:
Group Organization
A different group structure would be set up. One of our groups problems was with the
groups structure. In a 'real' project the question of who is in charge is taken away from the
individual members. Having a predetermined leader would be necessary. This would have
eliminated some of our groups questions. No doubt would have been left as to who was to
organize the work that was to be done.
The documentation team would concentrate fully on the documentation and prepare
a final design plan for the design team to implement. The design team
should be present in the initial design stages to ensure that everything
proposed is technically feasible.
Group break downs would have be handled more effectivly. People moving
from one sub-group to another would have been avoided.
Workmanship
Deadlines would need to be set. If each sub-group had to bring its work to present to the
rest of the group at a partictular point a high quality of workmanship would be set.
Encourage team work. Make the group feel that it is a group effort.
Our testing failures are a result of our workmanship. Being unable to complete the protoype
the testing plan did not succeed. In a 'real' environment it seem necessary to set aside a
group of individuals to test that the product is up to the personal standards that the company
has set.
Customer Relations
More respect for the customers concerns about the project. Meeting the needs of the
customer would be a higher concern. Meeting the customer group more often
would ensure that the customers needs were met.
Some dessenting opinions are as follows:
The group was divided into four people for documentation, and eight
for the actual coding of the system. However, due to a weak leader and poor
organization of the coding team the system was not fully functional.
Due to lack of organization in the coding team, the implementation of
the system was greatly delayed.
Lessons learned
We felt that the whole group learned that putting a project together
is more work that they anticipated.
We learned the hard way that the medium that is going to be used
by the group should be known to the extent that the programming team
should be able to complete a project with it.
If an unfamiliar language is used, some members of the group should
focus entirely on learning it so they are prepared when it is time to
code.
We learned that interaction between the customer group is vital
to the survival of the project.
Learning to have multiple people coding at the same time takes a
certain amount of thinking, and planning. One cannot just rely on the
super programmers myth as I once believed. Substantial planning at the
beginning could have had serious benefits to group work later.
We thought that using the web as a means of communicating within our
group and was very effective.
Another point is that when working in groups you need to assign responsibility
for the success of tasks to specific people. If no one accepts responsibility
for the outcome then things don't get done.