Monthly Archives: January 2009

Digital Foot Binding

FootBinding

According to Wikipedia “foot binding was a custom practiced on young girls and women for approximately one thousand years in China”. Like many customs of old I’m sure the practice had its roots in someone completely explainable at the time, but today it just seems cruel and inhuman and its probably best that the practice is now abandoned.

Every era has its customers and the current digital age is no exception. Whilst it might be hard for some to draw the same parallel that I have, I heard of a similar kind of practice that even now seems to me to be a little bit arcane, yet it is a practice entirely borne of the digital age.

What I am referring to is something as simple as storage management within our schools here in Australia. Whilst I am sure there are many children around the world worse off than children in Australian schools I was shocked today to discover that some schools limit the storage available to students only 50MB.

The ability to effectively use computing resources is a critical learning outcome for students today and if schools are placing these kinds of limitations on students then I wonder whether we are actually doing them some harm. I do have some perspective on this in that I used to be a Teachers Aide responsible for administering academic computer networks and we had some fairly hard limits about what kind of storage capacity was available to us, but that was over ten years ago and those limits simply don’t exist.

Part of the problem is the perception that IT resources need to be somehow carefully measured out by those wise wizards in the computer room responsible for the computer networks. Sometimes it saddens me to think that I may have used my authority of academic computing networks to hinder learning outcomes that way.

Advertisements

The Danger of Requirements Clustering

Over the years I’ve worked on a lot of software development projects which were tasked with building a “system” which attempts to meet all of a group of users immediate requirements. These projects always had one of three outcomes.

  1. They were successful.
  2. They were unsuccessful.
  3. They were unsuccessful but claimed to be successful.

The reason for the distribution across these categories are many and getting agreement into which category a project falls is largely subjective. If the bar is only that some utility out of the system was gained then a goodly percentage could be claimed to be successful (in the order of 75%).

In my opinion, “some utility” is a pretty low bar. In fact most projects end up producing “stuff” that doesn’t get used. One of the reasons for this is that we tend to cluster requirements together into a “system” which will attempt to meet all our current and future requirements but as agile teams would know (and argue) requirements are a moving target that change no sooner than you have defined them.

From an agile process point of view, the solution then is to resist the temptation to define too many detailed requirements up front (although some visibility is necessary to avoid “doing something stupid”) and focus on the shorter term objectives that will deliver business value. The next most important requirement will be obvious once you have delivered the preceding requirement.

One of the reasons we tend to cluster requirements into systems is because access to development resources from business users is limited and so once they get a time-slice they want to get as much into the buffer as possible.

To help mitigate this problem we need to design the internal IT organisation to be a little bit more like an operating system which shares the resources around based on relative business priorities and packages work up into small executable chunks and where the various business units are confident that they will get a time slice some time again.

Discount Microsoft Certification Vouchers

Ah the life of a Microsoft MVP is pretty sweet. In exchange for getting to work with technologies you love, you get “free stuff”. Sometimes the free stuff is stuff that only you can use, but other times its free stuff that you can share around. This is once of those instances.

Recently I got an e-mail from Microsoft about how they were going to use the MVPs to increase the awareness of the certifications at Microsoft. Basically, the deal is if you take the promo code AU60233A and visit www.learnandcertify.com you can redeem it for 10% off an exam, and you also get a free re-take offer.

In the interests of full disclosure if enough of you do this I can get up to 10 free certification vouchers for myself so its not completely self-less 🙂 I guess the number that I get depends on how many of you use the code above. So get cracking!

Agile Teams and Organisational Policy

When a large organisation “welcomes” an agile project management methodology through their doors they may not know entirely what they are getting themselves into. If we look at Scrum specifically we know that a key role is that of the “Product Owner”. This is the person (or role) that is the gate keeper for new features into a piece of software – but I think that they are more than that, despite what the line management structure within the organisation is, I like the team to think that this is the person that they work for and this duality of chain of command can sometimes create challenges.

A really good example is when through the prioritisation of the Product Backlog the team will need to implement something that contravenes organisational policy. Development teams in particular straddle this interesting space where they work for part of an internal IT organisation, yet they are more aligned to the product owners interest so they would rather do something useful than fold their arms and say “sorry we can’t do that, its against policy”.

Ultimately everything we do is governed by our own personal sense of what is right and what is wrong, and through that what is possible and impossible. Being an external consultant in a lot of organisations I have a certain amount of scope to plead ignorance of internal policies so I watch out for them to the extent that going against them might break the law but turn a blind eye when it causes no pain.

Perhaps I am a bad influence on some teams because of this, but the ability to selectively ignore certain organisational policies allows me to progress some things faster at the risk of being escorted from the building or worse, causing someone some real pain.

Always Reach for the Banana

One of the reasons I do this is to re-test the assumptions that policies are based on because in a lot of cases the reason no longer exists. It reminds me of the story about monkeys in a cage reaching for the banana. I often play the role of the new monkey in the cage and often get attacked by the other monkeys. The lesson I’ve learned is that you have to get the banana very quickly for the other monkeys realise so that you can show them that the hose is no longer going to get them.

Agile Teams Always Reach for the Banana

Agile development teams develop a can do mind-set which is good for the company because they become brave enough challenge old assumptions. All policies need to be tested from time to time to make sure that they still hold true. If someone tells you that a policy prohibits a certain course of action decide whether you should do it anyway, ultimately you have the power to make something happen and if the outcome is truly valuable then only the stupid would punish you for a positive outcome which ended up removing one of those pieces of red-tape.

The Year Ahead

Around this time every year I try to take stock of where I am at. The past year has certainly seen a lot of change for me. I’ve been in a new relationship which I am really enjoying and work has provided its usual dose of challenges and opportunities.

Looking forward I hope that this is going to be an action packed year. I’m looking forward to getting a few personal goals addressed such as getting into the property market which I have avoided up until now.

From a work perspective I want to continue building the Readify ALM business but also start to shift some focus to the SaaS space both as a solution builder, but also providing guidance and advice to businesses looking to explore this space. With the Windows Azure platform just around the corner I think that development teams will be starting to come to grips with the challenges of building Internet-hosted applications (as opposed to applications hosted on internal infrastructure).

As soon as this happens those of us who have been living a digital lifestyle will have invaluable skills helping those teams integrate with other on-line such as the Live Framework – and even things like Twitter!

This year my patience for people in IT who say no to innovative use of technology in business will be quite low as I’ll be encouraging skunkworks projects everywhere I go 🙂