Twins v. Tigers - great group, great night!
Another early 90's throwbacks - Bridgestone bicycles. I made a trip to One on One Bicycle Shop and Studio, and was expecting the basement bike junkyard to be the mecca experience. It was, but when I spotted this near-pristine MB-1 from 1992 for sale, well I found religion all over again. Not that I had lost it. I still ride my 1993 MB-3, accurately quoted in the '93 catalog as perhaps all the mountain bike anyone would ever need.
I have the purple, now beat up. Kath rides the silver. 1993, the last good year of Bridgestones before they pulled the plug on North American sales. In the new age of click shifters, suspension forks, neon and gimmicks, their retro-grouch principles caught up with them. Too bad, because I've found the Bridgestones to have the best geometry I've ever ridden. Not stretched out like a Trek, never twitchy like a Specialized... I passed on a pristine fire engine red MB-2 frame for $400 after grad school in 1997 - no money. So I never thought I'd see another high-end MB not completely beat up. Not so with the MB-1. You can't see it in the picture, but its an amazing pearl-white. Very little wear and a lot of original equipment. The partial MB-1 (missing the seat) is a 1993. Its not yet for sale, as the owner is tuning up to make for a better overall bike and sale. But I think it could be the better deal. The 1993 has a hand-made custom fork. Same pearl-white. There are a lot of great bike shops in the twin cities, but nothing like One on One.
If you were an early 90's mac student, or catching the local music scene then, no explanation is necessary. It was nice to see Walt Mink command a star 15 years after. So many good shows in the entry including the best show ever.
Driving discussion in a downright engaging and participatory way - that's the magic of DevJam's 'Fight Club Fishbowl Format'. Have you ever been to a user group only to find the conversation dominated by one or two blowhards? Fight Club Fishbowl solves this with a simple formula, and is a large group discussion technique worth considering for your workshop, unconference, presentation, or user group.
In the software release process we're continually looking for ways to improve our ability to deliver. From process to craftsman techniques there are a large number of levers to apply to this problem. These levers need to shift the Volume to verify and/or the Rate at which verification occurs. If they don't, they aren't contributing to the solution.
The QA Verification process is governed by the laws of physics, and as such, it can be described mathematically. Each release contains a volume of functionality (V). The developer and tester's ability to verify occurs at some rate (r) - for the purpose of discussion think of it as 'how much software can be verified in a day'. A given release has a capacity (C) – the volume we can support – which is simply the rate times the number of days in a release cycle (D):
C = r * D
As such, a release volume can be verified if it is equal to or less than our capacity:V <= r * DIf the volume of software released is greater than the capacity to verify it, quality and ability to deliver new features is at risk. Now if all this math stuff is too much, consider this visual metaphor:
This is a common experience in our industry. This unverified software pouring over the funnel is the risk of regressions and new defects making their way to production. While the quality implication is clear – consider also that critical late-found defects also have the ability to delay or cancel a release, and that even if we tolerate some quality issues (which we shouldn’t) the funnel is only so large.
Volume can be misleading at first – I’m not advocating slower release of new features. I’m advocating better focus on regression exposure and improving our ability to reason about what has changed.
Large monolithic codebases make it extremely difficult to reason about what has changed (and therefore what needs to be regression tested) in a given release. If one line of code in this monolith has changed, the whole thing has changed and must be built, deployed and verified.
A large portion of the volume isn't exposed to regression, but reasoning about what part(s) changed is impossible. We need the apparent volume we introduce in the release cycle to be closer to the actual volume we need to verify.
Rate
Rate in our industry has largely been a function of manual testing and headcount. Manual testing does not impact efficiency, and we’ve outstripped the ability of manual testing to keep up. Rate improvements must focus on improving the efficiency of the Dev-Release - QA process. Things like automation and practices that promote early detection of defects (CI, unit tests, automated functional tests, etc).
In as much as a practice, tool, investment, or automation reduces Volume to actual Volume or improves Rate efficiency, it improves delivery efficiency. Options that don’t impact Volume or Rate in this way don’t help us and are a waste of time. We need to be asking ourselves how our efforts improve our collective ability to reason about change (Volume) and make verification more efficient (Rate) and focus our investment on these things.
Free Energy this wednesday - man they are so good. And the entry is a classic music hole. My favorite for sentimental reasons. I'm going if I have to walk there naked. Interested in meeting up? You can wear clothes.
http://www.guardian.co.uk/books/2010/feb/20/ten-rules-for-writing-fiction-part-one
Good writers write well - especially in this short form about writing.
Don't miss Geoff Dyer's tips - writing as lavatorial activity...
Overblown (NY = Design, Silicon Valley = Engineering - that's why?) - but an interesting point on simplicity of design - and streamlining usage to the essentials. Tumblr on the surface looks a little easier in this regard. Very happy using Posterous, but maybe I'll cross-post to tumbler for awhile to compare...