Social Coding: The Origins Of IBM’s Bluemix

red hat, cloud

IBM’s Bluemix cloud application development platform came out of an IBM experiment known as social coding and is now the Bluemix Garage Method

The Bluemix Garage Method

Meanwhile, social coding eventually became what is now called the Bluemix Garage Method. Not long after releasing Bluemix in 2014, IBM introduced its first Bluemix Garage in San Francisco in April of that year. A Bluemix Garage is a physical location where developers and designers can collaborate with IBM experts to create and deliver new cloud apps deployed on Bluemix.

“The Garage Method is how we develop code — like we broke our teams into squads,” Diaz said. “We do pair programming, we have the ability to make pull requests on each other, and we perfected our social coding. The ‘how’ is very important and it’s very important to the history of Bluemix. This method that we call the IBM Bluemix Garage Method has a tagline that says: Act like a startup, deliver at enterprise scale.It combines the best practices of design thinking, lean startup, agile development, DevOps and cloud to build innovative solutions. And clients love this because they want to know how they can do it. It’s great for retention and for attracting talent because everyone wants to work this way.”

Rachel Reinitz, an IBM distinguished engineer and CTO of the IBM Bluemix Garage, took us a little deeper into the process.

cloud“We have a core set of practices and a very disciplined Agile approach, married with the design thinking of a startup,” she said in an interview. “When we work with enterprise customers there are elements of the Agile world that we adopt. We do a form of extreme programming where you don’t design a test. You design and you code for the story in front of you. So you cross multi-speed IT and you design for that. It often pushes on the culture of the enterprise customers and they want that. They want us to help show them how it can be done. When we work with enterprise customers there are elements of a pure Agile process that we augment. For example, in a pure Agile world and we do a form of extreme programming, you don’t design ahead, you design and code for the stories you have in front of you. But if the app you’re building needs to tie into backend systems, you need to do some of that analysis up front. Because you need to align what you’re doing on the fast-speed innovation side with the changes you need on the slower-speed existing organization. So that’s where you cross into multi-speed IT. So you have to adapt for that. Those are the kinds of things we do with enterprise customers. So it’s not a tunnel vision around Agile. It’s more like let’s make this work for the applications and the culture and environment you’re in.”

However, before the garages came to fruition and before Bluemix even had an official name or a unit in place to run it, IBM took the technology through a limited beta release to see what people thought.

“And the uptake was unbelievable – we had a bunch of clients who wanted to use this capability,” Diaz said. “The experiment worked. Social coding delivered success. We put Steve Robinson, general manager of cloud platform services in place to build the team. So that was how Bluemix came to be. It was an IBM development methodology social coding practice. It started out small. It was organic; it was built internally.”

No Pressure to Join the PaaS Race, But to Help Clients

Ironically, the effort began prior to the PaaS craze taking off, Diaz said.

The Bluemix concept originally came from a project to improve how IBM could help developers in enterprises and SMBs build applications in the cloud faster, said Damion Heredia, IBM’s vice president for Cloud Platform Services.

“When we looked at people trying to build their first cloud app, they were spending a majority of their time setting up infrastructure,” he said. “And a good portion after that was spent on maintaining the infrastructure. So provisioning VMs, cache and storage, locking down security, standing the network, setting up the tests to make sure it all works. By the time they were done with that then they get to focus on writing their code for the app. That was great for development, but when they got into production, then it was another deal on how do I move this development environment over to production and maintain and run it. Developers were spending too much time on the plumbing and not enough time on the business of writing code.” Enter Bluemix.

Diaz says he believes what makes Bluemix so attractive to developers and to enterprises are three things: choice, the “candy store” and the methodology.