Connecting the dots…

  • Time

    There’s never enough of it. There are so many things to do, so much work to get done, so many projects to complete, but there never seems to be enough time to do it all.

    There are tasks on your task list that just seem to have been there forever. They’ve gathered so much dust you probably can’t even remember what they were about. These are things you never seem to get to because there is always something else more important that comes up.

    There are stories on the backlog that keep getting moved down the backlog because another story turns out to be more valuable. The story’s moved so many times the card is by now dog-eared and sad looking from all the neglect.

    There is only so much you can do. There are only so many different projects you can try to juggle (‘try’ being the operative word). Your first step is to prioritize. Always work on the most important thing. Once you’ve done that, recheck your priorities and start the next thing. If you’re already doing this and your list keeps growing, take some time out to cull the items off the bottom of your backlog or task list. It just causes you stress to see such a long list. If the work was really that important it will rear its head again when the time is right. if you feel you can’t cull it, at least move it into an “Archive” list so that it isn’t visible to you. Once you get near the end of your current list, then you can take some time to review the archived list. You’ll probably find either that there’s nothing in there of value anymore or that the value is no longer relevant.

    More important is to keep your focus on the present task. Stay in the moment and enjoy what it is you’re doing now. There will always be more ‘stuff’ waiting for you in the future. There’s no point stressing about it.

    Life will go on.

  • It’s Time

    It’s time.
    Time to do something.
    Time to stand up and say “enough!”
    Time to reclaim what we’ve fought so hard for.
    Time to leave our differences behind us and unite.
    Time to stop being distracted by the story spinning, the divisive propaganda.
    Time to help those around us see what’s really going on.
    Time to say “No! This is not what we want!”

    If we let time go by, the dysfunction, the disease, will again become the norm.
    We’ll settle back into complacency, easily distracted by snake-oil salespeople
    Facebook-feeding our dreams and desires.
    We’ll lose track, lose time, lose interest.

    But it’s time to stop feeding.
    Time to stop the vampiric feeding from our limping Mother’s arteries.
    Time to rip off the leeches, throw them into the fire pit,
    cauterise and dress the wounds.
    Time to take our Mother under the arms,
    Help her back to her feet.
    Time to start singing the songs that brought us together.

    It’s time.

  • Thought of the Day

    “It is not how CLEVER you are, what really matters is how CLEAR you are in expressing your thoughts and ideas.” – Sandeep Kumar

  • Busyness

    Your calendar is full. Packed to the brim with importance. Every hour from 5 in the morning until 10 at night is penned-through with activities. Morning email and coffee in bed, sunrise cycle with your team, breakfast board meeting, mid morning budget reviews, lunch with vendors, afternoon project audits, early evening gym session with the trainer, dinner with the Joneses, late-night email lobbying with your altenative timezone customers.

    There’s an appointment you keep putting off, keep rescheduling. It’s the get together with you. The you that needs to just be, with time and space to disconnect, breath slowly and observe the world around you.

    When are you going to pen that in?

  • Regret

    It’ s a tricky thing, regret. We’re supposed to not have it, to not allow it to get to us. “Don’t dwell on the past. That doesn’t get you anywhere”, the mantra goes. But we all have things that we’ve done that we feel bad about, that we wish we could change or at least forget about. But the memories seem to rush back in at odd times, distracting us from the Now, holding us back from being fully present.

    If you believe you are fully in control of your life and your decisions, you need to remember that at the point, you chose that action, you decided on those words that brought you to that outcome. It was your choice.

    If you also believe that life is about learning and growing, then you know that even what may seem the worst outcomes are chances to grow, chances to change and to do things differently the next time.

    Sometimes we look at our scars with pride, sometimes with sadness, sometimes with regret. But we should immediately follow those thoughts with a reminder of what we’ve learnt from them and how that’s changed us for the better.

  • Thought of the day

    “You may never know
    what results come of you actions,
    but if you do nothing
    there will be no results.”
    ~ Mahatma Gandhi

  • Friday roundup

    Another week gone by. This one was quick!

    Here’s the interesting (at least I think so) articles I’ve been reading this week.

    Top challenges to digital transformation in the enterprise – CIO

    Organisational change is always tricky. There are some basic points you should take note of when doing this. This article describes these points well.

    What happens when a HiPPO runs your company? – Forbes

    It’s not the kind of hippo you miht be thinking of.

    Batch of trouble – Daily WTF

    A little bit of humour to round off the week.

    Enjoy!

  • Go for it

    If you see something that needs changing, change it.

    If you have a point of view, express it.

    When you have an idea, try it out.

    When you can help someone, do it.

    When you have a chance to grow, take it.

    When a new experience makes you feel uncomfortable, go with it.

    When a random encounter looms, take it.

    When you make a mistake, own it.

    Life doesn’t wait for you to work up the courage. No one celebrates those that didn’t make any mark on the world.

  • Bringing them into the fold

    In agile software development, we talk about self-organising, self-managing teams. Teams that control their own work and determine what work they do, what they prioritise, and how they deliver the final results. The teams take on this responsibility with the proviso that they have everything they need. But how often do they really have everything they need?

    The most important things the team needs are, you guessed it, the right team members. With the right people working together, the sky’s the limit. But how often do the teams actually get the chance to choose their own members?

    Let’s say an existing team needs a new person to replace someone that’s leaving. In a typical hierarchical environment, they would reach out to the function lead, for instance, the Developer Manager, and explain what skills they need.  This person would then pass this requirement on to the HR department to help them with this. Centralizing this recruitment capability generally makes most sense, as this process can be quite laborious and administration heavy, as well as requirement specific legislative knowledge. When a suitable candidate is found, the Developer Manager would do the interview, perhaps with the tech lead of the team of there are specific technical skills required from the candidate that the Developer Manager doesn’t have experience with. If they deem the candidate suitable, they start the process of getting them onboard. When does the candidate they get to meet the rest of the team? Usually only on the day they join. What happens if there are some real personality clashes with other members of the team? Too late.

    Ultimately the team should be doing as much of the recruiment as possible. They should all be involved in putting together the recruiting spec that goes to the HR department. When potential candidates are identified, it’s the team that should be identifying them and earmarking which ones to interview. They team should also decide what their interview process should look like. Will there be an inital round with the team first for personality fit and then a technical interview afterwards only when they feel they will be able to work together? Will it be the other way around? Who gets to do the technical interview? Is it the developers only, or should the Business Analyst be involved too as she will be working closely with the developer on the User Stories?

    If the teams are going to be successfully self-managing and responsible end-to-end, they need to be very clear about their role and the process they follow bringing new people into their team.

     

  • The bitter red pill 

    I’ve written a lot about change. It’s made me think extensively about why change is so difficult for most of us. A lot of us would like to change things about our lives. Our minds know it, but our bodies reject it. It’s all about habits.

    Let’s take the example of getting software into production. If you’ve been in a large corporate for a long time, you’ll understand this process in quite a specific way. That way will include all sorts of manual ‘quality gates’ that you will need to pass through on your path to the final step of getting your code into production and into the hands of your customers. These gates are controlled by various committees or boards, each of these committees requiring reams of documentation to prove to the gatekeepers that certain standards have been met before the gate will be opened and your code will be allowed to sail through the gates into the next environment. The process is generally very slow, drowning in bureaucracy and filled with arcane rules and policies that have accumulated over the years or decades, each building on the last set of rules, trying to address risk and maintain the highest quality possible. Because of the imposing bureaucracy, teams generally tend to slow down their release schedules to only a few a year, to minimize the pain of having to jump through all the hurdles that a release entails. Software gets released less often to customers and the chance of delivering the wrong thing (or indeed the right thing, but just too late) gets greater. An average release into production can take anything from 6 months to a number of years. Sometimes the software becomes redundant before it’s even released and it never sees the light of day.

    If your experience is in a tech startup, getting your software into production looks very different to you. You spin up a virtual server on a cloud platform somewhere and configure it as you need for development purposes, no length procurement process is necessary. You write your tests first before you write your code so that when you check in your code to your source control repository, the continuous integration (CI) server runs through your code and checks it against the tests and tells you immediately if your code is working according to the required functionality and quality standards. If the code passes the tests, your CI server automatically sends the code to the next virtual environment, usually some sort of integrated environment, where another set of tests will be run checking if your new code plays nicely with other systems that it has to co-exist with. If it doesn’t, the code is removed from that environment and you get immediate feedback of what went wrong. So you fix it and try again. When the tests are run again and it now passes, the CI server automatically promotes the code to the final production environment and your customer gets to play with the new software and you can get feedback on it. The release time into production in this scenario is anything from a few hours to a few weeks.

    Both these methods have at their heart the noble goals of solving the problem of ensuring quality code gets into production and that any risk to the business is minimized. The difference is in the way the problems are solved, and this is where the change part comes in. If you’ve been doing software development in a large corporate for a long time and your only point of reference is scenario 1, you will struggle to understand that there are other ways of solving the problem. Even if you do realize that there are other ways, you will often try to shoehorn some of these new methods into your old process because it’s so familiar to you. You try to have the ‘new’ and keep the ‘old’. What’s really going to bake your noodle is that you have to give up entirely the old ways if you want to embrace the new.

    Let go, and wake up in a new world.