At ProSiebenSat.1, we currently manage more than 200 business applications, some with up to 1 million lines of code. These applications span a huge variety of purposes, ranging from pure data capturing and management to high-end video analytics and business intelligence applications. Some applications are nearly as old as our very first TV channel (SAT.1 was founded in 1984), and the development of our latest application – an application for scheduling of media content to video-on-demand platforms – just started recently. During this period of time, we have observed many generations of technologies in the market. So, how do we manage the use of technologies at ProSiebenSat.1?
Technology = Innovation
Basically, there are two forces at work when it comes to the use of technologies. The first one is aimed at standardization. Its purpose is to limit the number of technologies that are in use to curb complexity and to simplify knowledge management, because for each technology in place, at least one person is needed who knows how to use it. The second force drives innovation and encourages the use of new technologies that are fit for purpose of its applications. We generally try to leverage both forces, but have made a clear decision as to the one that is more important for us: innovation.
Democracy or Dictatorship?
While we follow the innovative approach and encourage our architects and developers to take advantage of new technologies, not everything is allowed. Let me briefly describe our simple approach. First, we founded an architecture community consisting of all architects across a range of disciplines (network, infrastructure, software, solution and enterprise architects) and departments. Second, this architecture community adopted a democratic approach. For each technology currently used in our system landscape or that is a popular technology in the market, the architecture community conducted a majority vote to determine how we want to deal with it. Third, we defined three categories of technologies:
- Prohibited: These technologies are not allowed for new implementations and are actively replaced in existing applications.
- Restricted: Technologies in this category may be used only in new applications with explicit approval, but may remain in existing applications.
- Standard: Active use of these technologies is generally recommended.
Finally, we do not actively monitor whether development teams use only standard technologies, but we trust that all architects within the community adhere to its decisions.
So, I’m sure you are now quite curious as to the technologies our architects voted for and that we want to use in our applications. Here are some examples:
- Apache Hadoop
Category: Programming Languages
- SAP Fiori
Category: Analytics & BI
- Apache Hive
- Claudera Enterprise Data Hub
- Arcplan dynasight
As you can see, our architecture community allows multiple technologies within the same category, as the technologies differ in terms of strengths and weaknesses. Different dynamics and evolutions in the market have to be considered as well. This rather open and broad approach enables us to remain adaptive to new trends and to encourage architects and developers to watch the latest trends and to take advantage of the latest technology innovations.
Here are also examples of technologies that we categorized as “Prohibited”:
Category: Programming Languages
- Shockwave Flash
- Visual Basic
Why it matters
Our approach to technology management leads to three major advantages that we have observed over the last two years:
Architects enjoy being part of the community and of the decision process. By discussing and deciding about technology, a lot of knowledge is shared across the teams and leads to motivation and to enhanced day-to-day architectural designs.
The rather innovative and relaxed governance of technology use encourages developers and architects to screen the market for new technologies and to identify the best technology for each use case.
The classification into three categories helps to actively push out legacy technologies like CORBA or 4GL that really nobody wants to deal with. Nevertheless, it is a long process to remove legacy technologies. We therefore usually use external companies with skilled developers to manage such legacy technologies accordingly. This frees up internal capacity to focus on innovation.