0% found this document useful (0 votes)
51 views17 pages

An Analysis of Teams

Download as doc, pdf, or txt
Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1/ 17

An Analysis of

Software
Teams
Assignment Two

Introduction
People always use the word group instead of team and team instead of group.
There is a lot of difference between team and group in corporate world. These

Analysis of Software Teams Page 1 of 17


days lot of importance is given and stress are given to understand what a team
is. So many management gurus have written books and articles on team. Team
has always been a major reason behind all the big success in software and in
various other industries.

What is the difference between the group and team? Both are collection
of people then. A team is a group of people working towards a common
purpose. Teams are made especially to conduct task which are highly complex
and have different areas which are dependent to each other. A team constitute of
members with different but complimentary skills and creates an environment
which allows every member to improve on to their strengths and minimize their
weakness. On the other hand a group is a collection of people with same
interests and liking. A group does not necessarily work towards a common
purpose. In a group the members do not have any purpose. But each member in
a team has a purpose. It is very difficult to built a team but very easy to build a
group. A team is created according to the problem but a group can be made
regardless of a problem.

In software engineering or in any field in the corporate world projects


cannot be accomplished by people working individually. These days the
projects or the goals are so big that it is next to impossible for a person to
achieve that in the time specified. These days the organization has very high and
ambitious goals which usually require people working with different people and
in harmony and peace. This is the reason teamwork is an important practice in
many organization and business. Here is another term which is related to team.
What is teamwork? Teamwork is a coordinated effort as a team for the common
cause without their personal achievement. To keep the team focused and work
in the right path a leader is required. A team cannot success without a leader.
One of the major reasons is that all the members are so talented that they will
always try to put forward their own point and he/she knows better than the other
members. To control this leader is required. He / She can be one the members or
may be person who has the qualities to be the leader. The way team cannot
work without a leader same way a leader cannot achieve anything without
his/her team.

Why is teamwork important? A stable team is required to create a correct


outcome of the problem defined. For example in the child care institute a

Analysis of Software Teams Page 2 of 17


positive outcome is required from the team to create a good child development
programs. One of the main mottos behind the child care is to develop a strong
and caring relationship between the children and the team members. A good
team can always reduce the stress from every individual.

Teamwork Skills
Teamwork is an art. It requires some skills to become successful without having
problems among the team members. The skills every team should posses are:

Listening:

One of the important skills the members of the team should have is listening. It
is very important to listen to other team members. When the other are allowed
sharing their ideas they will gain respect for others and will feel the importance
of being in a team. This also helps in producing great ideas because the team
members will be free to speak.

Discussing:

This is another important aspect which a team should conduct frequently.


Discussing helps in clarifying lots of misconceptions about the topic and what is
to be done. This also helps in directing the team in the right direction. For
example if a team member misunderstood any requirement and was working
towards he will end up producing wrong outcome which will delay whole
project.

Questioning:

Team members should try to ask question is they have a dauts. Questioning
always helps in getting out new ideas for the same problem. That means the
more the ideas more options in solving the problem.

Persuading:

All the team members should be encouraged to put forward the ideas, defend it
if they are right and also rethink on the ideas they have produced. In this process
the team leader plays very important roles. In a team there are always members

Analysis of Software Teams Page 3 of 17


who can convince others even if their ideas are right. Here the team leader
should always support them and put forward their ideas in front of the team.
This increases the respect for the team leader and improves the relationship.

Respecting:

Respect is an attribute which everybody in the world needs and works for.
Every team members should respect each other this creates a healthy
environment in the work place. It is very important to support others ideas.

Helping:

Teamwork is all about helping each other. The concept of team has developed
to help. These days the projects are so big that it is impossible for an individual
to complete the whole project on his/her own in the stipulated time. For a
person to reach the goal needs help. That where the team comes. It’s all about
working collaboratively and collectively. If a team member has any problem
which can personal or related to the work other team members should help
him/her.

Sharing:

Sharing always creates a harmony within the team. If environment in the team is
not healthy, then the productivity of that team decreases. The team members
should share thing among each other.

Participating:

A Team is successful only if all the members of the team participate. Every
member should be giving their best to do the part assigned to them. If any one
does not give their best then the final outcome of the project will not be as
expected. During the team meeting all the members should be encouraged to
participate.

Communicating:

Analysis of Software Teams Page 4 of 17


Good communication is always required for the team to work effectively. There
might many cases where the members are not in the same office or one of the
members has gone overseas so they should be always in touch with other team
members via email or telephone. She/he should be informed frequently about
the progress in other areas and the changes required. There are many ways of
having a good communication between the team members such as email, verbal
communication, group meeting and many more. One of the major drawbacks of
miscommunication is it can pull down the team completely. The project might
go hay wired. So to prevent all these problems constant communication between
the members should occur.

Team Roles
In a team every member should be assigned a role. This reduces the work load
on other members. This concept was first developed by Meredith Belbin in
1981. If all these roles are taken care of in a team then chances of succeeding in
a project are very high. There are eight team roles presented:

Coordinator:

Coordinator is a team member who has a clear idea of the team objectives
and he gets together all the contribution done by team members which helps in
reaching the goal smoothly. He/She sets the priorities for the work or the
objective to be achieved. He/ She had a proper command over the team and can
lead the team. The coordinator is able to foresee the problems so he/she
prepares the team according to that.

Shaper:

Shaper is a person who the drive the team in the right direction. He/She is
a person who tries to finish the work assigned to the team members that gives
the push to the team so that everyone works together. The shaper is always
ready to challenge others views and tries to put forward his/her view. Shaper is
always ready to face challenge. Shaper tries to kind the pattern during the
discussion or group meeting and then according to that tries to pull thing
together.

Planter:

Analysis of Software Teams Page 5 of 17


This member is one of the important members of the team. They are very
innovative, original and creative. They always come up with new ideas and try
to solve the problem in different ways. They never follow the traditional path to
achieve the goal. Planter tries to kind news approach so that their product is
different from the others. They are of great help if the team is stuck in middle of
the project due to some problem. Sometimes they are so innovative that other
team members find it hard to find relevance between their ideas and the main
topic.

Resource Investigator:

There are always members in the team who are very out vert and
interactive. Resource investigator is a member who has very contacts and strong
network. He knows what is going on in the out world. He/She tries to get
information and ideas from outside which will help the team to reach the goal in
more stable way. They are mainly the team’s salesperson.

Monitor Evaluator:

The monitor evaluator sees all the options available for the team to
develop the project. They can access the situation very closely and correctly.
They look at all the scenarios very strategically. They are very bad at
encouraging people.

Implementer:

Implementer is a member who tries to implement the ideas into a well


defined task and plans to achieve that. These type of members are very logical
disciplined and have clear idea of all the inputs given by different team
members. One of the major problems with these members is that they are not
very flexible. If a team don’t have an implementer then it becomes a great
problem because it really does not matter how good or innovative the ideas are
to solve the problem but if it cannot be implemented. So there should be a
person who converts those great ideas into manageable tasks.

Team Worker:

Till now there were roles which new everything about the project or goal
but there should be someone in the team who should know everything about the
team members. What the team members wants, what are their concerns and

Analysis of Software Teams Page 6 of 17


needs? They always try to solve the conflict between the team members and
create a healthy environment within the team. These members are really helpful
when the team is going through the crunch time.

Finisher:

Finisher is a referred as the perfectionist. They always try of do things to


the perfection. They will always check hundreds of time before delivering.
Finishers can be trusted to the core that whatever they are submitting will be
accurate. These people do not need encouragement because their own standards
are so high that to live up to their own expectation they will give their best.
Finisher are sometime very irrelative for other team members because he/she
will try find out minute mistakes and keep telling the team members till they
rectify it.

It is not helpful if a team having eight members each of them assigned one of
these roles. This process is fruitful only if the team members are capable of
these roles. These roles can assign looking at the individual behaviour.
Individual behaviour can be differentiated in four ways:

1. Extroversion - Introversion

2. Sensing - Intuitions

3. Thinking - feeling

4. Judging - perceiving

Team Development
Team development consists of five stages. Every Team goes through
these stages to reach the goal. The five stages are as follows:

Analysis of Software Teams Page 7 of 17


Forming:

This is the stage where the team leader is required to take charge of the team. In
this stage all the team members gets to know each other. They are very
sceptical, confused. There is no coordination between the team members and
members does not involve properly. They are not sure of what they have to do.
Team members show very little interest in others views and values. The
objectives are not clear. In this stage the leader should conduct team meeting
which will allow members to know each other. This practice helps in improving
the listening ability. The leader should impose some basic roles on the team.
The leader should promote active and complete involvement for all the team
members.

Storming:

After the beginning stage storming stage comes. In this stage team members
involve themselves in debates, arguments. This generates conflict between the
members. Some of the members try to impose their ideas on other. Team
members try to show that they are right compared to other members. Basic fight
for power between the team members are very common problem occurs in this
stage. This is the stage were the team members question about other member’s
values and views. They will be reluctant towards the team meeting because they
think that they know everything. During this stage strong leadership is required
to keep the team on track and try to make them work cooperatively. The leader
should explain to the team that this is very common problem which they are
going through. Leader should always remind them about the main objective of
the team, what is there goal and mission. This is the stage where the team is
most vulnerable. The team needs support and guidance from the leader.

Norming:

This is the phase where the team is most productive. The transformation
of the members from storming to Norming the members understands the each
other properly. Every member realizes each other talents. They get to know
every members positives and negatives and start working according to that.
They grow mutual respect and trust among each other. Every member start to
understand their own role in the team and realizes the interdependency. This is
the phase where the leader gives up the control over the team and acts as a

Analysis of Software Teams Page 8 of 17


supporter or coach. The team starts to systematically gather information about
the project. They plan to stages or the sub goals to be achieved to accomplish
the target. The team members keep frequent meeting to discuss about their
progress.

Performing:

This is a phase where every member starts performing and contributing to


the project. Every member understands that their pride is in the team’s success.
The team members understand other members and interdependency at this stage
is at its peak. Every member respects other completely and work according to
their strengths and cover other members without any request. In this phase the
leader works as a consultant. The team members start providing advice and new
idea or information instead of imposing them on the team. Every member
supports each other and at the same time provides correct feedback to the team
members. In this stage the harmony is maintained in the team and a great
environment gets created for the team to work towards the goal.

Adjourning:

This is the final stage, during this phase the team has accomplished their goal
and celebrates their achievement. During this whole process the members
become so close to each other or develop great understanding that they resist
breaking up and start all over again with some new faces.

Analysis of team A
Requirement Definition & Analysis:

Analysis of Software Teams Page 9 of 17


The team had two meetings with the client to gather all the information they
need to build the project. Requirement gathering was easy and, was completed
promptly. The group spent a longer than expected time analysing requirements
than expected. However, they managed to adjust this extra time spent in other
activities.

Project Planning:

The group had a clear understanding of the system that was needed to achieve
the requirements outlined by the client. The clients requirements gathered were
very transparent so it helped the team a lot in project planning.

Controlling progress:

The team had clear understanding of what they needed to do which helped them
a lot in synchronising their tasks together. Regular group meeting were
organised each week to review the progress of the project. Also the group
members were already had some knowledge of development environment and
past experience from the start which enabled them to start work early.

Testing & Documentation

The test design was completed early on the project lifecycle which enabled
them to perform testing more efficiently and in time. The group had few
misunderstanding about the documentation format, because of which initial
estimates of documentation were very high.

Final Product:

All the deliverables were submitted in time by the group. Final product was also
submitted in time. The group to spend some extra time ensuring the final system
was of a presentable standard. They included all the requirements expect two,
which were given very low values by client hence they were dropped from the
final product by taking approval of the client with common consensus.

Analysis of Software Teams Page 10 of 17


The group was very successful in delivering the product, as the client was happy
the work done by the group. The group finished the project well before expected
time. The client and the group were happy with the final product produced. All
the important requirements given by client were met.
ISSUES :
There were some initial issues with the group as one member of the group was
not in good health during the project. The group handled this situation in a good
manner by giving the member work which was not much physical considering
his/her medical condition. They also made sure the work done by the unfit
member is followed up and discrepancy in work was removed if there were any.
All the decision about the project was made democratically.
During the project the group spent a more time than estimated for few issues.
Out of these issues some had very low client value and were dropped in due
course of the project. Some of the task which took more time than expected was
justified by the quality of work done in the end. Overall the group performed
very well by delivering the project well before time and satisfying all the
requirements of client.

Time Analysis of Team A:


The time estimates were constructed based on the knowledge and past
experiences of each group member. Group members were allocated
requirements they felt comfortable undertaking in order to provide an accurate
estimate and maximise efficiency. Some tasks like requirement analysis,
learning techniques and review were underestimated initially and allocated less
time, these tasks took more than twice time as estimated initially. On the other
hand Documentation time was overestimated and it took less than half of the
time allocated to it. The other entire task were estimated very well and showed
less variation with actual time estimated.

Task Initial Actual


Estimate Hours
d Hours

Analysis of Software Teams Page 11 of 17


Learning Techniques and 5 11
tasks
Research and Investigation 3 2
Requirements Gathering 2 2
Requirements Analysis 5 10
System Design 3 2
Test Design 3 4
Documentation 30 12
Project Meeting and 14 13
Communication
Review 1 3

Table 1.A Time Analysis of Team A

Analysis of team B

Team Structure

Team was divided evenly , one person was the team leader, 2 person was
responsible for documentation, 3 members were assigned the task of system
design and implementation.

Analysis of Software Teams Page 12 of 17


Requirement Definition & Analysis:
The team had 3 meetings with the client to gather all the information they need
to build the project. Requirement gathering was not easy because of the
complexity of the information and issues with the client availability. The group
spent a less time on this stage of project which affected other stages of the
project.

Project Planning:

The project planning was not good enough, all the requirements were not
prioritised correctly which made serious delays in system designing. Decision
were made by in democratic manner where group leader act as a central
authority.

Controlling progress:

Initially group members were reluctant in taking initiative. Team leader did a
good job by assigning each group member tasks depending upon the skill level
of each group member. The team had clear understanding of what they needed
to do which helped them a lot in synchronising their tasks together. Regular
group meeting were organised each week to review the progress of the project.
Group member had less knowledge of the development environment and
thegroup member came from diverse culture which was a bottle neck in
communication.

Testing & Documentation

User acceptance was designed early in the project. The majority of the testing
took place in last few weeks of the project. Many bugs were located and fixed,
the most time consuming aspects of the final stages of testing were obscure bug.
Some bugs were very specific and hard to find. These bugs where only likely to
occur after the system had been in use for an extended period of time. This
made replicated the errors a time-consuming task. The actual testing and
locating of the bugs took more time than fixing them.

Analysis of Software Teams Page 13 of 17


Final Product:

All the deliverables were submitted in time by the group. Final product was also
submitted in time. The group to spend some extra time ensuring the final system
satisfy customer requirements. Lot of the requirements needed to be dropped
due to fact that the system proposed had very complex database. Integrating the
final system into the client system was not easy because the client system was
also under development. This made the integration of final system into the
already existing system a complex task. The client was not happy with some
part of the system because the requirements were not met.

ISSUES
Overall the group performance was not satisfactory as the developed system
was not up to the mark. The group had members with different language and
culture background which made communicating within the group complex task.
Also in the initial stages people were reluctant to accept roles which delayed the
requirement gathering and analysis process. The group didn’t have technical
skills required for the project, due to this fact system coding phase took lot of
time. The availability of the clients was also an area of concern as getting the
feedback and revisiting requirements consumed a lot of time in requirement
gathering process. Team meeting were organised every week, but they didn’t
worked out as planned due to other commitments of group members. Also the
client requirements kept changing in during life time of the project which
introduced serious delays in implementation.
Time Analysis of Team B

Analysis of Software Teams Page 14 of 17


Figure 1.B Initial estimate for the Project

Figure 1. B shows initial estimates of each phases of the project. The total
estimate for the project was approximately 360 hours. But the hours spent by
group on project are 580 hours approximately. There were several factors issues
involved, which made project invest more budget than estimated.

The scope and difficulty of this project made it impossible to reach within the
suggested budget. Like most software projects, the initial estimations were
estimated wrongly. The initial estimations were made pessimistically depending
upon how much time each module will take to implement. This came from past
experiences with the languages, and systems involved in creating the final
project. Estimations were also skewed by team member’s lack of experience.
The strengths and weaknesses of each group member were neglected in early
stages of the project. Much more time was put into the project than initially
estimated.

Conclusion
The success of the team depends on the understanding and cooperative work of
the team. An organization can only succeed if team work together with and has

Analysis of Software Teams Page 15 of 17


required set of skills for the job. We can clearly see from the analysis of the
team A and B that working together with clear vision of the project undertaken
can make project successful. Team A had the right set of skills and had
experience on the chosen project, which enabled them to successfully complete
the project on the other hand team B had various issues and misunderstandings
which made it hard to work together as a team. Also there were some external
factors which added up to the problems of the team B. It will be unfair to say
that they failed to do the job considering their situation, but Team A totally
outclassed them in terms of team work, tackling of issues, Estimation of project,
elicitation of requirements, project planning. Thus, it is clear that a success of
project depends on the right mix of the team and understanding of the team
members within the team.

Analysis of Software Teams Page 16 of 17


References:
1. http://en.wikipedia.org/wiki/Team_work, 13 October 2009
2. http://en.wikipedia.org/wiki/Team , 13 October 2009
3. http://www.wisegeek.com/what-is-the-difference-between-a-
team-and-a-group.htm , by Michael Pollick , 14 October 2009
4. http://www.businessballs.com/dtiresources/TQM_development_
people_teams.pdf 14 October 2009
5. http://en.wikipedia.org/wiki/Group_development , 13 October
2009
6. http://web.uvic.ca/hr/hrhandbook/organizdev/effectiveteamwkb.
pdf 14 October 2009.
7. Team documents obtained by assigned Groups. 19 October 2009

Analysis of Software Teams Page 17 of 17

You might also like