Notes from YOW! 2014: Scott Shaw on ‘Avoiding Speedbumps on the Road to Microservices’

I attended YOW! Sydney 2014 and thought some people might get something useful out of my notes. These aren’t my complete reinterpretations of every slide, but just things I jotted down that I thought were interesting enough to remember or look into further.

A "Speed Bump Ahead" sign, akin to Scott Shaw's warnings in his microservices talkScott Shaw (@scottwshaw), Head of Technology at Thoughtworks, spoke about “three of the biggest issues that microservice teams encounter”. (Slides)

Scott began by listing the following as “Basics”:

He said, “If you don’t know about these things you should at least google them before you start doing micro services.”

The speed bumps he talked about were:

  • Data aggregation
  • Access Control & Security
  • Managing Change

Continue reading

Notes from YOW! 2014: Cameron Barrie on ‘Mobile at Warp Speed’

I attended YOW! Sydney 2014 and thought some people might get something useful out of my notes. These aren’t my complete reinterpretations of every slide, but just things I jotted down that I thought were interesting enough to remember or look into further.

A bright photo taken using a slow exposure in a train tunnel, giving the impression of moving at warp speed, such as in the topic of Cameron Barrie's Mobile talk.Cameron Barrie (@whalec), Managing Director and Principle Mobile Consultant at Bilue, spoke on “how to apply solid engineering practices to your mobile applications by understanding common mistakes made, and how to mitigate against the risks.” (Slides)

Mobile: Move Fast

He said it’s crucial to be able to move fast. If you’re not disrupting, you’re probably being disrupted.

You need to be honest about what moving fast means for your organisation: you can’t start with crappy code and processes and just start moving fast. Continue reading

Notes from YOW! 2014: Mary Poppendieck on ‘The (Agile) Scaling Dilemma’

I attended YOW! Sydney 2014 and thought some people might get something useful out of my notes. These aren’t my complete reinterpretations of every slide, but just things I jotted down that I thought were interesting enough to remember or look into further.

Lots of empty seats at a stadium. Can Agile scale to this kind of crowd?Mary Poppendieck (@mpoppendieck) spoke about scaling agile teams. (Slides)

She started by saying:

“There’s a big assumption that if agile is good, scaling agile must be good.”

Which made my jaw drop. I make that assumption. It had never occurred to me. Maybe agile techniques don’t work in a larger organisation?

She talked about four constraints on scaling: system complexity, organisational mindset, multi-team communication, and the time and energy of bright creative people. Continue reading

Significant Birthdays for STEM Nerds

An old photo, probably from the  60s, of a nerdy looking boy blowing out the candles on a birthday cakeMost people consider the following to be significant birthdays:

1, 10, 18, 21, 30, 40, 50, 60, 70, 80, 90, 100, 101, 102, 103, 104, 105, …

As a self-identifying STEM nerd, I find the following list of significant birthdays much more interesting…

1, 2, 3, 4, 5, 8, 9, 13, 16, 18, 21, 25, 32, 34, 36, 49, 55, 64, 89, 100, 121, 128, …

128 is my stretch goal. :)

(WIN! If you’re the first person to post the next ten numbers in the sequence in a comment, you’ll win a free warm fuzzy feeling of being the first person to post the next ten numbers in the sequence.)

Image credit: ‘BLOWING THE CANDLES2‘ by David Zellaby

Two REST tips for tackling tricky resource examples

After my post a couple of days ago about the first thing you should know about REST, a friend emailed me with this feedback:

Nice post. It was something I was thinking about just recently and I think I’m guilty of making these mistakes. The example which confused me was verifying a password. I wasn’t sure what HTTP method to use or what the resource was. The request needs to contain a password but doesn’t expect any response other than a 200, does this mean GET is inappropriate?  It doesn’t update anything, unless of course it fails in which case it may update a failed login counter or lock the account. Does this rule out PUT and POST?

Young man in a very uncomfortable hammock, trying hard to pretend to have a REST.Here’s the response I sent him (fleshed out with a little more detail for this blog)…

REST can be easy and REST can be hard

Yep, the examples in my blog were the easy ones. Plenty of hard ones will crop up, where the resource on the server you want to manipulate is not immediately obvious, like the one you’ve pointed out, or where coming up with a good set of URL patterns is not straightforward. As with all things that aren’t easy, spending some extra time on it is usually worth the effort.

Think like a REST Server

I think what can help is to try and think less about what the client is doing (“verifying a password”) and more about what’s happening on the server side. Continue reading

Do you even know the first thing about REST?

A sign saying 'REST AREA', with an arrow pointing up and to the right.It’s not unusual to see examples where people think they are “doing REST”, but are not. A lot of people are trying to use simple web technologies in their microservice architectures, but I suspect there’s a prevalent idea that if you are using HTTP and sending JSON back and forth, you’re doing REST, which is simply not the case. (We’re talking about the Representational State Transfer style of software architecture here, in case you’re lost.)

Spring’s REST

Spring’s Web MVC Framework documentation says in the first paragraph: “With the introduction of Spring 3.0, the @Controller mechanism also allows you to create RESTful Web sites and applications…” Further on, introducing its @RestController interface, it says: “It’s a very common use case to have Controllers implement a REST API, thus serving only JSON, XML or custom MediaType content.” So, does creating a web service using a @RestController-annotated class magically make it a RESTful service?
No. Such no.

Not so REST

The big thing I see developers getting wrong when trying to use web technologies for inter-service communication is that they continue to think about operations. Continue reading

Notes from YOW! 2014: Gojko Adzic on ‘Make Impacts, Not Software’

I attended YOW! Sydney 2014 and thought some people might get something useful out of my notes. These aren’t my complete reinterpretations of every slide, but just things I jotted down that I thought were interesting enough to remember or look into further.

Gojko Adzic (@gojkoadzic) spoke about the trouble of aligning strategy and the desired impacts of projects with the implementation of the software.

Palchinsky Principles

An ant carrying a leaf. Ants are known to carry far more than their own weight, a great example of having a big impact.He spent some time discussing the Palchinsky principles, from Russian engineer Peter Palchinsky as documented in Tim Harford’s book ‘Adapt’.

The principles, intended to guide the development of innovations, are:

  1. Variation: We should seek out new ideas and try new things.
  2. Survivability: We should do things on a scale where failure is survivable. (This is why stories should be small. Not so that we can finish them in an iteration, but because they might be wrong.)
  3. Selection: We should seek out feedback and learn from mistakes.

Continue reading

Notes from YOW! 2014: Jeff Patton on ‘User Story Mapping: Discover the Whole Story’

I attended YOW! Sydney 2014 and thought some people might get something useful out of my notes. These aren’t my complete reinterpretations of every slide, but just things I jotted down that I thought were interesting enough to remember or look into further.

Jeff Patton (@jeffpatton) was billed to present a “fast paced workshop [where] you’ll learn the concepts of story mapping by building a map collaboratively with others”. He shared lots of great insights about stories but (I felt) really only touched on Story Mapping briefly near the end of the time. Still, I collected some good notes about stories that made me re-think a few things…

He started by showing this great list of wrong things he used to think about stories. Stupid stuff Jeff Patton used to belive about Agile stories Continue reading

Notes from YOW! 2014: Jez Humble on ‘The Lean Enterprise’

I attended YOW! Sydney 2014 and thought some people might get something useful out of my notes. These aren’t my complete reinterpretations of every slide, but just things I jotted down that I thought were interesting enough to remember or look into further.

A man in a suit, who probably works for an enterprise, running in a marathon and looking very agileJez Humble (@jezhumble), co-author of ‘Continuous Delivery’, spoke on The Lean Enterprise, specifically “the principles that enable rapid, software-driven innovation at scale” and how to transform organisations. (Slides)

He briefly covered the three horizons method of innovation and highlighted that you actually need to plan and be executing on all 3 at any one time. They also need separate management styles and reporting lines so that they don’t try to squash each other in departmental trade-offs or management bunfights. The two management styles are explore (discover new stuff) and exploit (capitalise on existing assets). Continue reading

The Top UX Trends of 2014 (Condensed)

I just read this nice post on ‘The Top UX Trends of 2014‘ on UXMag.com. It had some useful observations, but was a bit long, so I’ve written up a summary…

Integration of social media into business practice (not just marketing) has become a necessity.

Large companies are realising the importance of user-centred development and are building in-house UX teams. Continue reading