Craig and Tony were privileged to be asked to be the keynote speakers at LAST Brisbane 2018. This is the audio from the keynote with introductions from long time listener Dave Pryce. You can follow along with the slides below:
There are anti-patterns with doing XP at scale, continuous delivery was born from the learnings from that
Continuous delivery is just extending continuous integration to more of the software development practice (and continuous integration requires test driven development)
Continuous delivery works because it is the application of the scientific method to software development
If you work in an iterative, imperative, experimental way and you take continuous learning seriously and take cycle time as a serious measurement you will naturally drive out agile, lean, systems theory and DevOps
Most common two ways to introduce continuous delivery to your organisation – need to get cover from senior management to make change or you do it secretly at the grass roots – the fast feedback cycle is important (build feedback in about 5 minutes and ready and deployable in about an hour)
DevOps is a terrible name – we are talking about collaborative cross functional teams and it is more than just developers and operations
Continuous delivery is focused on shortening the feedback cycle from having an idea to getting the idea into the hands of users and figuring out what our users make of the idea – that’s software development, to do whatever it takes
Continuous delivery is working in a way so that my software is always in a releasable state, continuous deployment is if all my automation says my software is in a working state I can just automatically push it to production
We have data to show that continuous delivery makes high quality software faster, creates more money for the organisations that use it, reduces defect rates significantly and makes people working in that environment happier
It changes the way you design, approach databases and the way you test
Continuous Delivery tools still aren’t mature enough
The deployment pipeline is a seriously strategic resource because it is your only route to Production – need to be able to version and test it like any other Production code
It’s as much about the culture of the team than it is about the technology, it frees teams up to do experimentation
Craig is at YOW! Conference in Sydney and talks science and psychology with Dr. Brian Little, author of “Me, Myself and Us” and professor at Cambridge University and Carleton University and they analyse:
There are 5 dimensions of personality – OCEAN – openness, conscientiousness. extraversion, agreeableness and neuroticism
Biogenic features of personality – neurophysiology, sociogenic and idiogenic
We can often act out of character, we are not bound by our biochemistry
What are the core projects in your life that drive your behaviour
Skeptical of personality tests at work such as Myers-Briggs because the results are not fixed, they are good for starting a conversation but deadly if they conclude a conversation
Don’t just ask “How are you doing?” but ask “Really, how are you doing?” to show that you are taking an interest and care in your people and their projects and aspirations
We need to look at the research in this space to find exercises that we can use in the workspace to better help and understand our people
“Me, Myself and Us” is written for the person who is waiting in Starbucks for that friend that is late again
Rob, Declan, Daya, Braiden and Homad all enjoyed Dr. Brian Little’s “Personalities at Work” keynote, Andrea Burbank’s fast paced talk and the benefits of volunteering at a big tech conference
Evolutionary Architecture is the next stage on applying Agile practices to software development at the systems level and be able to respond to changes in the environment that affect the architecture
Need to determine for your system what constitutes good, fitness functions are the documentation and tests to ensure your system meets those characteristics
Need to move the needle on architecture, need to develop tools and techniques to decompose the role
CTO role is more now to set technical direction by setting up communication channels to mine insights that can be rolled out and presented to the market
ThoughtWorks Tech Radar started as a hot technology list of what ThoughtWorkers would love to work on, became a visual radar that is now released twice a year, starts with 250-300 items and they try to get it down to 100 items, something will fade after being in the adopt ring more than twice, the radar is also available as an open source tool or radar as a service
Women leave technology at double the rate as men leave technology, mostly because they are not treated well in the environment
Working Effectively with Legacy Code originally started as a book about Test First Programming but morphed into a book about the techniques for refactoring code in legacy systems
The Pinned Progress Curve – for many people there is no incentive to change so the mean gets larger between the status quo and good practices
Organisations that have technical founders have a very different character to their work internally, need to make knowledge of the quality of software more pervasive – the business need to understand more about the technical side, and the developers need to understand more about the business
Code that has excessive error handling typically has other design problems – benefit in thinking about whether certain things should be treated as errors or not
Entropy happens in all systems, including code, so technical debt is not a surprise, need to make the case for hygiene, putting a dollar amount on technical debt does not add much value
Use low impact probing to determine whether code is dead
Potsel’s Law – an implementation should be conservative in its sending behaviour, and liberal in its receiving behaviour
State of quality is improving and there is more recognition to build quality in
Property based testing is becoming more prevalent as we move from object oriented to functional languages
Holacracy was designed by a software person, Sociocracy talks about applying democratic principles to governance, these are all interesting experiments
It can be hard to recognise if something is intrinsically difficult or not something you are familiar with
We weren’t really battling waterfall, it was the lack of any process at all…
We need to work well together to get our work done
Mob Programming originated at Hunter Industries, identified we can get a lot done if we don’t have to wait for answers to questions from other people and if we are all in the same context all the time
Mob Programming – all the people on the team working at the same time, working in the same space on the same thing and using a single computer and working interactively the entire day
Work well together and turn up the good, need to pay attention on how to work well together
#noestimates – we do estimates with little validation that they are useful to us, we should question the practices we do automatically, by default or not questioning, what is the purpose for the estimates and how well are they serving us
Need to look for work that is broken down enough to something of value that we can deliver to a customer
We need to experiment more rather than trudging through mud that is getting deeper, improve small things to get a big gain