Category: Business

  • Exiting

    I have just come in from a rather hostile meeting. Its purpose was to draw the lines between the role of a developer who has been working on a site for 6 years, and a consortium consisting of my company and a partner company, who are redeveloping the website in question. The rep who led the old developers was condescending from the start. She clearly felt threatened… our three against their two. Or maybe she’s just like that – hostile.

    It’s incredible how I can sit through the first five minutes of a meeting without opening my mouth, being treated like I graduated from high school yesterday. Even more amazing is the fact that I quite often get treated like I don’t speak English. In 21st century Australia. In any case, she was rubbishing our solution from the start, unauthoritatively and with very under-developed arguments. To her credit, she did make it difficult for any of us to come back at her – you can’t really defend yourself against a tirade of crumbling poo cakes.

    Her next mistake was to say that their company had had clients request to move away from the technology that we are proposing to use, in favour of theirs. Notwithstanding the fact that their solution is sh*t, the fact is that technology shifts happen all the time, for any number of reasons, technological superiority being only one of them. It stank of insecurity, and perhaps even desperation.

    I can understand. The client has probably been a cornerstone client of theirs for a while, and they can’t afford to lose their patronage. This is a plight that affects many development companies in Australia, including my company back in its hey day. While I have pretty much broken free of a reliance on one or two clients, many developers do not. It’s always nice to stay within your comfort zone and work with people with whom you are familiar. However the implications of doing this are serious; more often than not, both parties – client and developer – will end the relationship in tears because their fates have been intertwined from the start.

    The current situation is a case in point. I am not cheesed at the way the meeting with this woman went (ok maybe a little, but then you would’ve been too) – the theme I am getting at is the fact that she was so reluctant to cooperate; this is behaviour I find extraordinary in any reputable web development company. Wresting control of the public website in this instance was easy… the client was fairly adamant that my partners should just take over. When it was even suggested that the back-end be handed over as well, we were met with a simple “it’s too complicated”.

    Never have I come across such a poor reflection of competence – an outright admission of failure to keep a good audit trail. I wager that you would only need to look at their code to see why – I have seen so many solutions arrive on my desk with documentation and annotation scoring a perfect 0, and this solution would probably be one of them.

    It’s one of two things, really, and to accuse them of one (incompetence) would be unfair. It could also be that they are acting strategically, locking the client into a relationship such as the one I mentioned above – the intertwined fates. They could hand over all of the source code for the project and it could be as useful as a Brisbane UBD map in Melbourne.

    I was accused at one stage of claiming that the client, who was sitting to my right, had failed to do his due diligence before embarking on his relationship with these clowns. I didn’t object, and mumbled “I just find it extraordinary, that’s all”… that the product has been left in such a state of mismanagement. If the fit eventually hit the shan and the client sued the old developers for a piece of crap software, the developers could probably enter a defence claiming lack of due dilligence on the client’s part and get away with it, but I feel the client couldn’t know any better. It’s not like you can find out about true incompetence by any means available to normal due diligence testing.

    It is my opinion that this client has either been duped or the developers have not provisioned for record keeping in their time estimates. A word of caution to anyone out there looking for application developers: developers come and go. Your website will belong to you, regardless of who builds and administers it, and it’s therefore up to you to ensure that it is a well-managed piece of intellectual property. If your developer cannot prove that it’s been written in a way that is compatible with your mutual exit strategy, then run!

    What should you be looking for?

    1. Internal annotation within the code that explains the logic of code blocks, dated and attributed to a developer.
    2. Chronological logging which reflects who did what and when.
    3. Document libraries containing all associated documents (such as third-party specifications, project briefs, design briefs… with all major and minor versions present).
    4. UI documentation – the documents that explain the user interface to the client, and all levels of end-user.

    Ultimately, you should trust your developers, but trust them as business partners. Because when you cease to do business with them, for whatever reason, they should be able to bump into you in the street months down the line and comfortably ask how their former project is doing without any ill-feeling on your part or theirs.

  • Instructions

    Feel the rythm... or lose your headGrowing up, I had the privilege of living in a household where most of the domestic work was done by a maid. Returning home recently, I met for the first time Sophani, a sweet and caring Cambodian woman who helps my parents with the cooking and cleaning. As it turns out she speaks hardly any English but she tries, and for that I have the deepest admiration. One day while watching someone attempt to deliver instructions in English, I was reminded of one of the oldest stories about Sun Tzu…

    When he was a young man and still in the process of writing the Art of War,  Sun Tzu was presented to the King by the prime minister because he had heard great stories about his treaties. Wanting to see the Art in motion the King asked Sun Tzu for a demonstration.

    “Will women suffice?” asked the King.

    “As you wish.”

    The King ordered 180 palace ladies to the courtyard where they were divided into two companies. The King’s two favourite concubines were appointed officers in charge of the companies and training commenced. Sun Tzu taught them how to handle light weapons and how to respond to drum beats: advancing, retreating and turning. When he believed that the instructions were clear and the ladies were well-practiced, Sun Tzu summoned the palace executioner and asked him to stand by with his sword. Just to be sure, Sun Tzu explained the instructions patiently and had the ladies practice several more times. He then ordered the drummer to sound the instruction to turn right. Immediately the ladies fell about giggling.

    Sun Tzu drew his breath and exclaimed “If rules are not understood and orders are not clear, the commander is to blame”. He repeated his instructions and had them practice twice more and then ordered the drummer to sound “advance left”. Again, giggling.

    Sun Tzu looked up at the King on the terrace and explained “When orders are clear but are not carried out, the officers are to blame”. Turning to the executioner, he gave orders to behead both company commanders.

    The King was stunned and implored Sun Tzu to spare his concubines but Sun Tzu’s reply was simply that “I have been appointed commander, and a general in the field is not bound by orders from his sovereign.”

    The two concubines were swiftly beheaded and two new concubines were appointed company commanders. The drummer now sounded instructions to turn left, right, advance and retreat and each instruction was carried out silently and quickly.

    Sun Tzu now looked again at the King and announced: “Your troops are ready for inspection.”

    If anyone is interested, ConsortiumWeb has vacancies for admin assistants and palace executioners.

  • Planning

    ConsortiumWeb has two business plans. The first I wrote in July 2005 and now pull out for a laugh every so often. The second was not written by me, nor was it written any time in the recent past. Two and a half thousand years ago Sun Tzu and Sun Pin wrote two treaties that we now know as the Art of War. This is my real business plan, the one that I pull out every day.

    It’s great for running the business, but there is one particular aspect that I think would apply especially well to my clients: planning. To those who are not familiar with ConsortiumWeb, we develop everything from simple web sites to advanced web applications. I’m frequently asked to prepare a quote based on no more information than “I need a good-looking web site with five pages and pictures”. While I’m happy to oblige, this can never serve the client’s best interests. It’s like being asked to build the Sydney Opera House based on instructions that amount to “we need a good looking building to put on our postage stamps”.

    Sun TzuSun Tzu had this to say about planning…

    You must know five things to win:

    1. Victory comes from knowing when to attack and when to avoid battle.
    2. Victory comes from correctly using both large and small forces.
    3. Victory comes from everyone sharing the same goals.
    4. Victory comes from finding opportunities in problems.
    5. Victory comes from having a capable commander and the government leaving him alone.

    You must know these five things. You then know the theory of victory .

    It may seem at best loosely relevant but this is how the Art of War works: by applying common sense in the interpretation. In other words…

    To get the website that you want in the right time frame and within budget :

    1. Time your project based on the changing trends of the climate. Barging into a project purely because you think it is a good idea is almost always a very bad idea.
    2. Judge the relative size and power of your resources and act appropriately. If you are limited by budget, start small and expect less. If you are limited by time, remember that even the most diligent developers in the world have no control over many aspects of a project – account for delays even if you can’t afford them.
    3. Gather your thoughts on paper and have a clear idea of what you want – ConsortiumWeb can find you very good developers, but psychic developers are probably a little beyond us. Every time you change your instructions to the developers you incur additional costs in time and money. I have a good story about clear instructions… maybe for the next post.
    4. Discover opportunities by knowing your market. If your background is in real estate and you’re trying to build a travel web site, do not go it alone. Engage someone in the industry if you need to, just don’t go in blind.
    5. Be the boss and make the decisions. A large percentage of a developer’s time can be wasted waiting for instructions in a badly managed project. Reduce the complexity in delivering instructions and have the decision maker deliver them directly.