Connecting the dots…

  • Stretch yourself

    Today I attended our annual chess tournament in Orange Grove hosted by one of my wonderful friends. It reminded me how important it is to do different things with your mind. I hadn’t played chess since the last annual chess tournament and my game was seriously rusty. But after a few games, I really started getting into the swing of it and playing a bit more strategically. 

    Comfort zones are dangerous places. Once we become familiar with a place, a way of working or thinking, our brain creates pathways that become ever more cemented as we repeat the habit, practise or work. It becomes easier and we gravitate towards doing the things again and again because we’re good at it. In many ways, this can be a good thing – we need to practise our skills to become excellent at them. However, becoming excellent at something means you neglect something else. When you are skilled up enough and the skill has become habitual, you’ll then be in a position to learn something new. You’ll find it tricky in the beginning, just like you did when you started your now habitual skill. Don’t give up though. What’s great about learning is that it becomes easier to learn the more you practise learning. The process itself becomes a skill that you become better at.

    Keep stretching yourself. Learn new things with your body and with your mind and you’ll stay supple and be able to bend in ways you didn’t dream were possible. 

  • Trying to avoid distraction

     It’s seems that I have many many things to do. I also don’t seem to be able to choose which of these many things is the most important. I start with something which I deem to be the most important, but within a few minutes and a few notifications from my phone later, I realise I’ve moved onto a completely new thing, which is, as of this moment, the most important thing. If I step back and look at myself during these times, I can see that reason I’ve stopped doing the first thing is that it’s a creative endeavour –  writing my blog. I’m not sure if it’s the same for everyone (although I would think that it’s probably a common issue) but it certainly is easier for me to consume than it is to create. Taking your thoughts and incarnating them in some form or another is a difficult process, one that involves patience, perseverance, practise and (before the alliteration becomes too ponderous) self-honesty. It also needs a lack of distraction, which I’ve always believed is terribly difficult to achieve due to factors mostly external, such as work, choir,  research, etc. However, I’m on holiday at the moment and the only distractions are the ones I’ve put in place, such as renovating the house , looking after the new puppy, doing computer admin, washing the dishes, etc, ad nauseum. Reminding myself of the self-honesty clause above, I must ‘fess up’ to my propensity for self-sabotage.

    The right things to do:

    •  Make a backlog 
    • Prioritise it
    • Allocate time every day to tasks you want to do do every day, such as meditation, journaling, blogging
    • Create a distraction-free environment to get the tasks done. 

    The last thing is often the most difficult – just start!

  • Always take the stairs

    570x413xmoby-steve-cutts-cover.jpg.pagespeed.ic.WDcZKAucIK
    Sit, observe. You will be the only one.

    We get lost in our technology. It becomes easier to do things so we believe that the easier path is better. Progress leads us into a future full of exciting possibilities as well as stupendous inanities. The shiny glint of chrome, glass and plastic distracts and attracts us away from long-known truths about what really matters. A distracted mind is a malleable mind, ready for the planting of false dreams, wants, desires not our own, but of money-hungry peddlers of lies. Streams of ads pierce our mental fabric, infecting us, making us thirst for the new, the exciting. Anxiety-ridden, fearful of being left behind, we spiral closer to our commercial nirvana, tantalising close, but always just one model behind true enlightenment.

    So I always take the stairs. There is a refreshing simplicity to it – an ancient technology, tried and tested; proven. Each step felt palpably, intentionally, physically. I’m not a passenger in a box of strangers! No, indeed! I’m the master of my own destiny. I chose my path up or down, vote with my feet, my blood pumping a little faster telling me I’m alive, I’m not following or being swayed from my path. I relish the look of disbelief from the crowds as I head off proudly into the stairwell, ready to reconnect with my individuality, proving to myself that I am indeed unique.

    You have a choice. Always a choice. Look up, see the world and choose your path.

  • Having license doesn’t mean you should do it!

    There’s a song called Unconditionally by Katy Perry. The accents of the syllables are incorrectly placed – Katy sings “uncondiSHUNally”. You may argue that it doesn’t make much difference and that musicians have artistic licence. I would argue that, generally, a singer is trying to get a message across with their lyrics and that they should try to be as clear as possible. The first time I heard this song, I couldn’t understand what she was singing. It was only after a few times of hearing it on the radio that I realised the word was ‘unconditional’.

    It’s not only a problem that it’s difficult to make out what word she is singing, it’s also that with music blasted globally, many non-English speaking people will hear this and think it’s the correct way to pronounce the word. It becomes even more concerning when you realise how many times the song is played daily and for how long it has stayed on the charts. This severely compounds the problem.

    You may argue that language is fluid and that it changes based on usage, which is a natural and good thing. I agree, and enjoy following the way English morphs, especially when used by non-native speaking English people. However, I would argue that the changes brought about are usually to help improve understanding between people, not to add to the confusion. Language developed to help us communicate better to improve group cohesion, therefore evolutionary success.

    Although you may think it’s cute or novel phrasing a word differently, think about the impact you’re having on the development of the species. Be a responsible communicator.

  • Let’s get our priorities straight

    It’s important to prioritise. Yes, you’ve heard that before and you’ve probably heard it often. It seems like such an obvious point, and it is, but it’s often really hard advice to follow. Every minute of the day there are hundreds of things vying for our attention, all calling to be handled and dealt with NOW, all wanting immediate gratification. As I type this there are numerous notifications popping through from the top of the screen enticing me to lose focus and instead chase that white rabbit down the distraction hole of despair. Every day at work we have people breaking our flow with “do you have a minute for me?” when they know it’s clearly not going to be just one minute. While driving to work we remember that thing we need to do and pull out the phone to type in a reminder, only to be distracted by a message from your best friend asking about the dinner tonight and to please bring the wine. So you switch to your task app and remind yourself to bring the wine, then put the phone down, barely missing the car in from of you. You realise a minute later that you didn’t put the reminder in your phone for the intial thing you remembered you had to do, but you’ll be damned if you can now remember what it was!

    This lack of focus is a product of the frantic fast-paced world we find ourselves in. Sometimes we think that we just have to keep going, just take on more so that we can get more finished. “Maybe if I juggle all these things at the same time it’ll be ok.” But it isn’t. It very rarely is, and certainly not consistently. 
    So what can you do? Prioritise. Learn how to deal with the next most important thing and get that done. Only that. Until it’s finished. Then look through the list of things to do next, find the next most important one to do and do that. Only that. Until it’s finished. Repeat ad nauseam. 

    I see the opposite of this in my work all the time. There are always so many important IT projects that must absolutely get done now urgently before anything else is done, super-critically and highest priority. But trying to do all these at the same time ends in ridiculous situations where developers are allocated at 20% across 5 projects and each project manager wants their 20% of allocated time to be more than the 20% allocated for the other projects. Heaven forbid if a project gets behind, because then the developer (who is clearly the reason for the delay) must put in her full 100% and whatever additional time is needed to catch up!

    This madness must end! We need to get real about what we can do, which is actually only one thing at a time. This business of humans being able to multitask is unfounded, and even if you think you can handle it, it doesn’t lead to a flow state, which is what we should all be trying to reach anyway. We have a choice to break the cycle. If you’re a manager and think that running your teams at full capacity is going to get you massive productivity and more bang for your buck, think again. If you’re a developer and you think you can quite comfortably manage multiple projects or tasks and still produce quality code, perhaps you should build in more QA checks, cos you’re gonna need ‘em. 

    I’m not saying it’s easy to prioritise when you’ve got a barrage of stuff flying your way at top speed. It’s never easy to ask the tough questions, like “what is the most important work we should be doing next?”. But that’s why they’re the important ones. Sometimes just asking the questions is enough – the answer may just pop straight to the front of the queue. Just make sure the rest are following in single-file. 

  • Agile @ Scale In 7 Easy Steps

    misalignedOk, the title is a bit of a lie, but I had to get your attention somehow. (With attention spans what they are today, you need all the cheap tricks you can get to keep ’em reading.) Scaling agile isn’t easy and there aren’t really 7 steps, but there are a few techniques, mindsets and practices that can certainly help. Here are some of the no-brainers I’ve used on large-scale agile programmes. They’re guaranteed to work. No seriously. Or your money back. Actually, scratch that  – I’m keeping the dosh.

    1.  Get business involved

    Sounds easy, doesn’t it? You would think that business would be champing at the bit to be involved when there is a lot of money on the table, but from my experience,  this is always one of the most difficult parts of the process. Business and IT are traditionally not the best bedfellows. They don’t seem to ‘get’ each other. Business just wants their ideas implemented and can’t understand why IT has so many problems with this. IT understands the tools and the limitations and doesn’t understand why business would want their ideas implemented in such illogical ways. Mostly the breakdown is in communication between the parties. Usually there’s a very lengthy and boring scope document  bandied around somewhere the purports to state the exact solution as envisaged by the business. The document is the law. According to the business, it’s very clear what they want. Easy, they think. We’ve spelled it all out for you. Yeah right, thinks IT, as they read it and try to figure out why the business is telling them how to implement the solution. It doesn’t make sense, they rally.

    Make sure you get them to work together. In the same room. At the same time. All the time. I know – it’s ridiculously basic,  but it’s often the most basic things we overlook.

    A second issue that you may face with business and which is almost the polar opposite the previous point, is that often in large organizations there are so many business people with their fingers in the program pie that you just can’t get consensus on any decision and work can stop for days and weeks on end while much deliberation and pontification occurs. Traditionally the way to resolve this in agile is that there is only one Product Owner per team who makes the decision so the team can keep working at optimum pace. However, you may need to compromise on this and instead set up a small team of people that can represent the interests of the various business units or divisions deeper into the organisation. Just ensure that they all get along and are able to speak with one voice.

    2. Get the right people

    Getting the right people is more than just finding people with specific technical skills. Yes, of course, that is important, but it’s only one part of the story.  Probably more important for teamwork is finding people that are compatible. A useful exercise  you can do is to make an inventory of the Belbin Team Roles by getting your teams to do the behavioural test. A Team Role is defined as “a tendency to behave, contribute and interrelate with others in a particular way.” It can help you understand the mix of personalities in your teams, what sort of strengths and weaknesses are present as well as how the dynamics will play out.

    It’s not often though that you have the luxury of choosing the perfect blend of people. More often than not you need to work with the team that you already have. Use as much EQ as possible (either yours or someone else’s if it’s not your strength) to mix the right people together. Then let them work themselves out as much as possible. Try to avoid swapping people out between teams too quickly or too often. People need time to adapt to each other and often issues between team members will work themselves out if they’re given the right support and facilitation.

    3. Autonomy, Mastery & Purpose

    Dan Pink wrote in his book “Drive” that autonomy, mastery and purpose are what really drive us, not the traditional carrot & stick. We want to be given the trust to work things through by ourselves, not to be dictated to by people so far removed from the work that they don’t even see how bad their decisions and orders are. We also want to get better at what we do, to master our trade and figure out better ways to do things. Self-improvement is the key to surviving in an ever-changing world. Lastly, but probably the most important of the three, we all need to feel that there’s a purpose to what we do, especially the work that takes up most of our time. If it isn’t meaningful, then what’s the point?

    Don’t make decisions for your teams. You may feel compelled to, but it really isn’t doing anyone any favours. If the team makes a decision, they’re likely to be invested in the decision.  Provide many opportunities for learning, either informally or informally. Brown Bag sessions, workshops & hackathons can be very stimulating. Don’t forget the free food, though.   

    Focusing on these 3 internal drivers will ultimately have a better effect than focusing on external outcomes, such as velocity, target dates, etc.

    4. Provide servant leadership

    The term servant leadership is all the rage now, and for good reason. If people are intrinsically motivated, and autonomy, mastery and purpose are so important, then the job of a leader is to provide the right platform and ongoing support to allow this. Autonomy cannot exist in a command and control environment. Trust your team to make the right decisions but always be there to provide them with the necessary support and input. If you’re coming from a strong Command & Control environment, this kind of leadership can be very difficult, especially when times are tough and deadlines are looming. Old patterns are easy to slip into.  But a good leader inspires the teams and when teams are inspired and have a purpose, good things shall come to pass.

    5. Bake in continuous improvement

    The 12th agile principle speaks of continuous improvement by way of reflection. This is a very important principle and practise to instil early on as it helps the teams become self-reliant and less reliant on external training and input. The easiest way to start this process is through regular retrospectives for the team and one-on-one feedback sessions for individual growth and improvement. Make sure, though, that these sessions are action-oriented and that the teams hold themselves accountable for the actions coming from these sessions. Too often these sessions can be great for venting but don’t lead to significant change because proper plans are not put in place.

    6. Nurture  your own culture

    It’s really great to watch inspiring videos of companies following agile practises and doing really cool stuff, but ultimately you’re probably not a Scandinavian music streaming service and your culture may need to be quite different. Remember that there isn’t a “one size fits all” when it comes to company culture. Your organisation is made up of unique people and they will want to have their own unique culture that makes sense to them. That’s not to say that you can’t pilfer the best ideas from other companies, but just remember the square peg round hole thing.    

    7. Provide on the ground support

    You’re probably thinking, “like, duh!”, but it’s amazing what companies think they can get away with when it comes to large-scale change! Most people underestimate the sheer amount of engagement that’s needed to make a successful change. You’re going to need coaches embedded in each feature team as well as people working across the programme to support the coaches and work with the executives on strategy and programme and organisational design.  Remember that your coaching team should also complement each other well to play on each other’s strengths. The Belbin Team Role Inventory can work here too!

    Conclusion

    I know that it’s a bit of a simplification to say that you can follow these 7 steps or principles and succeed at scaling agile. The truth is that every organisation is different and has its own unique challenges and so a generic model or set of steps won’t always work. But these points are some of the basics that seem to make the biggest impact. Try them out and let me know what you think.

  • User Story Review Speed Dating Style!

    If you find yourself on a large agile transformation programme, one of the issues you’ll probably struggle with is ensuring good quality User Stories across many feature teams. This can be especially difficult if you have limited coaches and aren’t able to spend enough dedicated time with each team, let alone each BA.

    You will probably try many of the standard approaches to improve the overall quality but even though there may be some improvement, it may not always be as fast or as consistent as you would like. You may try focusing on the team’s Story Reviews but because the teams may be quite young to the agile game, they aren’t necessarily aware of the required level of detail. You may also try allocating coaches to teams and get them to go through a random selection of their stories and provide the BAs with feedback.  But you know this isn’t sustainable – the teams should be able to manage and improve the quality of their work themselves. Then an idea came to me – why not take the speed dating concept often used for feedback and adapt it for story reviewing?

    So how does it work? Let me take you through it.

    1. Find 2 BAs from the team that will run with the prep and the logistics for the event. These 2 serve as the facilitators and timers.
    2. Prep the BAs that they need to prepare a bunch of their stories that they plan to have reviewed. It’s easier to have these ready electronically on whatever system you use on the programme so all the BAs need to do is have their laptops FULLY CHARGED and connected to their network.
    3. speed-datingBook a large enough room with a large enough table (perhaps use the biggest boardroom you can find) so that they can all fit around it and sit  (relatively) comfortably next to each other.
    4. Now pair them off by starting at one point and moving around the table, allocating first “A” then “B” repeatedly until you’ve paired everyone together and allocated everyone either an “A” or “B”.
    5. Explain the rules of engagement.
      • The goal of the session is to provide feedback to each other on the quality (instead of the specific content) of the user stories. The INVEST principles should be used as guidance for the feedback. Feedback on the presentation of the story is also recommended as an important aspect of a BAs role is communication.
      • Everyone will be given 20 minutes with their current pair.
      • This will be divided into 2 parts of 10 minutes each.
      • “B” will choose a story from “A”s list of stories. “A” then runs through the story as if doing a User Story review. Once “A”  has provided the overview, “B” provides feedback.
      • After 10 minutes, “A” and “B” swap around.
      • After the next 10 minutes is up, the pairs are given a minute or two to switch to their next pairs.
      • The “A”s will stay in their seats for the duration of the event.
      • The “B”s  will move clockwise to the next “B” seat once they have completed the 20 minutes with their current pair.
    6. Repeat this 3 times.
    7. With 15 minutes to introduce the concept and explain the rules of engagement, and 60 minutes for 3 pairings, you will end up with a session that lasts 1 hour 15 minutes in total.

    When we tried this on a large programme, we also held a retro a few days afterward and gathered some great feedback.  Here are some of the things we picked up during the session as well as some notes from the retro:

    • The interaction between people was great! Hand signs and facial expressions abounded everywhere.
    • You get to see the work of other BAs and the scope from the other teams, which you don’t always get exposed to regularly.
    • We picked up good ideas of other content that could be useful in stories, eg. System Decomposition diagrams, non-functional requirements we’d missed, etc.
    • When the BAs talk the stories through they can ‘fill in’  details that have been left out of the written story. BAs listening should watch for this or the BA giving feedback should read the story themselves.
    • We initially started with 5 minutes each, but moved that up to 7 minutes, as some of the BAs hadn’t finished summarizing the story by the time their 5 minutes were up. In the retro it was decided that 10 minutes per review would be better.
    • The venue wasn’t quite big enough to hold everyone, so it was a bit crowded.

    The teams we ran this with were overwhelmingly supportive of the event, so much so that they decided to hold it again every First Friday of the month.

    Just a caveat – this shouldn’t be seen as a replacement for collaboration in the team, but rather as an additional mechanism to improve quality and collaboration. And it’s fun!

  • Resistance

    My latest track is inspired by a book I recently read – The War of Art. Even though I don’t think it’s the best book I’ve read, the sentiment resonated with me, especially since I’ve made my goal for this year to write as many songs as possible.

    Enjoy!

  • Cog in the Machine

    Happy Friday all! To celebrate the freedom that is the weekend, here’s a song to stick it to the man.

    And the lyrics

    Chained to my cubicle.
    Handcuffed to the screen.
    Orders sent through email,
    keep it clean, the machine.  

    Clock ticks, time slows
    There’s a break coming soon.
    Bell goes, chains off,
    March to the machine.  

    (One) Machine (two) machine
    Working for the machine
    (One) machine (two) machine
    Cog in the machine.  

    Caffeine queue, single file,
    craving for my drug.
    Swipe my card, grab the cup,
    Jack up for the machine.  

    (One) Machine (two) machine
    Working for the machine
    (One) machine (two) machine
    Cog in the machine.

  • Bodies bodies everywhere

    Here’s the next track for all you out there. Hope you like it, and as usual, I’d appreciate feedback.