#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.

Shh, don’t talk out loud about PLM!

Phew, as a PLM fan you had to take a deep breath last week: Two well-known bloggers lowered their thumbs in the headlines: Joe Barkai: “Why I Don’t Do PLM” and Oleg Shilovitsky: “Are PLM conferences dead?

Curiously, both pull on the opposite ends of the rope. For Barkai, the classic view of PLM as a “single version of the truth” falls short, while Shilovitsky conjures up the basics behind the PLM idea.

Barkai: „I find it fascinating that traditional PLM software vendors are not realizing how the Internet of Things and the connected enterprise are breathing a new life into the PLM space that does not quite know how to reinvent itself. After decades of using enterprise PLM software, it is still common to hear at a PLM conference a speaker announcing, “Let me give you my definition of PLM.” Or those never-ending debates about eBOMs and mBOMs and where PDM ends and PLM begins.“

Shilovitsky: “I know many people struggling with their PLM decisions and fighting alone to balance tools, budgets, organizational and cultural changes and timelines. Companies are struggling with very basics things – Part Numbers, Change Management, Revisions, and others. To discuss the real problems, can be an opportunity. This is the foundation – the story. This is a single unit… If a single unit doesn’t sell, making it broader or scaling it up won’t solve the problem.”

To be honest, depending on which colleagues I talk to in our company, it could turn out similar. But there is one thing we are all pretty sure about: Writing PLM in bold on an invitation or an advertisement takes some courage these days.

So are the best times of PLM over?

Companies survive in the market because they listen to their customers and adapt their offer to new requirements and possibilities in good time! Yes, the basics are still the low-hanging fruits, and the pioneers are taking care of the more demanding potentials in the product lifecycle, where the integration of disciplines, tools and processes is at stake. Some PLM providers, for example, are using their experience and their current portfolio around the virtual product to expand their offering towards the internet of things and the digital twin.

This highlights the dilemma: PLM, unlike ERP or financial accounting, has never been a self-runner. The PLM idea has always had to be particularly convincingly motivated by the sponsors.

And this has often not been successful, as my colleague Rolf Stübbe puts it in a nutshell in his blog post “20 years of PLM: Why do many still doubt the benefits“: “Despite the renewed increase in attention for PLM, I notice that the term still has a large, cumbersome, tedious and uneconomical flavour. Supposed lighthouse projects such as the almost endless Teamcenter introduction at VW and Dassault’s licensing policy, which was one of the reasons for the Code of PLM Openness Initiative, are representative of the many pinpricks that have tarnished the reputation of PLM over time.

Conclusion

It’s like Monty Python in the Fawlty Towers episode of “The Germans”: “Don’t mention the war!” PLM: Everyone thinks about it, but everyone tries to avoid the term. 

Yet times have never been better for the PLM idea than today. The pressure in companies is high and continues to rise in order to take advantage of the opportunities offered by the digital transformation. But storytelling must get better. The old stories and complicated definitions are certainly no longer suitable, and the PLM concept as an advertising medium is only of limited use. Storytelling and project marketing belong together right from the start. It starts with the goals. Here I am with Oleg Shilovitsky: we shouldn’t throw out the baby with the bathwater. Crude promises and obscure visions that are doomed to failure do not help, on the contrary. It is better to package the low hanging fruits attractively, give the project a meaningful name and do everything possible to ensure that the initial, manageable goals are achieved.

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.