Thinking about a new Box

There is an interesting turn of phrase used to describe innovative thought:

Thinking outside the box

However when attacking a new problem, the first thing you do is to find the box. The box is the problem domain, the business problem or other set of boundaries.

They may be physical boundaries, or semantic ones. The scope may be based on one of the parts of the Iron Triangle (Time/Money/Quality), or some other metric.

Flipping this on it’s head, if someone comes to you and says that you have no limits and you can create anything you want… does your mind go blank ? Or do you have too many ideas ? Constraints help focus the development.

It seems not that you want to think outside the box, but you want to find the edge of the new box, the one that surrounds your problem. This box then stretches and resizes over time, as functionality is added, taken away, or even put in new boxes. Each box then turns into abstractions which in turn will live in a larger box.

The box is helpful for comprehension as it allows us to abstract concepts and then put them together at a higher level, after all this is how the diagrams for overviews are drawn.

Now, if you excuse me, I have a whole bunch of boxes to look at…

(picture credit: Box 5 by ~Brenda-Starr~, on Flickr)

A Year Away

Well, I’ve returned to Blogging. I started back after reading a post on curing the excuses not to.

So what has changed… well a lot really. I’m now a dad. I’m also now working in financial services, as an IT consultant in investment banking.  A whole new business, new people, new culture. Not just at work.

A lot of new ways to look at the world. Stay tuned…

The Internet’s Voice

In a past article I talked about the issue with “Mob rule” with the internet, except I also proved, to myself certainly, that my ability to communicate needs work.

Thankfully through the BBC’s Digital Revolution project, I discovered Clay Shirky makes the point much more succinctly.

For those who want to have a go at putting a programme together, this is a must see project, and I think the outcomes might be very interesting (or at least quite humorous). It certainly illustrates the amount of work needed to put a programme together.

Back to the Internet’s voice… another rush on the site is one from Danah Boyd, who is a Social Media Researcher at Microsoft looking at young people’s take on the social media and the effect it will have in their lives. A couple of things struck me about this:

The Permanence

Pretty much everything you commit to the internet will at some point end up being copied in some form or other. Whether it’s in google’s cache or in the Internet Archive, it will be copied, unless you make sure at a technical level that it isn’t… except everyone can copy and paste and “Save As…”. In essence it will always be there and you have no idea who will see it. An interesting point is when Boyd comments on her teenage past and the blog where she wrote about “working through issues” and a humorous hope that the presenter would not read that part of the blog. This makes me wonder: Is one of the things about growing up best served by forgetfulness ? Everything can come back to haunt you and how much right do complete strangers have to trawl through your past and haunt you with it ?

The Boundaries

Another really well made point is the idea about a Teacher. A Teacher as a person enjoys the same rights as most of us with the exception that their standing in the community is different, which means that behaviour that may be appropriate for anyone of their age/peer group is suddenly not. The internet has actually increased the amount of scrutiny and not in a good way. Why is the fact that a single teacher is on a dating site a cause for concern ? Why should the pupils know about it ? Why is this attached negatively to the job, when it really has nothing to do with it ? The Internet is now a wonderful way to bully someone and argue with people who if met face to face, you’d never say a word to. Is this constructive ?

Positive Contributions

So in the face of this, what is the positive parts being brought to the table ? Well some people point to the better political participation by people (sat “in their pyjamas – Gina Bianchini, CEO Ning).

This frankly I don’t buy. To me, the internet is noise. Any real meaningful contributions are still happening in the non-virtual world. I’m reminded that in the 80s BT thought they might put the airlines out of business through video conferencing. The internet is very good, as Clay Shirky points out, at creating places for lots of people to argue about things. One example is that when Obama got into office, one of the top things that came back through his website was the need to legalize the smoking of marijuana. I think that most of people would agree that in the grand scheme of things, that really isn’t a top priority except to a small vocal and organised minority who think otherwise. What about the Iran riots ? Well frankly, what about them ? We are left with one memorable youtube video (it’s not really SFW, and you can use your favourite search engine to find it) and not much in terms of change. The “voices” on twitter seem to have come from US/UK supporters changing their location to “Iran”. 8,600 people does not a majority make in a population of around 70,000. For all the technology it has not addressed some serious issues in people feeling that they are disenfranchised about the political system. If anything Social network would in fact drive groupthink, where people would be pressurised into voting similarly to their peer group, which the balloting system is supposed to avoid.

Speaking of “peers”, what exactly is a Social Network friend ? Are they representative of “real” friends or more likely then not, acquaintances or work colleagues (there may be overlap) ? How can you represent this ? How do you make the distinctions, and make them work as they used to do ? People have their little groups, there are the “work friends”, “university friends”, etc. Each group operates mainly without the knowledge of the others, and this is how we live now. Is this simply cultural or a way of protecting ourselves from some form of emotional overload that having 200 “friends” would bring ?

So the good news. The most you will get from life will not be from the Internet, and in fact most of the “real” things will probably never go near a social network. What does go near it, will escape from any control you might think you have and be there “forever”. Which was the point behind a now infamous piece by a young banking intern. People are social and like to talk, which is why the phone has not been replaced by video conferencing. The internet allows us to do many things, but it’s still pretty dumb. You still need to talk to someone when you work, and you can’t get the computer to know your personal circumstances in times when moral or ethical, or more bluntly, compassionate aspects are in play. In theory the ability to organise small groups is no much easier, but attempting to provide democracy or social mobility is certainly not working now. A world without borders sounds great, but no-one wants to pay the bill for it.

One Size Does NOT Fit All

In a few posts on this blog I’ve tried to make the point that you need to know your local market. It seems Google are beginning to wake up to this… well, in Japan anyway, people in Eastern Europe or for that matter Western Europe will have to make do with an American viewpoint.

If you think about it, it shouldn’t be that unusual that a large corporation changes to suit it’s customers. But it is and it is noteworthy because it makes you wonder how many times a corporation has moulded the customers expectations to fit a “need” that is created for their products. Street-view has been a wonderful case in point in the UK and EU with people on all sides trying to determine the legitimacy of it – and in some cases the need for it ? Most times we need a map, not a picture.

How many times has a vendor pitched a product that will integrate “with a few changes to the surrounding infrastructure” ?

The conciseness of the funny characters

Hacker news brought me the delights of this post on the point that the Chinese language can express more in fewer characters then English. Something I can vouch for which makes translation from English to other languages painful for me.

Anyway, the scary bit, Twitter doesn’t allow 140 Unicode characters !?!

Look, if you say character, you should mean you support any Unicode character! And yes, that may in fact be 560 bytes, but come on, English is not the only language in the world.

A sensible reason why competition is good

One thing I’ve noticed is that often larger corporations, especially those who have a large installed base seem to start “hating” their customers. Which is an opportune moment to read this.

Maybe I’m being a bit harsh. In media or TV it’s hard to determine what your customer wants, you can’t really invite several million people in and ask them. The first thing that might happen however is that your product design starts to reflect the “prejudices” of your business in terms of how you see your customers. The bigger the spread of “ability” – for want of a better word – the harder this is. If you sell something technology based, and your audience ranges across the entire population spectrum, you are likely to play to the majority share in that market, which can be frustrating for some as they think you are treating them like idiots, and others might think it’s too advanced.

The nice thing about competition is that it does work these niches out, and then provide impetus to address each part of the market appropriately.

The crazy thing is, your customers aren’t that bad. After all they pay you money. The tricky bit is figuring out what they want and what works for them.

Every Project Starts with a Deadline

Everyone in Software is familiar with the “Iron Triangle”, the triumvirate of Time, Features (Functionality, or Scope), and Resource. In summary, these are the three factors that control any project, altering any one of them always alters the effect of the others, with enough Features, Time, and Resource, you have a high Quality product.

In recent years all the various methodologies have focussed on trying the win the “Time” argument, to stop the idea of time limits being set up front and thus reducing the Functionality as the Resource is generally fixed (which even if increased may have less benefit)  which may in turn lead to a lower quality product.

This has lent some credence to a new myth, that projects don’t need to have deadlines or set time limits, and in fact shouldn’t have in order to create good “Quality” software.

And in the real world…

This is a joke. Let’s start from the very beginning, suppose you are asked to deliver a project, you will generally be asked three questions, never mind all the ones you should be asking, those three are:

  • How much ?
  • How long ?
  • Who do you need to hire/what do you need to do it (you could suggest this is how much) ?

Consider that everything you do has a deadline, even if this deadline is not the one for delivery. It is important to set a goal, and often this represents a line in the sand, where you can evaluate the progress and determine if you can proceed.

If you doubt this, consider what you ask the guy who comes to install your cable. If (s)he fails to turn up when they say or takes 2 weeks to wire a plug, you are not going to pay them. When you bought your house, your bank didn’t give you money that you could “pay back when you wanted”, they attached a timeline to it that reflected a best guess according to your capability to pay.

The Punchline

Your project has a deadline. It will always have one. Your aim is to have a realistic one, and that assumes the business understands what it is trying to have delivered. Even then a deadline is not your enemy, it marks a decision point for others to determine if they want the deliverable. It also acts as a focal point for your efforts, provided that the focus is not panic. There is no point in the argument of “it’s done when it’s done”, the money running out stops that dead. Remember the bank who lent you the money for your house, they don’t stop the clock because your job did. The bad news is that the bigger the organisation, the larger the number of levels that the deadline has been established over… so maybe the idea started at the board, so the CEO has a point in time in mind, then the Architects get the idea, and at some point there has to be a business case, and this will always need a deadline!

Practically, you have the following options:

  • Cheap and quick – may never get upgraded/fixed, but will do, soon find out how import the deliverable really is :)
  • No time at all – build a prototype, be upfront about it, if it works out, you can work on the full system, if not, well software doesn’t take up landfill.
  • No resource – establish your own timeline of what you need to achieve – if the shortfall is obvious, either you get more resource, or time.
  • Work nights! – this is not an option. Unless you are 20 and can work on 3 hours sleep, you’ll start spending 50% of your productive time fixing what you thought you achieved. Don’t do it. The odd hour fine, night, no.

Or hopefully:

  • Just enough of each of the three parts of the triangle – due to the business understanding what needs to be done and having funded/invested appropriately

Conversely:

  • Too much time – things wander and all three parts can be wasted.

Good luck with the deadline :)