Live from JAXconf
JAXconf Keynotes - Hickey analyses the value of Value, Humble on Continuous Delivery
Day Two of JAXconf continued supplying top quality speakers, and smack bang in the middle was a double header keynote with Rich Hickey stepping up to deliver 'The Value of Values' and Jez Humble showcasing the wonders of 'Continuous Delivery'
He started by splicing the definition of IT, debunking what the dictionary says and took us on a whirlwind tour of programming over the ages and how practices had changed. Rich discussed place-oriented programming (PLOP), immutable strings, memory and records and also dismantled the definition of a value pretty neatly, hoping to change the room's thinking on them.
We then went onto programming values, more specifically immutable and what makes values valuable. Value can be shared and create reproducible results, something which Rich believes really matters, and can be easy to fabricate.
"Values are language independent - the notion of a string has nothing to do with a programming language. They're generic." said Rich. Conveyance, perception and memory are key things to think about with values. Rich then moved onto to understanding facts and how it helps in programming, saying facts are a documentation of the past and cannot be changed.
"We should certainly be building systems that are value-oriented:" Rich added, before going onto decision making when developers are writing source code and controlling it. Timestamps are key to tracking values.
Rich then went onto the field of Big Data, breaking up some myths surrounding it. 'I think we're moving into what I'd like to call the space age - the unlimited expanse in which all things are located, and all events occur: said Hickey.
"We still get databases that use place-orientation but the rationale is gone. We're missing out on the value of values": suggested Hickey. A rethinking process needs to occur for the enterprise to fully realise information systems.
Jez Humble then delivered a rapid-quick overview of Continuous Delivery, resonating with the audience on the woes of the Agile manifesto. In a developer-centric room of developers, there was even a round of applause from testers before Jez discussed the main benefits of Continuous Delivery - the software automated practice to make sure software is always production ready through a number of means.
The magic ingredients for CD are configuration management, continuous integration and automated testing. 'Continuous integration is not just Jenkins, it's a practice. It's a feature, not just a tool' said Humble. He then spoke about testing: that it should be done all the time in a variety of ways to make sure everything is perfect.
We then looked at the deployment pipeline - an automated implementatio of your system's build, deploy, test, release process. 'All this stuff should be push button - we need rapid feedback on what we've just done.' The whole process can be done in 10 minutes and in times of hardship, people can only log in to solve the problem - it's a millitary drilled intricate process where it's a high priority to fix the problem and make sure minimal impact occurs in trouble.
Humble touched upon the issues of convincing your business to adopt CD, but said it's not risky to implement. The two goals of operations and developers are in conflict, and Humble talked about Devops and the merging of the two to collaborate.
'The tools and patterns exist for this to happen today.' said Humble, concluding that it wasn't a technical problem to improve release cycles but a people problem. Everyone needs to be together at the beginning, keep meeting and visibility is a key driver for Continuous Delivery - you need everyone on side.
Humble put forward a convincing argument to those not fully realising the Continuous Delivery principles, casting aside Scrum and the like to fully embrace the wonders of CD.