understanding the team introduction –software development projects too large. need more people...
TRANSCRIPT
Understanding the team• Introduction
– Software development projects too large. Need more people
– Software development is through the efforts of a software development team.
– Collaborative work is often a key issue in software engineering
• DefinitionA team : group of individuals who possess a
level of constructive interpersonal skills, and who are dedicated to the achievement of a common goal
Challenges of Software Development
Democratic Team
Business Team
Rescue TeamTesterTeam
Challenges
• Larger teams
• Specialization
• Distribution
• Rapid technology change
Chief Programmer Team
Understanding the team
Aspects of Teamwork No optimal team structure , any structure consists of variety of roles :
• Project manager• Architect• Application development• Tool smith• Quality assurance person• Suystem integrator, • build and relaese person• Designer.
Understanding the team
Creating the right team
1. Put the right people together Issues :
Availability of the right personnelCompetitive task to get ”good”people
2. Good team not necessarily composed of all the best ones
• Understanding teamsUnderstanding teams
• Structuring team environmentsStructuring team environments–Team management structure
–People structure
–Shared space structure
• Defining teamsDefining teams
• Building a teamBuilding a team
• Supporting team activitiesSupporting team activities
Team Workflow - Outline
Team management structure
• Time needed to be planned and organized efficiently.
• People resources must be structured efficiently
• Shared space must be designed to optimize communication between team members
Shared Space Structure
• Physical
• Communications
• Symbolic shared space :Team members sharing a
Unified modelling language for the modelling of the
solution to be implemented
• Interpersonal sharing
The Concept of Shared Space
UML
Physical: facilitates face to face and interpersonal exchange
Symbolic : Sharing a Unified Modeling Language for the modeling of the solution to be implemented
Communications :new technologies facilitate team activities
Interpersonal : Meeting and workshop can
be used to increase the interpersonal exchange
• Understanding teamsUnderstanding teams
• Structuring team environmentsStructuring team environments
• Defining teamsDefining teams Distinguishing a group from a team Team fundamentals Team organization and behavior
• Building a teamBuilding a team
• Supporting team activitiesSupporting team activities
Team - OutlineTeam - Outline
Defining the team
Introduction
Dev processes involve several stakeholders, each of has a
different understanding of what needs to be done.
As stakeholders increase their common understanding of the
product to be built, they converge to a common approach on
how the work is to be distributed.
Defining the teamBasic Definition
At least 2 people working toward a common goal/objective/mission, each is assigned a role .The completion of the mission requires some form of dependndecy and collaboration among group members
– Too many stars within the same team could create distractions.
– Alack of stars can leave a team strugling with even the smallest of problems.
– few stars are appropriate
Team # group
• Working together cooperatively can be more productive than
working together less collaboratively on the same problem .
• Interdependence among group members marks the
transition from a group to a team (negotiate decision making).
• Results by team depend on these strong interdependencies
• A team implies superior group performance.
• Team players work together and build contributions from
every team member to a common goal
RequirementsGroup
ArchitectureGroup
Analysis & Design andImplementation Group
Test Group
NewMembers
A Typical Group is a Collection of Individuals
• The same people in The same people in requirements requirements through through implementationimplementation
–Minimize hand-over
• Well-balanced teamsWell-balanced teams
• In general, teams In general, teams should be should be composed of no composed of no more that 5-7 peoplemore that 5-7 people
ImplementationGroup
Consultants
Team fundamentals
• No more than 5 to 7 individuals
• Dedicated to a project , specific goals
• How to form a team ?– Members recruited– Agree om a team goal (goal well defined)– Plan created ( plan for work , team member
roles, )– Common teamwork process– Plan monitored by the project manager– Commitments are made (to the goal , role and
plan)– Physical environment must be supportive and
adapted to the team– Mutual respect and support of all members
Team Behavior within Organizational Structures
Each member adapts to other
Tennis Double
Whole team moves together
Every player has a fixed position
Hockey Team
Baseball team Software development
Difficult to say which team
structure is more appropriate.
• Understanding teamsUnderstanding teams
• Structuring team environmentsStructuring team environments
• Defining teamsDefining teams
• Building a teamBuilding a team
–The four-stage team development model
–The five phases for building team spirit
–The three steps to creating a jelled team
• Supporting team activitiesSupporting team activities
Team Workflow - - Outline
BUILDING A TEAM
• Teams do not just happen
• Teams are developped.
• Development through a series of well-defined steps to learn how to work :
• together cooperatively • with commonly held purposes and goals.
3 models for describing how teams evolve :– Four stage Team dev Model– Five phases for building team spirit– Three steps for creating a jelled team
Four-Stage Team Development Model• Forming or initial phase of team buildingForming or initial phase of team building
– Individuals usually focus on their own areas of knoledge.
– Groups seek purposes and relevance.– Social relationships are established. – Group begins to work with the leader.
• StormingStorming– Members challenge each other, argue .– Conflicts emerge between members due to differences
in goals and struggle for control and direction. – Members discover differences and learn how to deal
with them(resolve conflicts)– Addressing conflicts constructively results in gaining
confidence in bring up issues without going on the attack and blaming others.
– Learn to listen to other members and Build trust
Four-Stage Team Development Model• Norming Norming
– Commonalities and shared interests are recognized and processes for communications are established.
– Team starts to jell– Team establishes ground rules and its own norms for
acceptable behavior
• Performing Performing – A team identity has formed and members associate
strongly with the group. – Team members are able to diagnose and solve problems
Note : Difficult to reach such maturityVery easy to fall back into the forming stage (leader replaced , new people join)
Team spirit Endorses a Five-Phase Spiral Model
Purpose : Purpose : Create a true bonding of high performance teamCreate a true bonding of high performance team
• InitiatingInitiating – Sharing of personal interests : learn about each other
interests– Short informal social activities : lunches
• Visioning Visioning – Development a shared vision or purpose as a group– Peer reviews of team works
• ClaimingClaiming – Identifying and aligning members with roles and goals in
the team– Democratic team structure
Team spirit Endorses a Five-Phase Spiral Model
• CelebratingCelebrating– Recognition of team and individual accomplishment
: Team members express their appreciation and positive regards toward others.
– Social events outlining project milestones ( small celebration marking the progress)
• Letting goLetting go– Constructive feedback among team members – the whole team acknowledges each task completed
by a team member (member appreciated for having completed it).
– Valuable and trustworthy feeling
Jelled team
All teams in a jelled state have this in common:
– A jelled team has a specific goal, a goal that is shared by all
members.
– All members of a jelled team have a high sense of
responsibility and commitment.
– All members of a jelled team feel they are accomplishing
something of value.
Jelled team
– All members of a jelled team take interest in each others
work, since it’s part of their goal.
– The members are enjoying themselves. They long to get to
work to spend time together while moving the project
forward. Laughter is frequent.
– A jelled team has great communication: with customers,
management and in between members. Once a team begins to jell, the probability of success goes up spectacularly
Creating a jelled team
• Agree on common goals.
– detailed plan, performance target, quelity objectives,
schedule milestones
• Agree on strategy and plan
• Defining the process , establish the essential artifacts.
• Right skills to the right roles
• Adapting the use of tools with their roles
• Know what , how and when to start and finish their tasks.
• Aware of responsibilities and unique skills.
Team Members are not Interchangeable
• Define rolesDefine roles
• Right skillsRight skills
• Appropriate toolsAppropriate tools
ProjectManager
PerformanceEngineer
ReleaseEngineer
Analyst
Developer
Tester
• Understanding teamsUnderstanding teams
• Structuring team environmentsStructuring team environments
• Defining teamsDefining teams
• Building a teamBuilding a team
• Supporting team activitiesSupporting team activities–Virtual teaming
–VTA Tools for collaborative activities
Team Workflow - Outline
Supporting team activities
Introduction
We Need to unify a team´s effort around a common process, Modelling language and set of artifacts. Each member should share the same understanding of the artifacts and methods used. Open communication is key .
With the advent of the Internet , some team activities are distributed over various time frames and geographic locations
Virtual teaming• Electronic meeting vs face to face meetings
• Support for geographically distributed teams.
• Provides repository for team documents and knowledge (real time shared object)
• Integrates a host of computer communication channels (audio , videos, email , chat …..etc)
• Also used to support collaborative activities using a number of tools.
Virtual Teaming Approach-VTAVirtual Teaming Approach-VTA
CategorizerCategorizer• Encourages team members to converge to key issues
Electronic Brain Storming ToolElectronic Brain Storming Tool• Allows group to diverge from customary thinking for new and
creative ideas
Team outlinerTeam outliner• Allows to create on a multilevel tree of topics.Helps a
team explore issues in depth and details
Virtual Teaming Approach-VTAVirtual Teaming Approach-VTA
Alternative analyzerAlternative analyzerProvides a shared environment for making decision based on many
criteria.
VoterVoter Provides methods to reach a consensus or decision
Conclusion• Team
– Group of people working together– Sharing the same working space and tool
• Before creating a team– Understand the culture of the organization.
• Team do not occur accidentally• Team development passes through many steps• Jelled team : strong cohesion , clear goal ,
explicit task definition.• Various electronic tools can help team members
brainstorm and reach consensus