Improving the Software Process at Ericsson

Ericsson is the fifth largest software company in the world with over 20,000 software engineers. They are not as well known as their main products are used inside wireless networks with customers like Verizon, AT&T, Sprint and T-Mobile. Look up next time you see a cell tower, and you probably see a Radio Base Station from Ericsson.

Since Ericsson products rely heavily on software, they are constantly on the forefront of software technology. For example, the programming language Erlang (Er-icsson Lang-uage), which is used by Facebook, Amazon, Yahoo! and WhatsApp, was developed by Ericsson  (I learned it when I worked at Ericsson in the early 90’s!).

We have been working with Ericsson for a while. One project, which we recently presented at the Modelsward conference (here is the paper and presentation), was improving the software process of updating a Radio Base Station’s Managed Object Model. Historically this process started in Wordcloud MOM WorkbenchExcel, went over to Eclipse, Java, and eventually into documentation in HTML.  The new flow streamlines this software process by using a Managed Object Model Workbench which automated large parts of this process. The word cloud here was generated from the usability testing from end users using the new improved software process.

From the paper:

The identified inhibitors on the current process are inhibiting the speed for which the users are performing their tasks and the quality of the resulting output artifacts. The inhibiting effects are primarily caused by the semantic gap between the delta document and the interface model i.e. different constructs expressed in different representation systems. By only using constructs in one representation system expressed in different projections, the need for separate delta documents is eliminated and thus the semantic gap is closed.

As a result, there are improvements with respect to speed and artifact quality. Furthermore, improvements for supporting the user roles of the interface development process have been observed.

  • First, the need for manually translating the changes in delta documents is replaced by automatic transformations which merge the delta documents with the interface models in the KWSID. Eliminating the step with manual translation increases the end-to-end speed of the development process.
  • Second, communication and understanding among user roles are increased due to tailored projections. A usability test was conducted where users of different roles of the current process stated that having different but consistent views of the interface model would allow them to “make discussion easier” and “understand the consequences of the changes” defined in the delta documents.
  • Third, IDE features in projectional editors combined with tailored projections ease the tasks of viewing, defining, and comparing changes to the interface models. The majority of the users found it both easier and more useful to work with the KWSID compared to the current delta document and tooling environment. Live validation ensures those delta documents which do not fulfill specified design rules in the domain will not be passed on to the next stage of the development process. As a result, the possibilities of introducing common errors caused by mistakes and logical errors are captured in the early phases of the process.