Category: Agile

Back in Australia

MoranReserve

WOW! I just realised that it’s been a year since I did a blog post. I knew it had been a while, but I figured around 6 months max… Well, I suppose I needed it, and the good news is that I’M BACK!

I’m not going to go in to what has transpired over the past year since an agile adoption, as it’s quite involved and will come out in some successive posts, but will focus on where I am now and what my Posting Plans are.

Near the end of last year we started planning a return to Australia after almost a decade in the UK – what a BLAST! So many lovely experiences, people, places and new friends :-) Eventually though, it was time to return to Australia as it really is my home and although I may have a few gripes about it, Australia really is an amazing place and as the old cliche goes: I now really appreciate how lucky I am to live in this country after being away so long. That shot above is from my local beach which is 3 mins drive, and I can get in to the city (in the distance) in around 1/2h with a walk and public transport – that’s a pretty good lifestyle.

So what’s in the pipe? A much more varied mix than when I started out doing just “software stuff”:

  • Reflections on life in the UK and Europe
  • Observations on life in Australia now I’m back
  • Reviews of gadgets
  • Travelogues as I explore my own country – now I’ve probably seen more of Europe than I have of Australia, so it’s time to correct that
  • Process  – yes, I’m still on the agile path
  • Architecture – looks like that will be my primary area of work still
  • Software – which I’m gradually getting back in to, with the current focus being Clojure
  • Probably the odd bit of music or photography to round things out
  • Anything else anyone would like me to write about…

YachClub

Advertisements

an agile adoption

Tai Chi Statues

My approach to agile* adoptions is based quite a bit around Tai Chi and Taoist philosophy which I won’t go in to as you can search about that on the net. There are a few principles worth noting from these:

To the mind that is still, the whole universe surrenders ~ Lao Tzu – 6th century, BCE

Empty your mind. Be formless, shapeless. Like water. You put water into a bottle and it becomes the bottle. You put in a teapot, it becomes the teapot. Water can flow, or it can crash. Be water, my friend! ~ Bruce Lee, 1971**

which are a good philosophical summary of my approach to agile adoptions (well, actually life in general ;)

This series of posts is not directly about philosophy, it’s about the day-to-day progress of an agile adoption: The Good, The Bad and The Interesting.

So stay tuned, check back and drop in if you’re interested as this is just the beginning…


* In this series I’ll use the term agile with a lower-case ‘a’ to indicate “real ‘good’ agile” which I’ll explain as we go, compared to “Industrial Agile”, “Consulting Agile” and “Corrupted Agile” which start with an upper-case ‘A’

**

Welcome 2015!

London Fireworks 2015M25 Carpark

It’s been quite a while since I’ve posted much, mainly due to a contract which requires me to drive on the M20 and M25 (aka “the carpark” for those outside the UK) and as a result, I just don’t seem to of had the time and energy…

Javelin TrainOh, how I long for those lovely trains, and will never complain about a 30 or even 60 minute delay – the worst I’ve had in a car is a 1h trip taking 4h!!!

I look forward to getting on something where someone else is doing the driving so I can use my time effectively

Amazingly, it seems like only 7% (4.5 Million) people in the UK use public transport. Given that nearly 1/3 (22 Million) live in the South-East, where transport is generally pretty good, that seems pretty low. No surprise given the number of people on the motorways – I’ll be happy to take one more off them next contract.

So what’s up for 2015 for me and this blog?

For one, I plan to start getting back in to a bit more of a rhythm, both with my posts and the associated (play) work (generally outside “real work”), and I will continue to post based on my experiences – recent and past…

theme : ecologyWhat are the themes though? Here’s a list of where I’d like to go:

  • Lifestyle & Reviews
  • Process & People & ScramJet
  • Clojure
  • Architecture, including Enterprise & SOA aspects

in no particular order. I won’t get in to specifics as much of it is not yet planned, or I’m working on it but don’t want to reveal it until I have enough meat on the the bones so I can be sure it will fly.

teaserHere’s a few teasers though based on posts I know I’ll write or have in draft form:

  • Review of Bob Marshall’s “Thinking Different” happening last year
  • Review of the: BMW i3 electric car; Samsung Galaxy Alpha
  • Corporate Subversion – in a positive manner of course :-)

and that’s really just the “boring stuff” – there should be some very interesting posts coming as I hit my stride.

I hope you’ve all had a great XMas & New Year break and look forward to some great interactions in 2015!

Skramjet – Working with Project Managers

Female Project ManagerAfter a finishing up my current contract, holidays and a bit of Bloggers Block, a chat with John Wenger about humanity and process a while ago has inspired me to do this post that I’ve had brewing for a while… Your first response may be a glib / tongue-in-cheek response “What, humanity and PMs, that’s an Oxymoron”. And therein lies the problem – I feel I almost need to point out that PMs are people too :-) Most of them are trying to do a good job in a probably difficult situation. They have families, lovers, pets: and they’re just at work like you – doing their best…

To tease this apart more, the first thing we need to do is separate the person from the role. With that, we can acknowledge that people are generally the same, so there should be no core difference between a PM and others in an org. Then we have the role – this is unfortunately where distortions can come in. Not only from the role, but the organisation and it’s view of that role which often puts them forward as “Managers”. I mostly see them as “Administrators”, though and I’m not saying this in a mean way – as an Architect (or any other core-IT role) I see them there to help me to build things for an organisation. Sure, they have their plans, but any good PM knows how to work the plan with the people and not the other way around.

In most of my engagements in large organisations, as a facilitator I’ve gotten along well with the PMs personally and professionally and they’ve always helped the project (well, there’s always the exception, but one can say that about almost anything). Strangely though, this seems to be the opposite of most of the “agile crowd” who seem to constantly complain about and want to get rid of PMs. What’s up? Have I just been lucky the last 15-20 years? I think not…

Humanity

How would you feel if I came in to your work and told you I was a BoingBoing Master and that part of the BoingBoing Approach (tm :) I’d be replacing you, or if you were lucky would turn you in to a BoingBoing Apprentice where you’d have to start from the bottom again and work your way up?

Well that’s the attitude most agile people do! And then they wonder why PMs are so “difficult”…

Role

As I touched on above, I acknowledge that while PM is not an essential role in agile, it can be accommodated. Part of this probably comes from my earlier work with (Iterative) RUP where PM is an acknowledged role. When I progressed to Scrum, it was using RUP Iterations, so again, the PMs were there – helping with Iteration and Project planning, while we ran the Scrums and handed most problems over to them to sort out.

Working

This brings me to my current approach: As I mentioned, I view PMs as “skilled administrators” and “organisational facilitators” who are necessary in in large company. On that basis I help them understand how I can work with them as I’ll help the team focus on their work and maximising it, while they can help communicate this to the wider organisation and help remove obstacles that the team will be surfacing with them. This way, we both benefit, generally doing what we all enjoy.

Perfect? No, but it’s sure better than going in to a situation where you have exist with a powerful and combative “opponent” every day…

The Kicker

This approach also allows for what I’d call a “classic” Scrum/Kanban/… Facilitator, where this is not a full time job (which I can remember in the early days of agile and scrum). The rest of the time, I get to perform a team role (usually Architect, but it could really be any – e.g. (Business) Analyst, Developer, Tester, Infrastructure) which enables me to be deeply involved in the project and therefore not need “explanation sessions” where the team explains what they’re doing to someone who doesn’t really understand.

Future - Human Evolution - Cities in the SkyThe Future

So is that it? Am I advocating we just sit back and not cause “too much trouble” for the entrenched system? NO! It’s quite the opposite as I’m suggest a campaign for Hearts and Minds conducted with Love and Compassion rather than the “Shock and Awe” campaigns that are often conducted by the Agile Extremists…

Edited with BlogPad Pro

Changearc – the thinking person’s RiczWest ;-)

Today I’m (@RiczWest) starting a new twitter account. It’s called ChangeArc. For those who follow me, you’ll recognise this as my “Blog Name” – so what’s the purpose?

Simple – when I started using Twitter, it was primarily as a bookmarking tool. To some extent I still use it as such, but also for so much more…

There’s one problem though – as I look at a lot of content, that means a lot of tweets, and not everyone likes that, including me! There are a number of great people I’d like to follow, but I can’t because they tweet too much.

To that end, I’m going to start a much lower volume (only a few tweets per day) account which is ChangeArc. So what can you expect apart from less tweets? Extremely high quality tweets that will include any posts I do.

I don’t know how this will evolve, but it will be interesting to see…

Free “Mathematica”* in the Wolfram Cloud

Wolfram CloudMy history with Mathematica goes back about 20 years, when I was doing Masters research and using Mathematica for both programming and visualisation.

One problem was that it was expensive unless you could justify it. Also, there were no free or “community” editions available…

Well, THAT’S ALL CHANGED NOW!

Almost a week ago, Stephen Wolfram announced the Wolfram Programming Cloud, which as you can see from the image below is extremely powerful – try doing that in a programming language…

MySurface3DMy SurfaceYep, Mathematica just integrated for two variables and then just assigned that to MySurface which represents that expression and plotted it in 3D

“Ah…”, I hear you say, “that’s just some fancy trickery with a good library, but it’s not real programming”. Well, that’s kind of right, except for the fact that Mathematica has a huge range of such libraries, spanning across most disciplines: Applied Mathematics, Arts and Humanities, Business and Economics, Education, Engineering, Information Science and Technology, Mathematica Technology, Mathematics, Science and Social Science.

Also, those two lines above are written in the language for Mathematica which is now called Wolfram that is a “symbolic, functional, and rule-based multi-paradigm programming language“. Pure language wise, it’s pretty hard to match.

It’s fully functional, being able to pass around functions to functions in whatever way you want, like above. But it doesn’t stop there as you can do conventional procedural programming:

For[i=0,i<4,i++,Print[i]]
0
1
2
3

or, rule and pattern- based programming:

rule = {a_, b_} :> {b, a}
{1, 3} /. rule
{3, 1}

and purely functional programming like this classic fibbonaci example:

f[1]=1;  f[2]=1;
f[n_] := f[n-1]+f[n-2] // Define Fibbonaci Function
f /@ Range[10]       // Now get the first 10
{1,1,2,3,5,8,13,21,34,55}

So that’s pretty much all of the major programming paradigms covered! Also, with all the talk about REPL’s these days, Mathematica has had one since it’s inception, except it’s not the REPL you’re used to. Apart from the normal ASCII behaviour, it can typeset and edit equations along with displaying graphics and widgets making it more of a SupeREPL.

Mathematica REPLI’ve not even scratched the surface here in order to keep the examples short and understandable, but you can easily find more by searching for “Mathematica programming example” or “Wolfram programming example“. Or, if you just want to see what it’s capable of doing or just get some inspiration, check out the Wolfram Language Code Gallery.

Interested? Then just head on over to the Wolfram Programming Cloud https://programming.wolframcloud.com/app/ and get started with the free version which is more than adequate to work out if you should upgrade to add extra options like an offline desktop version or even the mighty Mathematica itself.

Oh, and one last thing…

The Wolfram Cloud works on an iPad!

Yes, our (some very geeky people & me :) dream of being able to do complex computation and programming on the iPad is here – as long as you’re connected… Hopefully it won’t be that long before an offline “iPad Desktop” version comes out :-)


* Technically, the whole of Mathematica is not all in this product yet, but it seems quite a bit is and hopefully it will only be a matter of time before the whole thing is

Architecting: It’s (not) what you think with Ruth Malan

Firstly, this post is not really mine, it’s more an “ad” for a workshop coming up in the UK during the Software Architect Conference in London in October presented by the legendary @RuthMalan who was behind the Visual Architecting Process

I’ll be going to the conference and Ruth’s workshop – if you’re in to Architecture , you may want to check out the conference and workshops. Now, over to Ruth:

Abstract: We will spend time with the usual suspects — (re)factoring, dependencies, naming, forces, trade-offs, mechanism design, system and component boundaries and interaction surfaces… And some sketchy ones — making the system design visual and drawing people in. We will take some silver bullets* — relationships of goodwill and commitment to objectivity — to heart, and be playful, exploring (the interaction between) the various facets of architectural design:

  • strategic and structural significance: identifying strategic outcomes and defining challenges; design of system capabilities and system structure; system qualities and mechanism design;
  • decision scope: decisions at broader scopes (system, mechanism, service) and decisions at narrow or local scopes (units) considering intentionality and emergence;
  • timing of decisions: clearing the fog of uncertainty/putting ground under the feet and the “last responsible moment”, iteration and evolution

And we will take our fallibilities, biases, foibles into account. How? That is indeed it. Our focus will be on how. We will use creating a draft (set of views of the) software architecture to situate our discussions and practice system thinking and modeling, strategic thinking (understanding what is shapingly important in the user context and business and technology space), and design improvement strategies. Our orientation is to co-creation of systems that have desired structural integrity properties, including resilience, but also design integrity and dynamic unity.

Our goal is to surface key matters of architectural judgment, drawing out myths and misconceptions, and sharing, positioning and connecting useful conceptions, strategies and techniques, and laws, principles, heuristics and other guidance.

Pre-requisites: The main prerequisite is to be open, playful and engaged. I facilitate moving through really vital shifts in perception and put useful tools in the architect’s toolbelt, but we have to throw our lots in together, co-create together, playing when it is time to play — to explore and get options on the table — and, when it is time, getting serious and making strategically significant decisions the group coheres around.

About: Having worked in the software architecture field since the mid-90’s, Ruth Malan has arguably played a pioneering role, helping to define architectures and the process by which they are created and evolved, and helping to shape the role of the software, systems and enterprise architect. She and Dana Bredemeyer created the Visual Architecting Process which is recognised by the Open Group and emphasizes: architecting for business agility, system integrity and economic, technical, organizational and environmental sustainability. Creating architectures that are good, right and successful, where:

  • good: technically sound;
  • right: meets stakeholders goals and fits context and purpose; and
  • successful: actually delivers strategic outcomes.

Translating business strategy into technical strategy and leading the implementation of that strategy. Applying guiding principles like:

  • extraordinary moment
  • minimalist architecture
  • connect-the-dots

So we can Be Agile and Create Options…