Category: Change

Agile Baby Steps – Iteration 3

If you’ve just landed on this, you may want to first read Agile Baby Steps – Iteration 1 and Agile Baby Steps – Iteration 2 which outline previous parts of my agile journey.

I’d just finished up at Web Media and things were starting to get a bit tight (economy wise) and I started looking at permanent positions, ending up at SilverStream, who were subsequently acquired by Novell. Although there were no real process parts to this role, it did get me going with Web Services, or what was to morph in to SOA using some great orchestration and portal tooling (now part of the dustbin of history…). It was the next role at MYOB (an Australian accounting package) that took me a little further down the road of Agile. MYOB were riding a high after the introduction of the Goods and Services Tax (GST, aka Sales Tax, VAT, …) which meant people really needed to use an accounting package for in order to compute their quarterly statements. There were two major events here:

  • I was introduced to Apple (back before the original iPods – I was sent to WWDC within a few weeks of  starting there!)
  • I was fully trained in Rational Unified Process (RUP) and subsequently “successfully implemented it”

The interesting thing is that my “successful implementation” was a termination of the whole project! The simple reason was that due to the usual lack of stakeholder buy-in, “role protection” and internal politics it was a no-goer. The great bit was that due to RUP’s bias to addressing risk up front, we had about 30 major risks, over 25 of which were being manifested! I think that’s a success as unlike so many “bad RUP” implementations, we had the sense to quantify the fact that the organisation was not ready for iterative development. It also wasn’t an entire failure as the dev teams loved the concept of iterative planning and development, so what was implemented was not RUP, but probably the “Agile bits” of it. It was a start however, and that’s better than nothing as I’ve commented in Egoless Change and Agile.

HMAS Sydney

After a few technical engagements, the next real chance I got to work with process, was ironically with my good friend Peter Tighe, who was the Development Manager at MYOB and had since moved to Tenix Defense, Marine – the people who build Australia’s Frigates. Pete asked me if I’d like to help out with some work there and seeing as he was one of the key reasons for me going to and staying with MYOB, I quickly accepted. Having both used RUP, it was an obvious choice (remember, we used it properly). Needless to say, the project went quite smoothly and I found a great little tool called XPlanner as I’d been reading eXtreme Programming Explained: Embrace Change by @KentBeck. This wasn’t agile yet, but it was RUP with quite an Agile flavour.

After a bit more defence work, I then got back in to the “mainstream” doing a bit of work in Risk Management and Enterprise Architecture around ESB’s, but it was my final gig in Australia, bought in with someone I knew at SP AusNet that really got me in to Agile. Our team had a former ThoughtWorker who was needless to say very pro Scrum. Coming from a RUP background it was certainly a “clash of cultures” in the beginning. After taking out all the “religiousness” from this individuals view I started to see the sense though. We could use the practices of Scrum (which I didn’t really know that much about apart from Stand Ups and Stickies) that went for weeks within a RUP Iteration which could last for months and in fact used Rationals RUP Rational Method Composer to create this hybrid process. Unfortunately our whole team (about 20 people) were terminated due to a political slip-up but it ended well with the guy who bought it all together founding Intunity who have become an Australian success story and me heading off to the United Kingdom…

PS Wondering where all this is going? Apart from being an Agile Ramble…? Stay tuned as like any good thriller, it will all come together in the last parts and they’re next (whenever that is – check the timelines on these posts and you’ll see they’re a bit sporadic)

Agile Baby Steps

Jennifer Sertl on Design

Jennifer Sertl DesignIt’s “Blog Sunday” (when I do some entries for now and the coming week) but I’m also doing some Clojure coding and watching @Kevlin Henney‘s “The Programmer”. and @Edumund Jackson‘s “Clojure Data Science” So, it seemed apt that I publish Jennifer’s list on Design to keep my “blog pace” up, which is my current experiment…

  1. The Laws of Subtraction changethis.com/manifesto/99.0… … by @MatthewEMay HT @CoCreatr#simplicity
  2. Design Principles Index deloitte.com/view/en_US/us/… via @Deloitte HT @On_the_edge1
  3. Business model visualization rossdawson.com/frameworks/ by @rossdawson
  4. Aligning Personal Development with Business Strategy enlargeexcelevolve.com/2012/12/aligni… my pov with @DrAmitInspires
  5. Strategy + Leadership + Soul agility3r.com/book-section/c… my life’s work~ biz strat + self awareness
  6. Robust internal business design box.com/shared/af7861f… by @Ronald_C_Stern #humanize
  7. Designing A Smart City fastcoexist.com/1680538/what-e… new model bit.ly/157oDwp with @boydcohen & @manuchis #smartcities
  8. Designing the economy with principles of nature yesmagazine.org/issues/what-wo… via @DonRichNet @gideonro
  9. From Ego System to Ecosystem ottoscharmer.com/docs/articles/… by @ottoscharmer1
  10. The #Agile Path to Quality flowchainsensei.wordpress.com/2013/03/06/the… by @flowchainsensei rich resources listed,thx.

The Parable of “The Happy American Train Conductor”

HappyAmericanTrainConductor-Javelin

Last Friday started with the following tweet:

@RiczWest: And today we have an American train conductor. Wow, what a positive difference to the announcements. Know I’m going to have a GREAT DAY! :-)

The reason why I tweeted this is that in Britain, you’re lucky if the conductors, which we have on Javelins, sound at all happy. I’m talking about 10-20%. The rest seem like they’d rather be somewhere else and don’t sound much more animated than the automated announcements that the trains have.

Before we get in to my FANTASTIC FRIDAY though, a bit of background. I had been assigned to a “compressed project”. It was budgeted by the Sales Guy – let’s call him Old School Political Bully Boy for short. Technically, it was so easy, but thanks to him and another member of “the old guard” it was getting very political and negative very fast. I managed to keep myself clear of this, but I didn’t like the effect it was having on my Project Manager (who was quite good and resigned 3 weeks after starting with the company – still has one month to go though, so luckily I get to finish the project with him) and the rest of my team. On the close of Thursday, we’d had a meeting with OSPBB who had made it clear that he had targeted his Blame Bazooka at the PM…

fantastic-friday

So on Friday, that was where I was coming from. But this train guard was just so damn novel and cheery on the way in, I couldn’t help but start feeling better. Then, as we approached Stratford where I was getting off at the end he said “… and for all those people who are going in to work, TGIF!” I got off that train feeling ABSOLUTELY FANTASTIC, grinning like a bit of an idiot, but I didn’t care – I was FEELING GOOD!

On the way to work, stopping off at my usual coffee place I happened to mention the great conductor (but not his nationality) and the Barista asked “Was he American?”. Wow! It turns out that everybody (except me until that day ;) seemed to know about “The Happy American Train Conductor”. This guy was a legend, literally! On the rest of the way in I remember thinking “what if we could all be like The Happy American Train Conductor?”, how good would work be then?

At work, I was still feeling good and did a run-through of my Solution with offshore to make sure nothing was missed. In the mean time, my BA and PM were meeting with “the client” and everyone was thinking it wouldn’t end well. But it did go well! Very well in fact, with the client turning to the BA and saying directly to her “I really appreciate the work you’ve put in to this, you’ve done a great job”. This was GREAT NEWS! No crazy changes in spec, so the Solution and current Estimates would be aligned – everybody happy :-)

My day just continued to get better with every little step, to the degree that I even went out with “the youngn’s” to a trendy cocktail bar and had a few before heading home. HOW GOOD WAS THAT?

PS We had fantastic “beginning of spring” weather this weekend too

Enterprise Kanban Part 2

japaneseKanbans

If you haven’t already, you should probably read Enterprise Kanban Part 1, which brings us up to the end of the first week where we had enough to get started and had used a “rough Kanban” for a week. At the end of that week we ran a retrospective:

Kanban ImprovementsRemember, these guys had never done Scrum or Kanban before. They were self-confessed “standard process heads” who came in to this with open minds, probably as they knew that a standard waterfall approach would be meaningless in a 1 1/2 month context and probably fail miserably.

The insight shown here is great and they’re contributing well, which you can see by the fact that I happened to use a green pen and my teammates used black. Interestingly, two of the 3 improvements voted for are really reflections from them wanting to use the process more effectively. The thing this revealed to me about retrospectives, is they can give people an objective way to ask for help. Rather than say “I need to use the system better, can you please help me?”, they are able to say “We need to improve the system so it is used better”. This takes the ego out of the equation and introduces objectivity, probably reduces the violence of the dialogue and encourages working as a team rather than a set of isolated individuals who need to “buck up” and “get with the program”. We already had a “Daily Scrum” in the morning which included our PM and others (such as our CEO) if they wanted to attend as Chickens but the other improvement, “End of day catch up (internal)”, was a great piece of insight given the pace we were working at (fast!) and the fact that we couldn’t let mistakes (which would occur) stay around for long. It also gave us a chance to quietly reflect at the end of the day amongst only ourselves and set us up nicely for the next days Scrum.

Note: I didn’t tell them beforehand that we’d select the top 3 improvements, it’s just a coincidence that there were only 3.

Next, it was time to set up a new board based on what we’d learnt the previous week – ah… nothing like a nice shiny new board, ready to be populated :-)

Empty KanbanYou can see that the Project (with sticky notes) plan now has an official place, and we’ve distinguished between Waiting (as a lot of our work was information gathering, and in a large company, that means a lot of waiting) and Stalled, which is the conventional concept of something that can’t be done for a blocking reason (other than waiting). Finally, we have the Deadlines area as the others wanted a way to track these. I personally didn’t think this was necessary but knew better than to impose my view – people need trust and the freedom to learn and who knows? They could be right!

I was obviously really happy as we’d got through the first week, my other team members thought this was useful and even better, were immersed in the process and contributing deeply to it. This should not really be a surprise though, as they were both smart people with about the same amount of experience as me and were open enough to embrace something that was a bit different but would help them work more effectively.

Enterprise Kanban Part 1

I’ve been meaning to write about for a while about my first serious use of “Kanban”* and what’s more, it’s a usage outside of the standard patterns we hear about, mainly programming. I was working for a high-end niche consultancy to a global corporation doing an assessment and some pattern harvesting that had an extremely tight deadline. We had a small team (me and two other people) who were all highly trained and proficient, but there was one problem – the deadline, planning and tracking of our activities. We also needed a “process” that was not a Process – enter Kanban!

It just felt intuitively right – even though I’d never “seriously” used it. I had played around with Personal Kanban and I sensed that if we used no process (ie CMM1 / Ad Hoc) then near the end we’d find out we forgot things or didn’t adequately cover some risks, some of which would manifest and it would all end in tears. None of us wanted that, so I proposed to my colleagues that we use Kanban – freely admitting that I hadn’t used it fully, but that I was a Certified Scrum Master and had “Agile” experience of over 10 years. I added that we’d be doing weekly retrospectives and that if they thought it was not an effective use of our time, then we could just stop using it. On that basis I had agreement and some buy in, but we’ll get to that later…

To start off with, we did a brainstorming session for an hour, went back to work (we had no time to waste and knew initially what to do) then spent an hour at the end of the day making a Kanban

EntKanban-1

I’ve obviously had to blank out some information for confidentiality, but hopefully this is readable enough to show our thoughts, process and the fact that this was a very high level, i.e. typical EA, piece of work. One thing to note is that at the top we had “BACKLOG” but realised that we were existing within a Project Managed environment, so we had to have some sort of plan which we of course did with sticky notes ;-) Our Project Manager (who had about 5 other streams of work going on overall) was very happy as we had not only given him a realistic plan, but if he or anyone else who was interested wanted to know what we were really doing, it was all there at any time.

Also, you can see that on the right, we have a fairly typical Kanban / Scrum board and in the left is an open area where we started to group things which we’d eventually put in to the backlog. Again, the emphasis was on spending a minimum amount of time to structure and track the things that were important initially, knowing that we’d be tidying this up within a week. You can also see a bunch of stickies in the bottom left. These were things that had come out of our brainstorm, but were not currently important and that we did not have time to properly analyse and group. If you look carefully, there is a task in stalled for me to arrange sorting these out.

EntKanban-1-risksWith that, we were off and running, with a plan which “the management” was happy with and enough structure to know what to do once we had contacted the right people in the right countries, for the information we needed. We monitored this using a spreadsheet as it was a simple process, would not take long and proved useful to show which countries were responding and in scope and which were not. And as you can see above, we also had an IRA log with sticky notes :-)

* Note: I’ve said “Kanban” as in the time since, I’ve realised there was a lot of things we didn’t do, more on that in the Meta Retrospective

Jennifer Sertl on Valentines Day

Update: JS has just posted an aggregation herself: Love Mosaic

Just finishing up Valentines Day here in the UK and found a great series of tweets on Love by Jennifer Sertl. I know she sometimes curates and comments on them, but I found them so inspiring that I wanted to get them out there asap :-)

  1. Why We Need Each Other Daniel H Pink: employees are faster and more creative when solving other people’s problems – Telegraph via @DanielPink
  2. 9 Rules for Creating Passionate Work Culture  via @FastCompany
  3. Perspective with @TeresaFritschi : A Thousand Years, when love isn’t a smaltz-y commercial event
  4. The Four Loves by C.S. Lewis
  5. Man’s Search for Meaning by Viktor Frankl
  6. The Empathic Brain  by Christian Keysers
  7. Love is the Killer App by @sanderssays
  8. Lethality of Loneliness: How it Can Ravage Your Body and Brain by @JudithShulevitz – HT @ManieBosman

PS Apart from Jennifer, I have to give a shout-out to @tetradian @ArtBourbon @RuthMalan and @flowchainsensei also today ♥

Generation Debt Recession

The Student

It had been a “long week”, so far, culminating on Wednesday with a successful crunch. On a whim we (myself, another Solution Architect and an Infrastructure Solution Architect) decided to head down the pub to blow off a bit of steam. As it was mid-week, we managed to grab a lovely “Chesterfield corner” talking a bit about the week that had been and patted ourselves on the back. As time progressed we started talking more about life and as the Jack Daniels and Coke flowed freely, somehow my other two colleagues (who are both in their early 30’s) got on to the topic of work prospects and their life so far. It all started with one of them saying how his wife who was a bit younger was studying for a PhD just to be able to get a job! What? It then emerged that both of these guys “just made it” in to “the easy life” that we older people take for granted i.eIndiana Jones Hat. you go to Uni and then get a job. One of them said he felt like Indiana Jones in The Temple of Doom where he only just makes it through the door and manages to grab his hat, as people a bit younger and just as or more capable as him were really scratching to even get a job. Not long after that, it was pointed out to me that these two guys were part of a generation where for their whole working career so far, they’ve only known debt and recession. Made me feel really lucky to of gone through the .com boom times…

ukUnemploymentRate

Above: United Kingdom Unemployment Rate from Trading Economics from January 1975 to January 2013 with Trend and Mean

So is this just cyclical and they’ve had a bit of bad luck? If you look at unemployment since 1975, you can see that it’s actually trending down and is actually below that. Does anyone actually feel like that’s the situation overall? Of course not! What’s going on then? Ah, it’s the wonderful simplicity of linear models, which so many projections are based on. You know the old saying “Lies, Damn Lies and Statistics” – I’d add “Linear Statistics” as even worse! At least general statistics has a number of other models at it’s disposal. Can anyone say that the above graph is linear? What does it look like to you? I’d say chaotic periodical, but that’s only my “opinion”. Since I’m writing this blog post though, let’s go with that :-)

To continue, the next question is “what’s off the edge?” or “where are we going?”. I could do all sorts of Fourier Analysis and other fancy things (in a previous life I ate FFT’s for breakfast :) but this sort of analysis is beyond even that. I’m going to use the most sophisticated pattern matching technology available, my brain, which could be wrong of course as neural nets are just as capable of finding patterns that don’t exist as well as ones that do.

ukUnemploymentRate-Projected-uncertainty

How did I come up with above? Pretty easy, with a few assumptions:

  1. We’re at some sort of “inflection point” where things will “reflect” or “play back in reverse upside-down”, so I’ll pick around now. This is not that crazy an idea as it may first seem because Sine waves / cycles really are just one half reflected horizontally and vertically which is all I’ve done
  2. As we proceed from now, the “uncertainty” in a prediction becomes larger
  3. Time may be “sped up” due to the systemic changes that have been taking place and the fact that most of what caused previous “recessions” has not been put in check
  4. The amplitude may vary, depending on may factors

The fancy name for all this is a set of Affine Transforms.

So where does this leave us? Not in a good place as the graph above shows a jump in unemployment that will the these days look like “the good times”! Possibly going back to the 80’s… Will this happen? I sure hope not as I’m an optimist at heart and life wouldn’t be easy with our continually reducing spending power. Unfortunately, given the the slap on the wrist with a feather that the banks and financial system have been given so far, there seems to be nothing to stop a repeat another collapse happening as part of a cycle.

What can we do? Short of a revolution, nothing as the current system is so biased and now structured towards “the top n<10 percent”. What will I do? Be thankful for the comparatively privileged position I’m in, carve out a profitable niche and help as many people along the way.

Coming Soon: Generation Debt Recession, Employment Breakdown

Reflections on 2012

Reflections 2012It’s that time of year where everyone is reflecting on the last year, so I thought I’d toss my hat in to the ring. Personally, it’s been a year of great change, having moved from a highly toxic street in Reading (where our dog unfortunately passed away just before we left) to a beautiful one in Ashford where we are much more settled and I’m at last able to relax, grow and learn in a supportive environment.

That’s enough about me though, what about the IT Industry and wider world from my perspective?

Industry

  • The year Apple Stumbled – It wasn’t just iMaps, it was the lack of innovation and wierd and frequent release schedules which all smacked of internal chaos – understandable given that Jobs passed away late the previous year, but they’ll need to get back on track if they want those stock options to be worth something
  • The year Microsft Stumbled – two words: Windows 8 or Windows RT or Microsoft Surface. I must admit that I’m less disappointed with W8 than I though I would be – only going by playing with it in a store though as I’d never install it on any of my computers. It’s not over though, so the real question is what’s going to happen with W8 and Surface (Pro)

Software

  • SEMAT – Software Engineering Method and Theory has been pretty much defined by Ivar Jacobson and his merry band of Industry Legends and Corporations. It was favourably received by the OMG in December
  • ArchiMate picks up steam – for me at least before this year, it was only occasionally being used, whereas now, many organisations are using it for Enterprise and Solution Designs and then linking these to UML Technical Designs and Realisations
  • Clojure – I’ve been getting in to this and went to the London Skills Matter Clojure eXchange. Rather than a bunch of enthusiasts though, I met a bunch of enthusiasts, 1/2 of whom were working in Clojure! It seems this is probably an increase of a few hundred percent over the previous year, so something is happening. This may be part of the wider movement to “different” and sometimes functional languages.
  • Light Table – at the moment this is only a Clojure IDE, which will be expanded to handle other languages, but I’m yet to be sold on it. The demo was really cool, but the releases won’t run my code (which obviously works in other environments) and the interface feels a bit too simple at the moment. They’ve got kickstarter funding, so here’s hoping that we start seeing more features and functionality from the original demo as it could be one of the best development environments ever!

Hardware

  • Raspberry Pi – how can this not be mentioned??? It’s a UK concept that is taking the world by storm and riding a wave that was started by Arduino, DreamPlug and the like. The great bit is that Raspberry Pi only opened the space, much as OLPC did for small cheap laptops. The side effects already are and I’m sure will be awesome
  • FreedomBox, first proposed by Eben Moglen is gradually getting there. Not there yet, but it will get there and hopefully redress much of the planned snooping that governments around the world have fallen in love with
  • The Maker Movement seemed to jump up a level with people even 3-D printing guns and starting to sue each other over who owns what and can sell it
  • Fibre rollout in UK seems to be really happening and I’m liking what I see. I signed up on the minimal (and slowest) plan but it’s easily enough for me at 75G : ~ 30Mbps down and ~10Mbps up (real rather than pretend bandwidth). The great bit is for an extra £10 or so I can double those rates! The best way to get decent FTTC seems to be by going through a BT Reseller such as Xilo / Uno

Process

  • Nonviolent Communication – highlighted by Bob Marshall and created by Marshall Rosenberg, this seems to be gaining ground, along with concepts like Soft Power. This (hopeful) trend towards a kinder, gentler and more humane approach may hopefully only be the start
  • Lot’s of Noise from the Quiet People ;-) There seems to be a pick up in dialogue about introversion and quietude – all good stuff
  • The continuing Industrialisation of Agile. Agile stopped being done widely (in smaller numbers, but more effectively) ages ago. What we seem to have now is a bunch of PM’s who have done “Scrum” or “Agile” training and are operating using the same patterns – “I want that velocity increased next sprint!”

The World

That’s pretty much it. We’re off this evening to watch the London fireworks on a cruisey boozy boat on the Thames, so I hope you all have / had a great NYE.

ClojureX 2012 London

Yesterday I attended the Skills Matter ClojureX conference – one of the best I’ve been to. It had the same feeling as JavaOne before it got all commercial and Apple’s WWDC before every person and their animal started attending… As one person remarked, an “ordinary conference” would of taken two days to deliver what this one did in one!

The standard of talks was consistently high, and only one speaker payed the price of “live coding” with things not quite going to plan. Even that session was still fun as the audience shouted out possible solutions to her problem (think group programming :). A small price to pay when you consider how much live coding increases the quality of the presentations – one of the advantages of the REPL.

What were my favourites?

  • Live Programming with Clojure – this was the intro presentation and literally ROCKED!
  • The Refined Clojurist – I’ve been thinking about working with Prolog and Clojure. No More! Now I know about Core.Logic and the fact that it’s effectively a “mini Prolog”. I’ll definitely be coding and writing more about this.
  • The Language of the System – Hey, this is Rich Hickey’s talk, so it goes without saying that it’s interesting and covers a lot of thought provoking ground.

I must also mention (as I did in a tweet) that almost 1/2 the people at the conference were working on commercial products for Banks, Media companies, Start-ups and I’m sure a whole lot more. It wasn’t until near the end of the day that I personally met someone who wasn’t a commercial Clojure programmer! Anyone who dis’s Clojure as “academic” or “too geeky” had better watch out because it’s in your rear-view mirror and it’s a Ferrari! If your competitors start using it (well) then you won’t know what hit you. Overall I came away feeling extremely positive for the prospects of Clojure in the industry.

The videos are certainly worth watching, but if you don’t have time, here are the takeaways I got as a mind-map (which I’ve been using for the past few years to take notes – I find it more effective). As I knew that the talks would be on-line (some of them were within an hour or so!) my notes are about topics of immediate interest to me – mostly around new tools to investigate or articles to read, so if one of the topics really interests you then it will be worth watching the related video.

ClojureX

and also in list form if you’re in to that ;-)

  • ClojureX
    • Core.Logic
      • Post Functional
        • Talk from TechMesh
        • miniKanren
        • Constraint Logic Programming
      • Ciao!
        • Lien repl :headless
        • How about working on Definite Clause
          Grammars?
    • USwitch
      • Mississippi
        • Lib for data validation?
      • Part of Forward Group
      • Charts
        • D3.AS
        • C2
    • Playing Nice
    • Google+
    • Persistent Data Structures
      • Book: Purely functional data structures
      • Phil Bagwell
    • The Language of the System
      • Riak
      • Armstrong Thesis
      • Coursera
      • Eden
        • Better than json
      • ZooKeeper
      • Use java.util.concurrent.queue
    • Music
      • Monome
      • MaxMSP
      • JazzMutant Lemur
      • Arc
      • Performance
      • Sifuka
        • On iPad
      • Ableton Live
      • jsui
    • ClojureScript
      • MongoDB
      • Express – application
      • Hiccups – library
      • Catnip – CS IDE?
    • Sam Aaron
      • Freesound Website
      • EMACS Live
    • API design
      • Clojure Training
        • 23-25 Jan ’13
    • Web
      • James Reeves