Wednesday, November 09, 2016

Sprint Planning Is Ridiculous

Agile is great.

Watching Scrum sprint planning is silly. It is hilarious to watch a few engineers with no knowledge of the larger system or technology dragging the entire group down a rabbit hole about nonsense ideas and misconceptions.

Generally speaking, the ambient benefits of ensuring that everyone is on the same page are typically worth having a lengthy slug-fest in which everyone gets to submit the group to their ignorance. Personally, I love getting my questions answered in a high-bandwidth way. Having to do it front of an audience who could care less isn't as fun.

Going beyond having well-written stories and foundational knowledge across the team that is a prerequisite, there is a certain pattern in the conversations that a smooth team naturally follows which mitigates the risk that spring planning beomes a morass. Most importantly is identifying technical patterns and practices that the group will pursue with priority.

When we consider that there are lots of ways to model a data structure or class definition we have to allow for each contributor to bring their own preferences to the effort of creating a whole solution. What we would like to ignore is that the choices of one will impact the many. The pattern that a data modeler prefers will definitely drive the implementation of the contributor responsible for the services or the user interface. In our self-centered world view we like to pretend that we can use Separation of Concerns or isolation patterns and that will remove our interdependency. This is fallacy. Just because you say you prefer SOA or hiding implementations behind RESTful interfaces doesn't mean your choices for data structures, invocation patterns, and state management won't impact the work required in my client or integration service.

And don't get me started on how ludicrous planning poker is for actual estimation. Don't misunderstand me. Asking everyone for their opinion of the size for a thing is an quick and effective way to uncover misunderstandings and misaligned expectations. But the idea that the wisdom of the group is better at determining an actual estimate is patently wrong. The issues with group think are many and well understood. Assuming they don't apply to software development is near-sighted and ignorant. So definitely have a round of planning poker and find out who isn't aligned with what the group thinks needs to happen. Then listen to the contributor who will do the work on how long it will take. Allowing a contributor to 'compromise' to group allows them to skirt accountability for estimating accurately, making solid commitments and keeping them. And if you can't ask for accountability and hold people to it, what is the incentive to get better?

Basically, the group rituals have their place and some distinct advantages. But at some point, you have to shift from low-bandwidth group think into high-bandwidth individual performance. Effectively making this transition is the hard part and a common point for many to abandon Agile and Scrum. This is all to reiterate that "Common sense is uncommon" and if something has more than one person accountable, then no one is accountable.

Wednesday, June 29, 2016

GigJam: Not Just Another Tool

If you haven't checked out GigJam from Microsoft you're behind the curve. Bots and messaging plug-ins might be the flavor of the month, but they're just different flavors. Gigjam really is a new approach to how you collaborate. Check it out.

Thursday, January 28, 2016

Parse Shutting Down

In case you haven't heard, Parse, the well-known Database-as-a-Service provider is shutting down.

Details here.

As one of the easiest and cost effective ways to stand up a back-end database, this will have some big repercussions across the landscape.  Which makes you wonder what kind of leading indicator this might portend. In any case, it definitely speaks volumes to how unrealistic our expectations about the costs involved with running any derivative of SaaS product have become.

Hold on to your butts!

Friday, January 08, 2016

It's Autonomous Movement. You're Welcome.

Back in 1995 I gave a talk on the next big step that would advance technology non-incrementally. The prediction was that nearly free, ubiquitous access to high-speed, nearly infinite storage would be the trigger. This was framed in the context of Moore's Law that processing power would increase, become cheaper, and increasingly smaller forms. For all that to usable, we would need storage to match. The aggregate of those would allow for rule and pattern algorithms to see a step-function increase in capability which would unlock natural language processing and a veritable flood of sensory inputs, orders of magnitude beyond what was available then.

And that is precisely what we have seen.

During a recent talk, I was asked to update my predictions and I was shocked to realize that I had completely forgotten to publish any of my writings on the subject. I'll get more into the detail in subsequent posts but the short form is that autonomous movement is the next non-incremental technical revolution for mankind.

Imagine when you can take a box and connect it to frame that provides sensor information and locomotion. Right now, imagine that box is the size of a large piece of luggage and needs significant amounts of power and cooling. But that box that take inputs from gps, stereo cameras, thermal imaging, infrared beacons, wifi and bluetooth signals, lidar and so forth, and provides outputs that allow the frame to be aware of its location and control locomotion from any point to any other point. While movement is underway the box analyzes the sensor inputs to be constantly aware of its location and adapt to roads, obstacles, people, signals, signage, and other conditions as it independently controls movement using the locomotive capabilities to reach a destination. This is what a self-driving car would need to do to be self-driving.

It is also what a self-driving semi-truck would do. Or a bus. Or a tractor. Or a delivery van.

Now imagine that miniaturization continues and this very large box becomes a very small box. It becomes small enough to fit inside the remote control car your child might play with. The cameras and sensors and batteries and the box itself only take up the space of a large shoe box.

If you could put this box and sensors and power in a small box, then you could use it not just for making a car autonomous. You can now make a shopping cart autonomous, or a camera that represents you remotely, or a mailbox.

Every situation in which something must physically be moved as cargo (including humans) can now be moved by independent locomotive devices with these boxes and sensors. Some frames are big like the trailer trucks that hog the road today. Some are small like the size of stove or refrigerator. Some carry one or two people, some carry dozens of people. Some large ones, only carry small ones, like a fleet of small flies on the back of a rhino. The big carrier frame would zip from the warehouse to your neighborhood and offload a bunch of little frames that dart around offloading their cargo into receptacles or awaiting humans to come unlock their doors and remove their packages. The trash bin on the corner wakes up when it is full and takes itself to the processing center, replaced by an empty bin that moves itself out of storage; all without human intervention. Why have a store when I can request that the produce counter come to my office? I pick through the grapes and broccoli making my selections which I deposit in my personal box which will be waiting for me when I get home. We already see the push to online and personalized delivery, imagine when you can take humans and the cost of moving and storing physical goods completely out of the equation.

So anyone in the business of moving things or people, or selling physical items from a physical location, or delivering anything for anyone, take note. There is a clock ticking on your industry. After all, the big box that fits in the car is only a few years away. And once we have the box, the only challenge is making the box smaller. And making the box smaller is vastly easier than getting the box right the first time.