Platform Engineering

Liz Douglass

Internal and external capability: both is best

Posted by Liz Douglass on 15 October 2020

DevOps, Modern Engineering, Software Delivery

Something I’ve consistently observed in my career is the difference in capabilities between in-house and consulting engineering teams. I absolutely believe there is a need for both and the challenge for CIOs is to strike the right balance between the two. Why both? See my example below.

 

Collaboration

 

Internal team members have valuable knowledge but can have dated skills

 

I worked on a project for an investment bank when I was in the UK. The engagement was to replace the bank’s investment allocation engine, which was a mainframe application at the end of its life. We were brought in to develop a new Java-based application, working with the bank's own development team to deliver the project.

 

During the delivery phase, the in-house team’s knowledge was invaluable for us to understand the context of the application and its functionality. However, there was a significant gap between the in-house team’s engineering abilities and the skills needed to develop and maintain the application. Most members of the in-house team had been with the company for a long time and had only worked on the mainframe application. They had limited exposure to new and emerging engineering practices such as continuous delivery.

 

External consultants can boost the skills of internal team members

 

Our project introduced practices including automated testing, version control, continuous integration, code design and data management, all of which were new concepts to the in-house team.

 

We took a multidisciplinary approach to improve the capability of the bank's engineering team during the delivery phase. This included a mentoring program to furnish the team with the requisite development and engineering skills to successfully maintain the application well after we had completed our work.

 

Don't just build the product, build the people

 

Working with the bank's leadership and HR teams, we wrote new position descriptions for each team member and created a skills matrix that reflected both the existing and requisite new capabilities. These team members had highly valuable and deep domain expertise that the bank wanted to retain, but they lacked the technical skills. The skills matrix provided clarity on what each person needed to achieve in order to meet the refreshed expectations of their new position descriptions.

 

For the duration of the project, we met fortnightly with each of the in-house engineers to provide one-on-one mentoring and guidance. Between each mentoring session, the engineers were given the opportunity to work on the skills we knew they needed to develop. For instance, if Sam needed to learn about continuous integration, we paired him with our resource who was working on building that pipeline. On-the-job learning was a key component of the upskilling approach.

 

We also ran regular ‘lunch and learn’ sessions with the in-house team, discussing specific topics to help with the upskilling process. We’d bring in articles for discussion or run coding dojos.

 

Some team members exited the company and others chose to learn the necessary skills to support the new allocation engine. When the mentoring program finished, the bank's team was a fundamentally different group that could work successfully without us.

 

Internal team members and external consultants both add value

 

In-house teams understand how their companies work and have a deep understanding of their applications and the ecosystems they belong to. They have been applying the band aids for years, so they know all the trouble spots.

 

However, they risk developing tunnel vision because of their limited exposure to processes and practices outside of their employer. They get so caught up doing the job, they are not prepared for the next key moment of change.

 

Consultant engineers are typically experienced in many types of technology and have exposure to new and emerging development practices. However, they lack the contextual understanding for specific applications or environments.

 

Set yourself up for after the project

 

It’s our goal for clients to become more self-sufficient and utilise consultants strategically. They need to be successful long after our engagement ends. All our clients benefit from the ‘halo effect’ of working alongside our engineers. It’s also why we have specific services that help uplift our clients’ capabilities during an engagement.

 

 

If you like what you read, join our team as we seek to solve wicked problems within Complex Programs, Process Engineering, Integration, Cloud Platforms, DevOps & more!

 

GET IN TOUCH!

Leave a comment on this blog: