How collaboration solves the silo effect in software engineering

By SodiusWillert | 15/05/2020 | Reading time: 9 min

If you have worked in an organization with well-defined functions, you have likely heard it thrown around during many of your team meetings; especially if a deadline was just missed. But what really is the silo effect? What constitutes it, and why, after continued efforts of the managers and employees, does it still persist in so many organizations out there?

In the business world, a silo is any department, team, function, or service unit that doesn’t communicate efficiently with the rest of the organization. They keep mission-critical information isolated from people outside their team. Sometimes this isolation is deliberate, but most of the time it results due to lack of efficient inter-team communication. A company can have any number of silos, and they all lead to the lack of free-flowing information between interdependent entities, resulting in delays, bugs, and poorly developed features.

 automated collaboration helps solve the silo effect within engineering teams

How are Silos Created?

We can see silos in many organizations, small or large, but how do they come to be in the first place? Let’s look at some of the reasons:

Limitations of the organization

In small or large organizations, what often happens is that organizations fail to communicate or find it difficult to communicate cross-department. Teams are used to working on their own goals not paying attention to other departments’ goals. What happens is that departments in the organization often ignore the needs of others, and the sharing of knowledge and being customer-focused gets lost in the individual goals of each department.

Nouveau call-to-action

Physical separation

Another huge contributor to the creation of silos around the world is the physical/geographic separation between different teams. With the increasing prevalence of remote work, this has become an even bigger issue. In the past, if you wanted an urgent update from someone and they weren’t responsive, you could just go to their floor/office/cubicle. Now if someone isn’t answering your calls or messages, and you are a thousand miles away from them, you basically have no option but to wait.

It’s not just the people, it’s also the tools

Different teams use different tools. These tools contain information that needs to be shared between different teams. E.g. A change request raised by the product manager should be directly linked to the feature development task in the tool used by the developer. This is important in ensuring that the expected requirements are the same across both teams/tools. Yet there is no communication between these tools.

Drawbacks of the Silo Effect

The silo effect is detrimental to the development of mission-critical products. Here’s why:

Conflicting information

For People who are split into silos, it is difficult to be on the same page. When a new requirement needs to be added to a system, up until now it usually was communicated in more traditional ways via a meeting or email. Without a way to break the silo effect and track what requirement needs to be added where and who requested that, the risk for error is dramatically more important. When working in silos, it is difficult for engineering teams to work with the latest information which can have a huge impact on the product development project.

Duplication of work

If two teams aren’t communicating, there’s no way to prevent both of them from working on the same task, at the same time. Let’s suppose the security team notices a series of potential vulnerabilities in a web application. They start researching potential fixes and create a thorough report for the developers, over the course of 3 days. When they send the report to the development team, they respond by saying that they too noticed the vulnerabilities 3 days ago, and have almost readied a new release that addresses them. If the teams had the means to collaborate, one of them could have avoided doing the unnecessary work and focused on something else.

Unsatisfied customers

Conflicting requirements and missed deadlines directly lead to unsatisfied customers. Moreover, the absence of information flow also leads to customer support teams being unable to give accurate timelines to customers.

“It’s their job”

Teams that work in silos prioritize their own interests over the organization. Let’s suppose an issue is reported to the backend development team. After taking a quick look at the logs, the developer concludes that the issue is in the front end of the application. Now since the backend developer often has to integrate with the frontend, they have a very good idea of how the issue could be fixed. But instead of suggesting the fix, they respond by saying, “This should be reported to the front-end team” and exit the scene.

Enter Automated Collaboration

Modern organizations have already found a great way of minimizing the silo effect: automate cross-collaboration in engineering teams. When organizations automate collaboration, they allow their engineering teams to access to all pertinent data throughout the product development lifecycle, across repositories, tools, and applications. The limitations of the organization are broken down and teams work without data duplication. This is achieved by integrating all the different tools used by different teams with each other. This not only ensures that the communication becomes seamless, but it also ensures that it occurs on a formal channel every time.

With automated collaboration, an issue tracking tool used by the development team is in sync with the requirement management tool used by the systems engineer. Suppose a systems engineer wants to edit a requirement in their Requirements Management tool in DOORS and wants to ensure that the same gets relayed to the development team in Jira. They don’t have to make the change and then communicate it over email, or even by a comment on the tool. All they need to do is link the artifact in DOORS to the relevant task in the issue tracking tool in Jira, and the change will be visible across both tools automatically.

By integrating all the different tools with each other, automated collaboration creates a network of interconnected information. Nobody has to leave their seat, or get on the call to get information, they can access any information at any given time, using their favorite tool. Automated collaboration also facilitates making this access as simple as possible.

How do we achieve automated collaboration?

Connect all relevant tools

The first step to achieving automated collaboration is creating a link between all the relevant tools. The version control system with the issue tracking system, the project management system with the requirement management system, and so on. Not only this, but the data present on the individual tools must also be linkable to each other. The integration must be done in a standardized way to enhance ease of use, not make everything a lot more confusing.

No learning curve

An important aspect of a good collaboration is that it doesn’t pose any new learning curve to anyone. Everyone should still be using their preferred tool, they should just have the means to share information with other tools, without having to leave the native interface. It would be counter-intuitive to change the interface of the tool or introduce a new layer to facilitate integration. Everything should be done in a way that the same application is enhanced to provide additional functionalities. Leaving Systems and Software engineers work in their preferred tools.

Implement access control

While interconnecting different tools, a challenge is to implement appropriate access control. Since people from outside a team will be accessing information, it’s important to ensure that they only have the bare minimum rights and privileges. For example, a system engineer shouldn’t be able to change the status of a bug, they should only be able to link to it, or view its progress.

Automated Collaboration vs. The Silo Effect

To minimize the impact of the silo effect, we need to facilitate efficient communication and sharing of information. Automated collaboration solutions do just that. Teams that are well-connected, share information readily and efficiently, ensuring rapid and productive product development lifecycles.

Better time management

Imagine having to wait for 12 hours to get a reply to an email because your coworker lives in a different time zone. Or imagine having to arrange a new meeting every other day, to gather new requirements or facilitate new change requests. Automated collaboration helps a workforce save a lot of time by providing ubiquitous access to all information. A developer working on a new feature knows everything about the change the product manager made to one of the requirements last night. A system engineer knows exactly what to expect from the new release by looking at the fixed bugs report generated by the issue tracking tool.

Fewer Design Failures

Conflicting requirements and lack of efficiency created by the silo effect often lead to poor product design. Via automated collaboration, the chances of design failure are reduced by manifold. Information propagates seamlessly and correctly across the different stages of the product development lifecycle. Requirements raised by the customer and written down by the product owner in their tool, are available verbatim to all the other relevant stakeholders. This means that everyone is on the same page about what the finished product/feature should look like.

Refined Processes

Automated collaboration between different tools leads to timely availability of information to everyone. All required people have access to all required information at any given time. This means that there can be no blame game within the workforce. Everyone understands their responsibilities, their superiors’ expectations, and where to look for new information. All this leads to the creation of well-defined processes and a well-oiled, highly-productive, value delivery machine.

Secure sharing of information

While making information sharing seamless, the automated collaboration also makes it secure. No data is shared over insecure channels, and only the desired recipients of the information get to view it.

Nouveau call-to-action

Optimizing engineering processes that break down tools and team Silos with OSLC

In each organization that develops complex products, it is essential that your teams optimize product development processes from concept to implementation.

OSLC technology linked data across repositories and assures the availability of current data without synchronization. Real-time data is available via links and previews across repositories. Engineers can now make critical decisions faster, with greater confidence all while using their tool of choice.

  • Connect your Quality team with your Software Team in Jira with linked Jira Tickets to RQM Test Results
  • Connect your Systems team with your Software Team in Jira with Stories linked to DNG Requirements
  • Connect your Product team with your Software Teams with Epics and Stories linked to Product Change Requests in Windchill (using OSLC Connect for Windchill[link])
  • Connect every Jira Team to the OSLC Ecosystem!

See how simple it is to use OSLC Connect for Jira to ensure effective automated collaboration at every level of your organization. 

Leave us your comment

Most read articles

Subscribe to our blog

Watch the product demo

OSLC Connect for Jira: integrate Jira with IBM Engineering Lifecycle Management.

Icon_OSLC Connect for Jira_color_144*144px_SodiusWillert_2020_RVB

 

OSLC Connect for Jira leverages Open Services for Lifecycle Collaboration (OSLC) technology to collaboratively allow linking across design and implementation teams and better manage requirements and compliance.