Introduction of advanced Software Development Methodology

Situation

An international organization, leading in the semiconductor industry, has been driving a constant change for over 20 years from mechanical systems to complex mechatronic systems. The transformation was implemented by the integration of only some low-level electronics (microcontrollers) which was not sufficient in the age of Industry 4.0 with an exceptionally growing proportion of software components. Machines require steadily increasing automation and customers expect more specialized variants. At the beginning, the organization faced these continuously growing challenges with individual developers who operated without advanced software development methods such as requirements engineering, release management, test automation, continuous integration etc. Since there was no existing software development process, the organization was hardly able to plan releases and frequently had to deal with software errors. Since change management was also missing and changes were implemented on demand, the organization was not able to maintain software or re-use it in the long term. 

Eventually, the organization realized, due to pressure by customers, that it needed a software development process with the current state-of-the-art technology and asked Method Park for external support on the introduction and implementation of advanced software development methods.

 

 

Project Duration/Volume (employee months)

2 years

1 Systems Engineer (Enterprise Architect)

2 Requirements Engineers (TFS, Doors Next)

1 Product Owner

Scrum Master

5 Engineers (#C, WPF, WCF, Ranorex, nSubstitue, xUnit, TFS)

Any Questions?

Any questions about our engineering service offers? Feel free to call us!

Contact card openContact card close

Solution

Together with the customer, the Method Park team created a concept with the goal of efficiently solving the above mentioned problems/challenges in the near term.

As a first step, Method Park supported the customer on the selection of an appropriate tool chain for requirements engineering, software engineering and test automation.  

Then the Method Park team introduced the agile software development process Scrum into software development. So the customer was able to react more flexible to content changes and stakeholder requests. Furthermore, the development team was enabled to better represent progress in development in sprint reviews.

Method Park solved the problem of poor software quality with the introduction of a comprehensive testing concept including the creation of test specification, an introduction of unit tests with workshops at class level of nSubstitute and xUnit, the development of test automation with Ranorex to implement integrations and software tests, and the mental and technical coaching of the development team. 

Furthermore, Method Park engineers developed a simulator (C#, WPF, WCF, .NET) which simulates the applied PLC and so enables development of product software without truly existing machines. With the simulator, the team accelerated the development cycles since parallel development of product software is now possible. The simulator was also an important component for test automation.

 

Solution

Continuous integration (TFS)

Coaching and introduction of the agile software framework Scrum 

Coaching and introduction of systematical testing methods on all test levels

Test automation (Ranorex)

Unit testing (nSubstitute, xUnit)

Development of a simulator (C#, WPF, WCF, .NET)

Coaching on the topics requirements engineering, UML, software architecture, software tests

 

 

Benefit

On the basis of the excellent cooperation between the customer and Method Park, a new product line was successfully introduced on the market after only one year. 

The mood among the customer’s employees significantly improved since the customer repeatedly received positive feedback on the software’s stability. 

“Lonely software heroes” belong to the past since Scrum focuses on teamwork and provides exciting and challenging responsibilities for each individual team member. 

The test framework for test automation is modularly designed and can easily be transferred to other product lines without great adaption efforts.  

The customer was extremely satisfied by the technical know-how of the Method Park team so the customer commissioned Method Park again to support the development of new product lines. Method Park now creates a software platform together with the customer which will be used for different product lines of the organization. 

 

Benefit

Successful delivery of a new product line

Release and bug management

Significant increase in software quality

Significant rise in mood among employees

Consistent further development by coaching