1 DAY CONFERENCE

YOW! Singapore 2018

Topics covered at #yowsg

Saturday, 8th September in Singapore

9 experts spoke.
Overview

Since 2008, YOW! has brought 200+ International Software Experts from North America, Europe and countries around the world to over 10,000 software professionals in Australia. Now we're bringing them to Singapore.

Come to this one-day conference to discover the latest trends and network with fellow developers. Hear international software experts share best practices in development and delivery.

Excited? Share it!

Programme

Serverless Apps with AWS Lambda

This is a practical workshop for developers and architects that want to take advantage of the latest trends in cloud computing: serverless apps and cloud functions. Through hands-on exercises and teamwork, you’ll learn about using AWS Lambda and API Gateway to create responsive event-driven micro-services, auto-scaling web APIs, and high-performance web sites. By the end of the workshop, you will create a useful real-world serverless application, exploring the typical architectural patterns.

Serverless platforms significantly reduce the cost of running high-performance web sites and API services in the cloud, but with a major impact on architecture, these services also require teams to re-think how to approach sessions, storage, authorization and testing.

The author of the workshop is Gojko Adzic, a key contributor to Claudia.js, a popular open-source deployment tool for AWS Lambda.



Gojko Adzic

Gojko is a partner at Neuri Consulting LLP. He is the winner of the 2016 European Software Testing Outstanding Achievement Award, and the 2011 Most Influential Agile Testing Professional Award. Gojko's book Specification by Example won the Jolt Award for the Best Book of 2012, and his blog won the UK Agile Award for the best outline publication in 2010. Gojko is a frequent speaker at software development conferences, including NDC, Agile Days, Oredev, and YOW!, and is one of the authors of MindMup and Claudia.js.


Impact Mapping

Have you struggled to split user stories into small but valuable chunks? Do you have problems prioritising stories or getting a commitment from business stakeholders on what they want to achieve? Do you have issues deciding when a story is done or how many other stories you really need to achieve a business objective? Are you managing large amounts of stories that are problematic to estimate, prioritise or plan for? If so, join this interactive workshop and bring your product owners and business sponsors to learn how to get the most out of user stories.

Gojko Adzic will present several simple yet incredibly effective ways industry-leading teams apply to make their user stories much more effective. Come to learn how to ensure that things coming into your work stream are defined well, split to be small enough but valuable, and achieve the big benefits of adaptive planning and that you can expect from great user stories.

“I had the fortunate experience of attending Gojko Adzic’s workshop at Booster 2014 on improving user stories. I must say, that for me it was more like ‘radically rethinking the way you’re doing user stories’” Ørjan Taule

“Clearly loads of insight and value + well worth doing” - Rory MacDonald

“Enjoyable, interesting and useful course with engaging teacher”, Morven Ramsay

“Engaging, informative and energizing - it’s a must”, Rob Malcom

“Thought provoking! Inspired to try and implement the ideas in my team”, Gavin Bussey

“Amazing, totally reshapes my mind about user stories”, Ben Hughes, Equinox IT



Gojko Adzic

Gojko is a partner at Neuri Consulting LLP. He is the winner of the 2016 European Software Testing Outstanding Achievement Award, and the 2011 Most Influential Agile Testing Professional Award. Gojko's book Specification by Example won the Jolt Award for the Best Book of 2012, and his blog won the UK Agile Award for the best outline publication in 2010. Gojko is a frequent speaker at software development conferences, including NDC, Agile Days, Oredev, and YOW!, and is one of the authors of MindMup and Claudia.js.


Painless visual testing

When visuals come under test automation, the outcome rarely justifies the cost. Visual tests tend to be too brittle, to difficult to maintain, and too slow to execute for quick iterative delivery cycles. However, recent improvements in cloud computing and browser capabilities make it possible to change the economics of the test automation pyramid. Gojko will talk about how trends such as approval testing, cloud functions and automated image analysis can help us automate acceptance/regression tests for visual look and feel in a visual language, rather than xUnit style code, and make such tests easy to write, understand, execute and maintain.



Gojko Adzic

Gojko is a partner at Neuri Consulting LLP. He is the winner of the 2016 European Software Testing Outstanding Achievement Award, and the 2011 Most Influential Agile Testing Professional Award. Gojko's book Specification by Example won the Jolt Award for the Best Book of 2012, and his blog won the UK Agile Award for the best outline publication in 2010. Gojko is a frequent speaker at software development conferences, including NDC, Agile Days, Oredev, and YOW!, and is one of the authors of MindMup and Claudia.js.


Advanced Deployment Pipeline Techniques

The Deployment Pipeline is a central concept in Continuous Delivery. It represents an effective, controlled channel through which all changes destined for production pass.

A defining objective in CD is to work so that our software is always in a “releasable state”. By applying high levels of automation to our development process, in the form of a Deployment Pipeline, we pass all changes to our production systems through this channel and evaluate them prior to release.

This means that the pipeline quickly becomes a strategic resource.

As our use of this important tool grows, the performance of the pipeline, in terms of the rapidity with which it can give valuable feedback on the quality of your work, becomes a central concern.



Dave Farley

Independent Consultant
Continuous Delivery


Continuous Delivery Fundamentals

Continuous Delivery is a complex, holistic approach to software development and has a significant impact on the way in which organisations operate. This approach demands a broad range of skills and techniques. This course is designed to introduce, and explore a deeper understanding of, these ideas and techniques. It is primarily aimed at “Change Agents” within organisations, Managers, Leaders, Lead Developers, Lead Architects and so on, but is relevant to anyone who works on delivering valuable software to users in any capacity. More specifically this course will give you the tools to help your company become a 'Learning Organisation'. Increase efficiency and quality, and reduce risk in your software development process. Our training can teach the techniques that will allow you to increase user satisfaction and make your organisation more innovative. We do this by teaching an approach that will allow your company to become more experimental and capable of reacting quickly and efficiently to change and allowing your software development process to become a tool that enables this flexibility rather than an impediment to it.



Dave Farley

Independent Consultant
Continuous Delivery


The Rationale for Continuous Delivery

The production of software is a complex, collaborative process that stretches our ability as human beings to cope with its demands. Many people working in software development spend their careers without seeing what good really looks like. Our history is littered with inefficient processes creating poor quality output, too late to capitalise on the expected business value. How have we got into this state? How do we get past it? What does good really look like? Continuous Delivery changes the economics of software development for some of the biggest companies in the world, whatever the nature of their software development, find out how and why.



Dave Farley

Independent Consultant
Continuous Delivery


Dynamic Reteaming at Fast-Growing Companies

Team change is inevitable, especially when your company is hiring like crazy and doubling in size. Your teams might grow and split. 20 people might arrive in one day. What feels like “tectonic shifts” happen as you morph structurally in an attempt to refocus work and people. How can we bring a humanistic stance to this dynamic reteaming? How can the people be empowered to own their own team changes? How do you integrate the new people in without losing your sense of “culture?” We will explore questions like these with an interactive format. Along the way, I’ll share case studies from 3 successful startups I’ve been a part for nearly 20 years.



Heidi Helfand

Director of Engineering Excellence
Procore Technologies


Dynamic Reteaming at Fast-Growing Companies

Team change is inevitable, especially when your company is hiring like crazy and doubling in size. Your teams might grow and split. 20 people might arrive in one day. What feels like tectonic shifts happen as you morph structurally to refocus people and work. How can we bring a humanistic stance to this dynamic reteaming? How can the people be empowered to have ownership over their team change? How can we integrate the new people and redefine our sense of “culture?” We will explore questions like these and will discover practical strategies to master dynamic reteaming.



Heidi Helfand

Director of Engineering Excellence
Procore Technologies


A Practical Introduction to Coaching Conversations


Listening is power. By tuning in and applying self-management and directed curiosity, you can help others solve their own problems instead of telling them what to do, giving them the tools they need to be leaders in your organization rather than order takers. Heidi Helfand leads a crash course in coaching conversations, helping you become a better and more empowering leader, coworker, and friend.

Heidi first makes the case for focused attention, listening, and awareness—skills that help people feel “heard.” You’ll then learn specific strategies like the three levels of listening, paraphrasing, and mirroring and discover how you can draw people out by asking powerful, open-ended questions. You’ll be able to apply these lessons to all areas of your life.



Heidi Helfand

Director of Engineering Excellence
Procore Technologies


Architecting Enterprise Transformation – 37 Things One Architect Knows

Gregor Hohpe has been a recognised expert in architecture for over 15 years, most recently with his work with a large worldwide insurance company. This is a special opportunity to spend a day learning and sharing experiences on how to navigate a digital transformation in the enterprise.

Many large enterprises are under pressure to transform their IT architecture and organization, as their business is attacked by “digital disruptors”. IT architects can play a key role in such a transformation because they combine the technical, communication, and organizational skill to apply IT for the benefit of the business. Their job is not an easy one, though: they must maneuver in an organization where IT is often still seen as a cost center, where operations means “run” as opposed to “change”, and where middle-management has become cozy neither understanding the business strategy nor the underlying technology.

This workshop illustrates how software or IT architects can play an active role in driving the digital transformation of a large enterprise. To do so, they need to extend their horizon beyond dealing with technology to navigate organizational politics, get management attention, work with external vendors, and pick the right battles. The examples and anecdotes originate from the presenter’s experience as Chief Architect in a large financial services organization that is undergoing a massive IT transformation.



Gregor Hohpe

Enterprise Strategist
AWS


Keynote - Architecting Enterprise Transformation 37 Things One Architect Knows

Many large enterprises are under pressure to transform their IT architecture and organization, as their business is attacked by “digital disruptors”. IT architects can play a key role in such a transformation because they combine the technical, communication, and organizational skill to apply IT for the benefit of the business. Their job is not an easy one, though: they must maneuver in an organization where IT is often still seen as a cost center, where operations means “run” as opposed to “change”, and where middle-management has become cozy neither understanding the business strategy nor the underlying technology.

This workshop illustrates how software or IT architects can play an active role in driving the digital transformation of a large enterprise. To do so, they need to extend their horizon beyond dealing with technology to navigate organizational politics, get management attention, work with external vendors, and pick the right battles. The examples and anecdotes originate from the presenter’s experience as Chief Architect in a large financial services organization that is undergoing a massive IT transformation



Gregor Hohpe

Enterprise Strategist
AWS


Keynote - Enterprise Architecture = Architecting the Enterprise?

Architects in the enterprise are often regarded as ivory tower residents who bestow their utopian plans upon project teams in the form of colorful diagrams that bear little to no resemblance to reality. The most suspicious in this group are often the “Enterprise Architects” who are perceived as being furthest from actual technical problems.

However, large-scale IT operation and transformation require transparency across hundreds or thousands of applications running on all sorts of middleware in data centers around the globe. The very enterprise architects are likely the only ones who stand a chance to bring transparency into such an environment and who can direct IT investments in the hundreds of millions of Euros towards modernization and run-cost reduction. This sounds a lot more exciting and valuable than drawing pictures!

This session takes a serious but light-hearted look at the role of enterprise architects in modern IT organizations.



Gregor Hohpe

Enterprise Strategist
AWS


Building a Centralised Machine Learning Pipeline with Spark and Kafka

Many organisations face the difficult challenge of enabling Machine Learning projects to get to market more quickly and to allow data science teams to share their features. In this talk, I will be discussing the machine learning pipeline developed at a large Australian telecommunications company to achieve this goal using Kafka and Spark as well as the challenges faced along the way. I’ll begin by discussing the utility and motivation for a centralised feature store, before looking at the complexities of such an undertaking (both technical and organisational). We will then dig into the technical details of implementation by discussing the scalability headaches we faced and dive into the details of the solutions used to drastically improve the speed and organisational scalability of the system. Several areas that will be covered are providing a declarative API that allowed us to compile feature definitions into optimised spark code, the complexity of a true streaming dedupe, adjusting the workflow for different machine learning use cases, fine-tuning the resource allocation to avoid unnecessary bottlenecks and allowing for streaming and batch data sources. Finally, we will touch on lessons learnt along the way and offer advice on things to avoid as well as how to take things to the next stage.



Cameron Joannidis

Head of Data Engineering
Foxtel


Architecture Without an End State

Architecture plans in enterprises tend to resemble late-night infomercials. First, you see a person or system that seems incapable of survival—a situation that can be immediately rectified if you just buy into the product. (One popular infomercial shows incompetent people mangling tomatoes transitioning into Ginsu-wielding sous chefs; the architecture pitch starts with hideous complexity then moves to clean orthogonal box diagrams.) Operators are always standing by.

Real architecture never reaches that blissful end state. Something always interrupts the program: businesses change, technology changes, or funding dries up. What would happen if you did reach the end state, anyway? Is IT in the company done? Of course not.

The truth is that there is no end state. We must all learn to build systems that evolve and grow. We need to stop aiming for the end state and understand that change is continuous. We cannot predict the details, but we can learn the general patterns.

Michael Nygard demonstrates how to design and architect systems that admit change—bending and flexing through time. Using a blend of information architecture, technical architecture, and some process change, Michael walks you through examples of rigid systems to show how to transform them into more maneuverable architecture.



Michael Nygard

SVP, Platform & Architecture
Sabre Corporation


Production Ready Software

In this full-day workshop, you will learn how to create applications that survive the rigors of life in production. Too often, project teams aim to pass QA instead of aiming for success in production. Testing is not enough to prove that your software is ready for continuous availability in the corrosive environment of the Internet. During this workshop, you will receive an understanding of the architecture and design patterns that can produce high availability in distributed, multithreaded systems. You will also learn about the antipatterns that can sabotage your systems availability and capacity.



Michael Nygard

SVP, Platform & Architecture
Sabre Corporation


Keynote - Uncoupling

We overload our terms a lot in this industry. "Coupling" is one such. That word covers situations ranging from essential to accidental to comical to cosmic. Coupling seems to be the root of all ills. It is the molasses that slows our every move. And yet, in the industry from which we borrowed the term, "coupling" was not a dirty word. It meant something ingenious. Let us contemplate coupling for a time and see what we can do about it.



Michael Nygard

SVP, Platform & Architecture
Sabre Corporation


Keynote - MVP: and Why We Confuse Building to Learn with Building to Earn

Minimum viable product is one of the most misunderstood, misused, and abused terms in contemporary software development. In this talk Jeff will explain the misunderstandings made by thought leaders that lead to confusion we all deal with today. You’ll learn the counter-intuitive concepts hidden in the term and why really using them is so hard. You’ll learn about techniques that will ultimately help you find smaller successful releases, test your ideas faster, develop higher quality software more predictably, and release more confidently than ever before. Because hidden in this nasty little term are clues that can help you do all that.



Jeff Patton

Jeff Patton helps companies adopt a way of working that’s focused on building great products, not just building stuff faster. Jeff blends a mixture of Agile thinking, Lean and Lean Startup Thinking, and UX Design and Design Thinking to end up with a holistic product-centric way of working.


Living Live in Big Data – Vector Programming and Visual Analytics

And Now For Something Completely Different?

What do stock ticker feeds, web click streams, micropayments, online games, smart meters, and sensors on a formula one race car have in common? They all need to compute over and visualize large volumes of time series data. In this talk how one can interactively explore and visualize massive data sets using a vector functional programming.

Vector languages are heavily used in finance for the analysis of stock market data. They have inspired array capabilities in other languages, such as R, MatLab, Python NumPy, and Pandas. Vector languages and runtimes enable rapid interactive development of concise and efficient applications. Vectors are a natural low impedance abstraction for dealing with high-performance column stores. We introduce the key concepts of vector programming, applicative style, and idioms of FP. We then illustrate their use on typical data science problems exploring large data sets using visual analytics.



Dave Thomas

Dave is a freelance F# engineer and a Microsoft MVP, formerly with Xamarin.


Interaction Protocols: It's All About Good Manners

Distributed and concurrent systems can be considered a social group which collaborate to achieve collective goals. In order to collaborate a system of rules must be applied that affords good hygiene, fault tolerance, and effective communication to coordinate, share knowledge, and provide feedback in a trusted manner. These rules form a number of protocols which enable the group to act as a system that is greater than the sum of the individual components.
In this talk we will explore the history of protocols and their application when building distributed systems. Protocols provide the foundation on which the quality attributes are delivered. Qualities such as performance, resilience, and security.


Martin Thompson

Martin is a Java Champion with over 2 decades of experience building complex and high-performance computing systems.


SkillsCasts
Other Years