Context is King – virtual collaboration in product development

The past two months have given the topic of virtual collaboration an enormous boost. The Corona crisis has forced everyone to deal with this topic. And the conclusion is consistently positive!

In the first few weeks, the main task was to create the possibilities for virtual collaboration. Now it is a matter of continuing to use the potential of these possibilities after the return to “normality”. What’s even more: many companies are taking the experience they have gained as an opportunity to rethink their structural and process organization and to further digitalize business processes.

Special case product development

While common office solutions in combination with video conferencing are easy to use in areas such as administration, marketing or sales, they often reach their limits in product development. One reason for this is, among others, the high level of interdisciplinarity in this area. Many different specialist teams have to work together at the same time and on several projects. Added to this is the high complexity of the work objects, which are often developed as structures and have many different relationships with each other. In order to work together productively under these conditions, the possibilities of the usual IT tools are not sufficient.

New requirements for IT tools

Intelligent platform solutions for collaborative product lifecycle management (PLM), which enable context-related interdisciplinary work, provide a remedy here. Context-related means that all work objects are linked to each other and can be called up at any time in the work process and from any context. Analysts like Gartner speak of content collaboration tools. This means that you can navigate from one work item to all neighboring work items without having to search and ask questions. This guarantees efficient and valid collaboration, especially in distributed teams.

Intelligent platform solutions offer yet another advantage in collaboration: a common environment in which all project participants can inform themselves and view changes directly. Cross-team chat functions, so-called activity streams, support the consistent exchange of information on the current status of the project. Especially in virtual collaboration, this guarantees a continuous flow of information, which in most cases more than compensates for the lack of “office grapevine” or the meeting at the coffee machine. Gartner has a term ready for this, too, which is Workstream Collaboration.

Another key component of intelligent platform solutions is the use of integrated task boards, which allow development teams to organize their tasks independently. In the past, task lists with several hundred entries were often used. Today, task boards allow only important milestones or quality gates to be set, but leave the individual tasks within the milestones to the teams themselves. This allows an interdisciplinary, distributed team to carry out a joint weekly planning on screen in virtual sessions, e.g. via Zoom.

The main advantage of integrated task boards is the direct linking of to-do cards on the boards with the work objects. This avoids not only the time-consuming search for the appropriate work objects, but also error and version risks. These additional expenses and risks usually occur with purchased individual solutions.

Conclusion:

The Corona crisis has prepared the ground for the continuous expansion of virtual collaboration – also in product development – from now on. Product development places special demands on IT tools for efficient virtual collaboration. Especially working in context is a decisive productivity factor here. Selected intelligent platform solutions for collaborative PLM already meet these requirements today.

#workfromhome – How does our software development work together now?

At CONTACT we believe that personal and informal interaction of people is an important success factor in complex technical projects – and without doubt this includes the development of our own software products. We therefore attach great importance to giving our teams the opportunity to meet with their colleagues in their offices, our meeting rooms or in places like the “Red Sofa”. All this came to an abrupt and hopefully temporary end through Corona.

Home office for everyone
After initial preparations in the days before, CONTACT decided over the weekend of 14-15 March to let all employees work from home. In contrast to many of our customers, “Work from Home” meets particularly favourable conditions at a software manufacturer: There is no production where material has to be moved, and software as a “virtual” product can in principle be processed anywhere in the world.

As an IT company, we naturally have a suitable and efficient technical infrastructure, and apart from a few necessary hardware transports of workstations, screens and so on, the software development and also the other areas at CONTACT were ready for use in less than a day.

In addition to our headquarter in Bremen, we operate development sites in Munich, Cologne, Paderborn and Stuttgart and frequently work together with external partners. That’s why means of communication such as e-mail, telephoning via Voice-over-IP, Microsoft teams and so on are an daily routine for our technology-aware software developers anyway.

What really holds our development together, however, are the common processes and procedures, and the associated systems. The most important business platform is our in-house installation of CONTACT Elements, or CEDM for short. Everything we do converges there, and all other IT systems are connected to CONTACT Elements.

CONTACT Elements’ Activity Stream enables us to share information and documents quickly and efficiently.

Products
Each software component of CONTACT Elements is listed as a product in our Elements in-house installation. We manage the source code of our business applications in Git or Subversion repositories, which are linked to the product object. Errors or change requests for the software products that arise from the field are managed as “Change Requests” in Elements. If these lead to code changes, a direct link is created between a change request and a source code change (a “commit”) in Git or Subversion. Of course, we also keep a list of product releases and their maturity level in CONTACT Elements.

Our development processes are highly automated and, by nature, completely digital. We operate many other systems that automatically build, test and measure software. All these systems are directly or indirectly connected to CONTACT Elements.

Every hour that a developer spends maintaining or further developing a software component is recorded in CONTACT Elements. This way we always have an overview of the extent to which we invest in software components and what the maintenance costs are.

Projects
Our development methodology combines several agile methods with extensions specific to our company. It is called “Revolution” and is stored in CONTACT Elements by templates for projects that can be adapted by “Tayloring”. In “Revolution” there are also a number of deliverables, which are defined in CONTACT Elements as documents from templates. We create requirements as specifications in CONTACT Elements’ requirements management. Project planning is done in iterations, which are planned and processed with task boards.

Task board for a current development project at CONTACT.

As a result, all information that is important for our development can be found in one system and linked together. All employees are well acquainted with the terms, are able to access the relevant information at any time and are guided by the systems to the right next activities.

Conclusion
In the current crisis, this system and process landscape creates trust and the ability to act. It has enabled us to switch to remote work practically from one moment to the next without any distortions. In addition, thanks to the willingness of our staff to change and the already existing tendency towards technical tools of communication, we have succeeded in shifting personal interaction and meetings to the Internet via video chats and web conferences.

Agile physical product development?

My last blog post was about teams that only become really agile through experience. Today, the focus is on the challenges that agility brings to engineering.

Almost 20 years after the Agile Manifesto, agile software development has become widely accepted. It is no longer about whether, but only about best practices in detail and agile scalability. The success and ease of use of task boards, for example, have led to agile procedures also finding enthusiastic users outside software development where tasks are processed in a team.

This finally led to the increasingly intensively discussed question of whether physical products could also be developed more efficiently with an agile approach.

Why?

For many years, there have been established product development processes that have reached great maturity and support successful development. Why abandon them and take on the risks of a completely new approach?

The more unclear the requirements on the product are and the less known the technology to be used, the less suitable classical project management methods are, because they are very strongly forward-planning. It is precisely this tendency to start projects despite initially incomplete requirements that we are increasingly observing. Digitization and new technologies require new business models or new technological capabilities. This speaks for an agile approach, as it was invented to deal with ambiguity and not-yet-knowledge.

Is that even possible?

The decisive question here is: Are agile methods from software development at all suitable for mastering the challenges of “classical” product development? In contrast to software, physical products are developed with a much greater division of labour. The production of faulty components causes high consequential costs and the validation depends on physical prototypes. It is not possible to present a new, functioning and potentially deliverable stand every two weeks. Solutions for such problems require a creative further development of the known agile process models. A very simple example: The teams of different domains use different sprint durations. While the software team delivers every 2 weeks, the mechanics team delivers every 6 weeks. It is important to synchronize the sprints so that a common increment is achieved every 6 weeks.

The challenge

The challenge of introducing agile methods is therefore twofold: On the one hand, it is necessary to adapt the agile methods from software development to the conditions in product development. On the other hand – and this brings me back to my previous contribution – a lot of agile experience is needed to successfully make such adjustments. In order to resolve this contradiction, one should bring together the pioneers who dare to venture into new territory with experienced “agilicans” who master their craft in software development. Mutual learning and sharing of knowledge leads to a better mastery of product development under rapidly changing conditions.