This paper determines the importance of coherent and early collaboration needs of various project team members in the event of an intelligent project planning. It focuses on the utilization of the scrum framework and a selected set of agile principles and practices for organizing and managing cross-functional teams in software development projects, coherently. The author is an agile practitioner and has closely worked with software engineers and interviewed industry professionals and undertook this research study. This publication is a byproduct of the data and experiences gathered from industry professionals. Most of these personnel have worked in both settings, i.e. collaborating with each other and as individual contributors.
A good project defines its foundation on various software lifecycle activities, e.g. requirements gathering, design and the planning, software development, quality assurance, deployment etc. In most common cases, the initial phases of a project are crafted by management or business analysts. Today, projects operate in a very complex environment and are difficult to master. Project team members are not collocated anymore.
With projects being complex in nature and operating in a global environment, project management is round the clock. Team members present in different regions and time zone collaborate often, typically during the execution phase of a project. Essentially, every team can work independently by utilizing the output of one lifecycle event as its input. Some teams do not collaborate or adapt to a working mechanism where they do not have to work together whatsoever. For e.g. A developer has no idea what Quality Assurance resource is doing and vice versa. Remote working and time differences add to this gap. On the other hand, we also have teams that try to make the entire lifecycle of software development transparent, like to collaborate and participate in different events of the development phase. This paper lays emphasis on the importance of early collaboration between such teams even though they are tasked to work independently. Often such resources are called as individual contributors who work on different modules which is eventually integrated to obtain a common goal.
The author's goal is to lay emphasis on the setup which comes in the way of collaboration due to how the organization operate. Every team member collaborates with one and other to achieve results however studies show that due to various hierarchical layers, collaboration happens at a very later stage in a project. Efficiency could be improved, planning can be streamlined, time and efforts could be saved, etc. Let us highlight the importance of this topic and emphasize on teamwork and early collaboration in a project environment.
Teamwork is a combined effort of different people working towards achieving a common goal. Teamwork is not about completing a specific task, but more than that. Its output is incremental to the final goal that is derived when people work together effectively, on different tasks at different times. The crux of teamwork relies on constant communication, support, positive work environment, help and motivate each other and doing your share of work. Traditional teams were provided with standard operating procedures and often a project manager or an architect play a role of an integrator. On the other hand, a collaborative team is an improvised version of a traditional team.
Every team member has a different set of skillsets. Even though the team members have different areas of expertise, they share a similar goal, resources and leadership. Team collaboration is nothing but organized teamwork, where the different set of specialized skill set, and experiences help them to solve a problem as a group and make decisions, this results in faster problem-solving. The main goal of collaboration is to encourage open and free communication among all team members across the various departments and increase the success rate by working collectively and focusing on the main shared goal. Workplace collaboration was not a familiar concept until 1950 when the projects are managed by a single manager. After the formation of the Project management Institute in 1960, its Project Management Body of Knowledge (6th Edition, PMI, Inc) recognized collaboration as a successful workplace exercise.
In a traditional software development project, the teams are divided based on their responsibilities, the development team, testing team, deployment team. Each team behaves as in there is an invisible boundary in between them, i.e. when the development teams complete its task it does not bother about the testing phase. For them their work is done once they have fulfilled their responsibilities, collaborative teamwork aims to bridge this gap across teams and increase the knowledge sharing which makes the teams more responsible and give clear accountability of their tasks and deliverables.
Matrix organizations generally are grouped into 3 classifications. Strong Matrix, Weak matrix and Balance matrix organization (Stuckenbruck, L. C. (1979) PMI Quarterly) even though teams operate in a remote environment, in modern times the management need not necessarily be collocated at one location. A typical IT company operates remotely and are heavily involved with cross region employees working with daily collaboration. Often in such organizations, have different departments depending on its functions. For e.g. Accounts team may be responsible for sales and business development, operations team, transition & project teams, development teams, etc. An accounts team kicking off a new project does not involve the development team at the demand management phase. The development team is often engaged at a later phase, by when the initial agreements are already made.
There are 2 significances the author would like to focus.
In line with the problem statement of this paper, the author has listed the two most used collaborative techniques. These techniques are although common however not effectively executed. These techniques are arguably practised by every organization however much later in the project development stages. The author emphasis to practice these techniques at the early stages of the project development or kick-off phase. These practices are important and do not enable intelligent project planning, but also aids to project awareness across the team and especially the development team. Also, this helps the management team to estimate the efforts correctly and provides a better understanding of what artefacts need to include in the scope and what should not.
Group brainstorming is a very efficient type of collaborative working. This enables you to make the maximum advantage of the entire team's skills and experiences towards a problem solving or delivering a project. It is important a group brainstorming is scheduled at early stages of a project. It avails the team to focus on the right artefacts in building a solution to the projects need. It also helps the project organization estimate accurately and realistically. Group brainstorming also has a lot of other benefits. Sometimes a person with a different skill or the right skill set can help achieve the most efficient solution.
When a project is in a Demand Management stage or early in its kickoff stages, often the team is not involved in with high-level planning. Traditionally a team lead or manager tries to fill in for the technicalities of the project. In contrast to traditional meetings where the team lead or manager is in charge and dictates the terms, try to have an open conversation amongst peers. A sprint planning event is such an example, where the team members involved come together and put forward their ideas and understandings. Apply the same format here at a project level. Sprint planning helps you achieve items to be completed to achieve the goal (Scrum Guide, 2017). In a collaborative environment, such events will involve people from different skills, like developers and testers together. Each of them having a point of view as they are the ones who deliver the project. These discussions help the team come together and break the hierarchical mindsets and focus on the notion where every idea is important.
Workplace collaboration in project planning has various benefits. The project team is aware of what is coming in and can provide inputs upfront. It aids the account team or the management to scope out the project better. Most of the time the management members are not technical and may not be the best set of people to scope technical activities. Early collaboration with the technical team members bridges this gap. In the long run, the management team is also in a better shape to analyze such projects and involve the right team member upfront. It promotes solving snags during the contract phases of a project. The entire squad learn and are connected throughout the lifecycle of a project. Below are some benefits of early collaboration in a project.
Knowledge is not constant; it changes with time. We can gather knowledge from reading articles, books, tutorials. The most important knowledge comes from practising it. A team that has been practising similar projects gain a certain understanding of similar projects. For e.g. A person can read and watch about driving a car, but he can drive only when he is behind the wheels. Also, when you are driving for the first time it is best to have it under the guidance of an instructor who has experience in the field. Similarly, when teams try to work on something new collectively and enhance their knowledge base each can learn from someone else's experiences. The project management team is in a better position to put all the readings and tutorials together and articulate something solid. Besides, collaboration motivates people to think, persuade and obtain clarity about the scope. Each team member is like an instructor to the other to guide, share and bridge the knowledge gaps. Also, Collaboration acts as a mirror which gives a glimpse of the weaknesses and strengths and helps in self-analyzing.
In real life when we have a problem without a solution, we generally seek for assistance from a friend or someone close and knowledgeable. It is possible the two of have completely different perspectives. Sometimes a less a person may be less knowledgeable in the subject area however is able to guide you to a decent solution. This is an example of collaboration which intended problem-solving. Similarly, having an open discussion in a team with mixed skill sets with diverse knowledge and competencies can lead to a more effective and creative solution as it is easier to cover blind spots. Sometimes while discussing on project prototypes an individual may get stuck and fall out of ideas. You are not an expert and a human. Instead of giving up, a clever solution may be to reach out to a team or a teammate with a different perspective. Perhaps he may be able to understand the problem and guide you to forming an intelligent solution. Brainstorming can help remove these hurdles or provide a different direction so that you can move forward.
It might happen that many teams in the organization are divided based on their responsibilities and skills into different departments and hence they rarely interact with each other. Imagine attempting at adhoc collaboration in bringing these teams or people together for a specific task or project from different backgrounds. The team is gearing up and norming between each other to collaborate and contribute to the project goal. Especially in an Agile team that promotes self-organizing, the team is open, breaks the culture and stigma between each other, and focus on a bigger picture. The team is already tearing down barriers between departments and build connections amongst them instead of focusing on individual problems. This not only builds the connection between the team members but also with the management team and the project and its goal.
Individuals in teams have immense opportunities to learn from each other's experiences and knowledge base. Projects benefit when there is mutual learning. Mutual learning is not only practised horizontally between the team but also vertically until the project organization. People can learn from each other's failures, successes and innovations. Collaborations bring different individuals together and focus on constant feedbacks. The account team learns more about a project from a technical perspective and the technical team learns from an account’s perspective. The technical team member may also view a project from its contract perspective and understand who is and need to be delivered and the ultimate goal of a project. It enables sharing of views and as no two people have the same ideas, experiences are exchanged between the teams. Individuals should have an open mind and consider collaboration as a learning experience and everyone in the team should try to make most out it.
The author ingested himself interviewing with a sample of industry professional. Various experiences were shared by these professionals. All these individuals are working with IT organizations and have had several years of working experience. Many of these shared experiences at different positions they’ve had in their professional career and ironically, they all have had similar experiences. 70% of the sample users are currently working in an Agile framework. An agile framework which encourages working with the development team on a day to day basis and working closely with the customers. 30% of these sample users either work in traditional project management methods or in operational environments. All 98% of all these sample users have worked on projects as compared to the 2% who have purely worked in an operational environment with no project experiences. Of the 98% of users, about 80% of these people claim that they were never involved in collaboration at an early phase in the project management cycle. This certainly concerns if we are doing the right thing. On the other hand, 20% of these people also claim that they were involved or lead the projects at a very early stage.
The author further channelled these 80% and 20% users and learnt that most of these have had programming experience, worked with the core development team closely or had a dual role in the projects. On the other have the 20% users were mainly highly experienced people who were either subject matter experts or architect in their domain.
Furthermore, about 90% of these users said they encourage early collaboration in projects, and it solves a lot of problems beforehand and brings synergies and alignment right at the start of the project. 98% of these users also claim that organizational hierarchy, politics, organizational politics & structure as a prime reason that comes in way of collaborating early over projects. Most of these also said that often organizations are not transparent and do not openly voice out information about projects before it is officially signed on papers. Some also say that transparency allows more visibility and can provide a perspective from many before officially signing a project.
The interview session with the industry professionals was very interesting. It is conceivable to conclude and most of the IT industry professionals encourage early collaboration. Organizational processes need to be twisted to support these changes. Although there is a wide range of collaboration techniques in books however the author concludes this paper with some key techniques which are commonly used in IT organizations.
Here are some of the important inferences from this study:
Written by: Azhar Khwaja
Scrum Guide – 2009 – Jeff Sutherland & Ken Schwaber
Blog - 7 Reasons Why collaboration is important - Corey Moseley – 2019
PMBOK (Project Management Body of Knowledge) - PMI Inc – 6th Edition
The Importance of Collaboration in the Workplace - Nutcache