jesussanz - Fotolia

Why agile teams prefer to bring their own development tools to projects

Why restrict a developer’s creativity and productivity with corporate standards? We explore the benefits of open source tools freedom

Software development is rapidly becoming a core competency in a company’s digital transformation strategy.

In the opening keynote of the Cloud Foundry Summit in Basel, Abby Kearns, executive director of the Cloud Foundry Foundation, said: “With digital transformation, each and every organisation is finding ways to become more innovative in leveraging software.”

This has meant businesses are now constantly developing mobile apps, adding customer feedback that can be looped back into iterative software development cycles. “We are rethinking how code is written and changes over time, and how systems are managed,” said Kearns.

The pace of change means that existing best practices quickly become passé, she added.

Also speaking at the Cloud Foundry Summit, Sarah Novotny, head of open source strategy for GCP at Google, discussed the power of open source to create tools and technologies that can worker together more easily.

“Kubernetes began as a partnership to take Google’s vision of container management and make it open source,” she said. “The initiative began in 2015, with the aim of making it a community-governed project. But any project that begins with a heavy contribution from a single company has some challenges moving to a community effort.

“So we spent the last two years working very hard to distribute our decision-making down to the developers building the specific components of Kubernetes, as well as building a cross-community governance system.” This community was elected at the start of October, she said.

According to Novotny, a lot of work takes place at the grassroots level. For example, she said she only heard about Kubo, the cloud foundation runtime, after the project was well under way. “The early days of the railroad had crazy incompatibilities, such as the rail gauges were different,” she said. “One of the best points about open source is we can find the intersection points where different projects work together and look to find ways where you don’t have to climb off one train and climb onto the next because my rail gauge is different to your rail gauge.”

Read more about Cloud Foundry

  • The Cloud Foundry platform-as-a-service (PaaS) helps developers to create and deploy cloud-native applications, and is also the basis for other companies’ PaaS offerings.
  • Cloud Foundry’s executive director, Abby Kearns, sets out the organisation’s plans to ensure that market awareness of the platform keeps pace with its rapid enterprise adoption.

Novotny added: “I have been a closeted evangelist of utility computing for five years. I see a space where we have developers building what they need and what their companies need using the tools they need. We get past the religious debates of the platforms – you have to use our platform. Instead, we find much more composable systems, so you can run Kubernetes on OpenStack or Azure.”

She said it is important for the toolsets to fit in with what the developer wants to do, rather than the developer needing to change their way of working to fit in with the toolset.

Insurer Allianz has begun shifting to a more flexible approach to software development. A project team at the company explained its approach to developing a new mobile app during the keynote presentation at the summit.

Sarah Heldt, product owner at Allianz, said: “Whenever a big company wants to launch a new product, there are a gazillion requirements – you have to fill in a tonne of documents, the application takes forever to deploy and by the time it goes to market, it is already outdated.”

Heldt said Allianz is on a journey to reduce this effort by moving from waterfall to lean software development. Its team, which comprises five developers and a designer and has Heldt as the team owner, began work 18 months ago. The company worked with Pivotal to change the way the team worked.

“We embraced a lean startup methodology, which means we produce work based on a minimal viable product,” said Heldt. “It’s our goal to achieve technical excellence and true customer-centricity. Before we start developing a user story, we think about the business value behind this story.”

Real users’ sentiment

The team also dovetails its developer process with user testing to gauge real users’ sentiment about the software development, which can then be fed back to improve the app in its next iterative release, she said.

Speaking about the shift in developer methodology, the team’s designer, Denis Kostic, said the team is organised so that everyone can sit along the same table to work together. Each team member’s opinion matters, he said.

Kostic said the team avoids having too many meetings, generally unplugs telephones to avoid having long meetings, and produces work based on short user stories. “We like to put Post-it notes on the wall and we literally have to stand up to present our ideas and learnings, not only to our team-mates but also to our stakeholders,” he said.

User tests take place at least once a month to enable the team to test new features before they are released to production. “Our number one priority is to provide further value in the app for customers,” said Kostic.

The team’s developer, Simon Neusser, said: “Although we are a small team, we use a large variety of tools and technologies. The improtant thing is that we are in charge of our development tool stack. The team gets to decide which tools fit best with the way we work.”

Cool new language

For instance, the team chose to develop the Android version of its app using Kotlin, a new Android scripting language, rather than adopt the corporate standard, Java, he said. “We just though it was a cool new language and saw its potential to make us code faster.”

The Allianz team operates with a DevOps mindset. The native Android and Apple apps use APIs (application programming interfaces) hosted on Cloud Foundry, to work as a service interaction layer to access customer and insurance agent information from back-end Allianz systems.

“After we build it, we have to be able to run it,” said Neusser. What is important here, he said, is the ability to optimise the parts of the DevOps process that do not add any value.

One example is the build pipeline, where Allianz has used automation tools such as Jenkins, said Neusser. When a story is completed, the resulting source code is pushed up to the team’s GitHub code repository, where the build pipeline automatically runs, building the project, and runs more than 1,000 automated tests. If the tests are completed successfully, the app is pushed on to Cloud Foundry or directly to the Android app store.

What the Cloud Foundry Summit shows is that now is the time for corporate developers to rise to the challenge and opportunity presented by digitisation. DevOps and agile are clearly key ingredients to success, but as the team from insurer Allianz has found, the flexibility to use its prefered tools rather than those set by the corporate standard is an important consideration.

Read more on Software development tools