Winson goes to YOW!
I had the chance to attend this year’s YOW! Singapore 2019 and tl;dr, there were several great sharings!
There was an awesome range of speakers who are thought-leaders in the tech scene, namely,
- Kent Beck, author of Extreme Programming (XP)
- Gregor Hohpe, creator of architectelevator.com
- Chris Richardson, creator of microservices.io
- Adrian Cockcroft, VP Cloud Architecture Strategy of AWS
The event started with some welcome drinks and the collection of our YOW! t-shirt (of course!). I was surprised to see an Auth0 booth and familiar faces who we had partnered with on our Identity roadmap (stay tune). Auth0 was there to present the capabilities of their platform.
The event shortly started with an introduction by Dave Thomas, Founder and Chairman of YOW! Australia, followed by a keynote by Kent Beck. Kent introduced the 3X and the phases of software development; 3X being Explore, Expand and Extract.
3X: Explore / Expand / Extract
Kent shares about the thinking model to understand and adapt to the changing contexts in the market to achieve a winning idea. A winning idea is when it suits both the customers and the business, it leads to a win-win result. And at the beginning of the journey, is Explore. This is the phase we should be experimenting more. We can take the risks and lose a little in this phase.
We either find success or we learn and pivot.
If one of the experiments turns out to be successful, we go into the Expand phase. The implementation of our idea must continue to meet market demands; achieving consistent growth. We need to able to scale, and performance becomes a concern. We will be hit by setbacks and attention is still a limited resource, hence we do not want to continue spreading our bets across the table in this phase.
Once growth is expected, it now time to Extract. This is when the shape of the problem and solution spaces are clear. Making changes to the system will require increased levels of safety built-in as there is much more to lose now.
After Kent’s keynote, there were some technical sessions involving interaction protocols and service maps. We break for lunch, and there were opportunities to catch-up with fellow DevOps like-minded professionals.
Architects live in the first derivative
Gregor’s talk was immediately after lunch. He shared on the importance and purpose of architecture (in a market that is constantly changing) and that a good architect should be able to provide options. Options here meant deferring decisions. A good architecture that properly separates concerns should allow you to make the decision only until you have more information, at the same cost. Therefore, in times of technological uncertainty, the value of such options increases; in times of business uncertainty, the value of architecture increases!
Next topic was on speeding up software development. Gregor used metaphors from steam engines; burning more coal usually speed up the train, but what if an electric train comes along? Typically, organisations will add more coal till the boiler bursts and the engine blows up. The point is we can simply speeding things up by thinking differently. One method is to look at what is creating friction. Organisation friction takes many forms, slow software builds, lengthy approval processes, unnecessary status reports, multiple sources of truth, etc. So, speeding up is a lot more to an organisation than just making it go faster.
Here is a food for thought, if you ask a developer to intentionally slow down the development speed, what would he or she do?
Typically, a developer will introduce nasty hard-to-find bugs into the source code to slow the development down! But wait, isn’t this what we are doing when we thought of the “quick-and-dirty” approach to “speed” things up?
Understanding the Microservice Architecture Through Shapes
Immediately after Gregor, Chris Richardson shared on interesting shapes that exist within a microservice architecture. There is a hexagonal which is a structure of a service. It is like building the chassis of a car, the distributed tracing, external configuration, health check endpoint, logging, and telemetry APIs should be readily available. The plumbing would have already been done for your developer to focus on delivering business value fast.
Chris talked about how success is shaped like a triangle. In one corner, we have the process, which teams should work in a Lean + DevOps/Continuous Delivery & Deployment fashion. In the second corner, we should have small, autonomous team setups in an organisation. And lastly, architecture, which isn’t as psychological as Gregor’s topic, but with Chris’ background, of course, this is about adopting a microservice architecture. This triangle will shape what success is, which is there to deliver changes to long-lived applications rapidly, frequently and reliably.
Speeding Up Innovation
To close the event, we have another keynote by Adrian Cockcroft. Adrian shared on his view on Cloud Innovation and how AWS had used F1 data and helped the organisation provide more data to its viewers (in real-time). He shared on the different serverless offerings from AWS, and the benefits of adopting serverless, the same reasons are why we adopted serverless architecture at NTUC Enterprise too. It brings great reductions in operational cost (especially in our non-production environments).
Imagine how efficient it can be to have our services running on Lambdas in non-production environments and EKS on production!
Going serverless is not just about the running cost of our environments, but together with a #noops mindset, we are reducing the need for operational staff and hence increasing their focus at work. We also do not keep them away from their families in maintaining services 24/7. Easier operational management is indeed a benefit, but what does that mean to our businesses? Again, cost! Less time spent on operations means fewer people needed for operations, which leads to faster time to market. Moving from a Continuous Delivery model to Continuous Deployment, we develop in rapid iterations which allow us to try new experiments with low friction and minimal cost!
In the spirit of fighting climate change, a serverless architecture promotes greener computing as it reduces the fossil-fuel burning impact in keeping instances running 24/7. In a serverless setup, we only provision enough for our function needs and ensure adequate capacity management. This had led to far more efficient use of computing resources, and therefore reductions in environmental impact as compared to traditional capacity management approaches.
On my way home, I reflected on the talks today and whether skipping work for this conference was worth it. The topics range from psychological (architecture) to physical (microservices). There are mindsets in which we can pick up, there are principles which can guide us. By adopting the Agile principles, I believe I am becoming more effective by learning from practitioners that have many years of experience in the industry.
Supporting multiple iterations across different software development teams can be intense; it requires great adaptability for fast and frequent changes to stakeholder needs and technologies. Hence, getting a day off from work to learn is a great way to get inspired! Thinking about my backlog of emails to go through, this accumulation allows me to prioritise my “backlog” in one sitting.
Meeting like-minded people is always refreshing to connect with people who are eager to learn the latest techniques and technologies. In between the sessions, I get to network with good developers in the industry and re-connect with people whom I had worked with prior.
And since the event was in the same week as F1 Singapore Grand Prix 2019, I had problems finding my way back to the train station.
Thanks to NE Digital.