| TMA
July 2002
Question no 2: A system
engineer can come from one of
three sources: The system developer,
the customer, or some outside
organization. Discuss the pros
and cons that apply to each source.
Describe and “ideal”
system engineer.
A system engineer has enormous
responsibility towards the successful
completion and implementation
of a software project. He has
to perform a set of duties to
do this task effectively. A system
engineer basically performs the
analysis in which he finds out
the objectives and responsibilities
of the project to be completed.
Later he gets involved in the
design stage, in which he alone
with other designers. Created
a set of designs which help the
programmers to develop the programs.
Then he instructs people involved
in testing process also.
System engineers can be recruited
from the customers place, if possible.
He can also be selected from the
software development place. Or
he can be recruited from and independent
third party also. Each alternative
has its own pros and cons. Which
are as follows-
If the software engineer is
from the customer place, then
the primary advantage is that
he understands the system more
clearly then any other person.
He has been working in the environment
for quite some time, so has knowledge
about the tasks which have to
be accomplished by the system
being developed. Requirements
and objectives are already very
clear in this mind. He has already
association with other employees
of the customer place. So id needed,
he can get the information from
the people concerned, in less
time without any problem. The
employees also will be more willing
to provide information to a person
who is one among them, rather
than to a person who is from outside.
So analysis of requirements and
the system, itself can be done
better be a system engineer, if
he is one of the employees of
the client place.
But, the employee of the client
place may not be well-versed with
the software development process.
He may not have sufficient technical
skill. He may not know the process
which is undertaken to develop
the software product. He may not
be useful in design, coding and
testing phase. One more disadvantage
is that, the employee of client’s
place, may try to force the development
people to implement the project
not only with necessary set of
requirement, but also with a set
of optional and unnecessary requirements.
He may try to take undue advantage
of his position by asking the
developers to incorporate a large
set of requirements. This is not
recommended in WIN-WIN model.
Both the parties should win. Here
only customer is in the winning
position.
If the software engineer is from
the software development place,
then the advantage is that he
is an expert in the development
process. He has experience of
dealing with this type of tasks.
He has sound analytical and technical
skill. He knows the difference
between the achievable and non-achievable
requirements of a project being
undertaken. His position in the
company depends in his work performance.
So he is totally motivated to
excel in the work which he does-the
development of an efficient software.
But, the software engineer from
the software development place,
may have a problem in dealing
with people at the client place,
for gathering the requirements.
This is because he is not fully
aware of the environment of the
client place, not aware of the
business practices following by
the client, not aware of the internal
politics of the client company
etc. All these play a major role
in performing analysis smoothly.
But he can become aware of all
this, at the cost of time. Personal
at the client place, may not be
completely side person, to get
the right information from them.
If the software engineer is from
an independent third party, then
the advantage is that, he does
not try to win against the other
person, as is possible, in the
above two situations. He tries
to perform his job in an non partial
manner, which is beneficial to
both the partied. And, since we
recruit from a reputed company,
he may have excellent knowledge
of how to heel with the software
development process and his expertise
can be used for the advantage
if the client. But, the only disadvantage
is that, he may conduct the development
process, by keeping all other
things in his mind as constant.
He mad not be aware of the capability
of the development team and the
loop holes present in both client
and the development side. Both
parties may not believe the software
engineer, because he is an outside
person , and may also try to influence
him to take decisions, for their
own advantage.
An ideal system engineer is a
person who gives importance to
the quality of the project from
a long-run point of view. He should
take care of documentation, user-interface
design which are generally not
given much important. But these
small things make the software
to have high quality. He should
always be doing his work in a
proper time schedule. Time becomes
the most important factor, and
he should take decisions basing
on this only. He would always
follow the entire cycle of design
principles, without omitting anything.
Testing should be conducted from
the start to end of the no. of
people required to complete the
project. He should try to reduce
the overheads, by recruiting less
no of people initially, and try
to add persons to the project
late. Validation and verification
should be conducted from time
to time, for all the components
individually and also collectively.

|