Category: Agile Thoughts

Agile thoughts covers my assessment of agile software development based on project application experience.

  • WFH Working from home

    WFH Working from home

    Covid-19 the great disruptor. Disruption.

    I’ve been used to working from home one or two days a week for several years. So when the coronavirus situation turned here in the UK and the need to WFH was announced I thought I and the team would be prepared.

    In reality, it was far from it. The first stand-up call failed. Too many people were working from home and the conference call infrastructure buckled. I spun up a free Zoom account. It took several hours for the confirmation email to percolate through the layers to my client O365 account, but next day the team could at least hear each other clearly.

    Several other team members registered accounts so it became difficult to know which one to use. If one failed we switched to another, but at least we could do team sit down stand-ups.

    Our usual team conference call package also bundled chat, along with IP telephony so we switched to MS Teams for chat. Only problem was the Teams client had not been rolled out so we had to use the web browser client. This consumed nearly 0.5Gb of memory and was dog slow on my ThinkPad. So I switched back to old chat and had two channels now to monitor.

    Teams would send an email when someone was trying to reach me. Another distraction. I could probably find the notification preference buried somewhere if I had time. Why not just email me I thought? I now had to monitor email to check Teams that took ages to load only to find someone has sent a morning greeting!

    We take communication for granted. We take time to learn how to use the new tools and use multiple tools effectively. It will improve.

    Team members, especially new to WFH shared tips. Simple things like taking a break, making sure your screen is the right height, having a comfortable chair, speaking to others rather than typing out messages all helped remind me of things I take for granted others may not.

    Childcare is obviously a real issue for some with work and family life intermingled. Soon toddlers appeared in the team meetings with the sudden dash to catch a wayward one from mischievous adventure. It all seemed funny but very serious as well. A tension rarely seen in WFH before.

    Exercise needs discipline without the mandated daily walk to the station and office commute. It’s all too easy to forget to exercise and healthy concentration soon suffered.

    Social groups and interaction – so much has been covered and virtual coffee mornings soon appeared in the calendar to replace the office kitchen banter that we take for granted.

    Social games – relieve stress. Online quizzes, endless funny videos consuming precious VPN bandwidth and even Eurovision style contests helped ease the strain of lockdown.

    After 8 weeks of lockdown, lunacy or more correctly well-being mindfulness raised in importance. It is hard to keep pretending this is normal. It’s not the new normal. But we will battle through.

    It’s interesting to think what could happen to cities if the great exodus to WFH remains the new normal after measures are slowly removed. All the office space that can only allow 50% or 25% occupancy. WeWork clusters that have an even tighter business case. The realisation that for some types of office work the need to be colocated was a myth and teams can be productive using remote working tools.

    Could there be an inversion with the move away from living in cities to the tranquility and greener countryside? Will house prices flip and London rates decrease as the supply exceeds the demand and offices become living accommodation? It’s interesting to ponder on the new economics of a post Covid-19 world. If there’s ever such a place.

    Not everyone can and will want to WFH so the shift is likely to be moderated. But could the high-street in towns and villages return to offer an escape from home office life? Local WeWork style venues like the coffee shops with wifi but allowing social distanced working space as an alternative to the home office. For local meet ups and a change of scene. Many more local social centres of enterprise rather than mass transit to mega city office spaces where hot desking had already removed the ownership of my personal space.

    The continued isolation of WFH will mean change, it’s a disruptor that we can’t ignore.

  • Working from home – Green energy off-grid

    Working from home – Green energy off-grid

    With Covid-19 lockdown measures in place I thought it a good time to review how environmentally friendly working from home could be.

    Removing the carbon from the daily commute into the London office had already seen a net gain. But how much more electricity are we using working from home?

    As it turns out power demand seems to have reduced from an average 30GW per day in pre lockdown 2019 to 25GW per day here in the UK in mid May 2020. Another carbon win.

    An energy meter showed my home office consumes between 50 and 140 watts running a couple of laptops – PC for client work and MacBook Pro for business – along with screens network routers and lighting. So it got me thinking can I run it on solar and go off-grid?

    The answer is yes. At an outlay of £180 for a couple of 100 watt mono-crystalline panels together with solar battery charger, a £100 12v car battery and a £200 pure sine wave inverter I have an uninterrupted green office power supply.

    Here’s how you can go green and off-grid too and probably for less outlay.

    If you don’t have solar panels already installed then you will need four main components. The PV solar panels that generate the low voltage DC, a solar charger to regulate the power from the panels, the battery to store the energy from the charger and provide power when the sun does not shine and finally the inverter to provide your standard AC mains supply.

    Solar panels – I chose a solar kit that bundled two 100 watt panels with mounting kit, the low voltage cables and 20A solar charger in one package. You should be able to find similar for under £200. I found a UK based supplier on eBay that delivered in a few days with lockdown measures just going into place. I used a couple of old pallets to mount the panels together at an angle of about 30 degrees. If you have more time and space the angle could be improved for a few percent increase in output. You could get away with a single 100 watt panel that would give around 5 amps charge allowing a 50 to 75 watt demand.

    Solar charger – a simple PWM (pulse width modulation) smart charger came bundled with the panels and kicks out a maximum of around 10 amps at 14.4v from the two panels. A quick calculation tells me I’m getting around 144 watts from the 200w panels which seems fair given conditions in the south east of England. It’s worth remembering like most specifications you are unlikely to get the actual rated power output so allow for this if you have higher demands.

    Battery – Let’s start by admitting the battery storage technology chosen was not ideal. I picked a replacement car battery from Halfords as one of the few places I could source a battery from in lockdown. Halfords delivery was very fast and UPS courier hazardous batteries to the door. Lead acid technology is old and heavy. And a car battery is not a deep cycle cell – it’s intended to supply high current, some 800A, for short time, 30 seconds to start a car. At 85A/hr capacity though it would power my office for about 10 hours and far longer if it’s being charged by the solar panels. Running it flat, after a dozen or so cycles, the capacity will be impacted. But I don’t intend to do that so it will be fine – just like it runs your car electrical system time after time, as long as I keep it topped up from solar it should not let me down. And when I’m finished I can swap out my old car’s battery that’s seeing little use in lockdown.

    If you have time it may well be worth investigating lithium batteries for storage. Tesla and others have invested millions in the technology and all laptops rely on lithium cells as their power to weight radio is hard to beat. The bundled charger automatically senses battery voltage and adapts the charging cycle to lithium so it’s an easy swap. I’m not keen on having very high power density lithium batteries inside my house due to risk of fire if a cell fails but I’m sure they will become more popular.

    Inverter – this gizmo turns the DC low voltage, high current from the battery into a mains voltage AC power we expect from the grid. There are many different types of inverter and a few traps for the unwary. Don’t be tempted to pick the cheaper inverter. It’s best to choose a pure sine wave type as that’s what your grid will supply. Pure sine waves can power inductive and capacitive loads which most appliances need including laptop chargers, monitor screens, and fans and fridges (for the beer and wine).

    I selected a 2500 watt pure sine wave inverter so in an emergency I could run an induction hob directly off-grid. Of course at that consumption rate my battery would not last long and I’d go overdrawn with only a 5 – 10% charging current from the solar source.

    A 500 watt inverter would be ample for a small home office set up and cost less than £100.

    Installation – You need about 1 square metre of solar panel to generate 200 watts at around 20% efficiency. I placed my two panels appropriately next to the greenhouse. Just for the lockdown. Shaded shelving inside the greenhouse houses the inverter above the battery that’s on the concrete floor. For safety, I installed an earth rod next to the glasshouse drain pipe so the inverter has a ground connection for our three pin plugs. It’s worth checking electrical regulations in your locale to make sure off-grid set up is safe and compliant.

    I have to run a 20m extension cable from glasshouse to home office which is not ideal but is the easiest way to switch over from mains to off-grid with one power socket.

    How does it work? – After over a month of testing and an above average amount of sunlight for April and early May I have to report it’s a welcome success! On average the battery receives around as much charge from the panels as I’m demanding from the office. It terms of a bank account – I’ve gone overdrawn just a couple of times when the cloud refused to let the sun shine through enough. And that was quickly replenished over the weekends when the home office was rarely in use.

    Some facts and figures

    Output power – Each panel is rated to generate 18V and 5.5A in ideal conditions. So far my rig has output a maximum of 10A at 14.4V in full sun. With some cloud that drops to less than 2A and full cloud below 1A at midday. So while it’s true these panels do generate power on a cloudy day you can only expect at best 10-20%.

    Heat – In full sun at midday the top panel recorded just over 50 deg C and the lower panel around 48 deg C. Ambient was around 25C. As mono-crystalline panels have a temperature coefficient of about -0.5%/ deg C this means a reduction of 12.5% so it’s worth ensuring you keep the panels well ventilated.

    Cooling – As an experiment I tried spaying both panels with fine water mist and waiting for the water to evaporate a couple of times. In just 5 minutes the temperature had reduced by 18-20C and output increased from 6.6A to 7.1A – not far off expected. Of course using water is not very green and the power needed to automatically spray the panels would likely cancel out the efficiency improvement but it’s worth thinking how heat recovery could improve efficiency for a large array.

    How green is your grid? – If you are based in the UK you may be surprised and there are some really useful sites that provide real-time data on power consumption demand and the production sources. For example National Grid: Live Status presents concise pie charts and today is reporting over 50% renewable energy with solar making up over 25% of demand – at 7.65GW makes my setup look insignificant but every little helps.

    Or for a gauge look try Gridwatch.co.uk which kindly provide the widgets below to give you an update every 5 minutes.

    Link to UK National Electricity Grid Status

    UK Grid Demand Solar Power and Wind Generation Now

  • Zucks Bez and Tcents

    Zucks Bez and Tcents

    I had a dream. I’d just sold my latest little watercolour on Instagram. It went for $Z55.95, enough for Brian Eno’s Music for Installations I’d seen on Amazon for $B45.99. Ah, but wait a minute, Emanue_art has a copy of Installations for $Z38.50 on Instagram and saves me the 2% Cryptx charge for the exchange. Is this the brave new world or was it a nightmare?

    So what if Mark Zuckerberg ICOed the $Zuck, $Z for short. And Jeff Bezos launched the $Bez or $B and WeChat’s TenCent the ¥Tc? And these became the new cryptocurrencies of choice for trading on their platforms. It could make sense. Think about it for a minute. That shiny new Buy button on Instagram or that one click “Buy now” button on Amazon allows frictionless transactions that never touch your bank account or credit card. Don’t need to pay in dollars, pounds, yuan or yen – welcome to $Bez and $Zucks.

    You may be thinking, okay, so it wouldn’t work. I don’t trust cryptocurrencies and surely I’d still need my $ / £ / ¥? No, they are consigned to history. Why use a state controlled currency when what you really want to buy is priced far more keenly in your friendly social cryptocurrency? You trust Jeff and Mark and the other mega platforms that would jump on board, after all you deal with them every day. Out with the $Buck in with the $Zuck. Okay I’m in, how do I start?

    How could it work? Well it’s so easy. You just start by stocking up on $Zucks or $Bez or whatever platform’s currency you feel an affinity for. There are plenty of ways to get started. Take Instagram for example, you simply load up your account with $Zucks from old world currency before values plummet or you earn them directly on the platform. $Z1 costs $1.075 from Zuck but there are plenty of places where you can get a better deal. Just search for #zuckduck on Instagram and you will see who’s offering a better deal. You see it’s easy to move to $Zucks. Same over on Amazon, in fact Jeff may give you $B100 when you sign up for Prime++ (okay I’m just throwing it out there, he may not be feeling that generous). Mark could be thinking of a similar deal for you to remain on your Facebook account. Maybe a couple of $Zucks for each like for a minute, or maybe not.

    It’s mostly all there already. Back in 2017 Amazon registered domains AmazonEthereum.com, AmazonCryptocurrency.com, and AmazonCryptocurrencies.com suggesting they wanted to enter the market. Barclay’s internet analyst Ross Sandler mentions the idea of Facebook launching their own cryptocurrency Facebook coin and bring in nearly $20m revenue by 2021. Think about Amazon’s credit card or the new Apple card – supposing the base currency is a cryptocurrency. Maybe a $Job for Apple?

    Minting crypto currencies is easy, gaining trust has always been the difficulty, witness Bitcoin’s rollercoaster ride. Platforms like Amazon and Facebook have global reach and support encryption end-to-end. Sending money is a simple as sending messages. Trading likes for $Zucks appeals to our need for greed. I don’t mean that in a bad way. The endorphin kick we get from a like is similar to the feel of that crisp $100 note or that first pay packet. Yes, the data trust issues with Facebook and cryptocurrency volatility will be a factor in gaining trust, but there are so many advantages of a social currency we won’t look back for long.

    Still not convinced? it’s a win-win scenario for you and me. Here’s why. Suppose I want to buy some new roofing. I get a few quotes from local traders that come in between £4000 to £5000. Their prices all include tax of some sort. In the UK it’s VAT at 20%. Yes another 20% of your hard earned cash goes straight to the state, that’s £1000 on a £5000 item. In the US there are sales taxes and local taxes and I’m guessing US readers would be horrified at having to fork out an extra $20 on a $100 item but that’s what we suffer here in the UK and it’s higher in some other European countries. So you can probably see where I’m going with this. If I can buy my roofing from a trusted roofer on Instagram the price is not $5000 it’s only $Z4000 and I can pay for it by selling a few more watercolours (okay, I’m still dreaming and that may take a while).

    What about the tax man’s share you ask? Well they have to catch up with cryptocurrencies and in the old fashioned world what I’ve described could be made as barters that can’t easily be taxed. Whoopee. So what happens to the state? How are they funded. Well gov.uk needs to live up to its digital government proclamation and get with it. So will other governments because the world is going to trade in $As and $Bs and $Cs. What’s $A you ask? Well we can’t forget Alphabet that’s Google to you and me. They also have near global reach if you ignore China, which we can’t and I’ll come on to.

    Every Google search generates $ revenue for Alphabet, so say they have ICOed $Alphas or $A for short. (In time there could be dedicated currency symbols with strike throughs like €, ¥, for the winning crypto currencies but for now the $ symbol is at hand.) So those roofers I found on Google also advertise and I can see their quote already displayed in their details. I forgot to mention that AI works frictionlessly with cryptocurrencies as well, so just by talking about a new roof, Google Assistant could give me those quotes… I can pick one of the roofer’s offers for $A3200 that has an excellent rating and pay for them instead. But my $A account is not doing as well as $Z as I’m not selling as well on Google (can’t afford the Adwords) and my local guide likes have not earned enough. Do you start to see the picture?

    Each of the major platforms have their own cryptocurrency that provides frictionless transactions without the need for traditional money exchange across countries or the taxes that take a cut out of each one. From Google with $Alphas to Instagram and What’sApp with $Zucks. $A to $Z.

    Staying within a platform keeps costs to a minimum. There’s still a need for foreign exchange – I will want to swap my $Z for $A to pay the roofer if he’s offering a better deal. That’s where Cryptx come in (I made the name up so if there is already a company with that name offering a similar service I apologise now, if not trademark it quickly!) Of course each platform will offer their own exchange service and rates because that’s what they will do. Think about your bank and then imagine that is now one of the platforms. Instagram mortgage or loan or savings account? No problem. Amazon already offer credit cards so credit in crypto is a no-brainer. What happens to traditional high-street banks? What high-street I say. It’s a different landscape in the world of cyber currency platforms. Cyber-street, Cyber-city. More on that in another post.

    In China, Tencent’s interest in cryptocurrencies like Ripple and OST have been reported. Bloomberg published an article in February 2017 that China is developing its own cryptocurrency. Adding a cryptocurrency is arguably the easiest and the most difficult in China. Tencent’s platform already provides integrated banking, taxis, social networking, dating, eating, etc, etc. But in China the state has more control. It could be Huawei’s Ren Zhengfei that names the $Zhengfei or $任正非 and the ¥ fades or maybe not. Don’t understand enough about China to predict the outcome, but am sure cryptocurrencies will have winning advantages as platforms carve out a money supply economy all of their own.

    Frictionless contactless mobile payment has a certain ring to it. And we do need digital wallets to keep our crypto cash safe and accessible, so a handy mobile may be the way to go. Huawei or one of the other physical platform providers like Apple are obvious choices.

    Once we trust them, a switch to cryptocurrency for everyday use is compelling. Facebook workers paid in $Z rather than $ (along with the shares for the lucky). It would bring down the wage bill – keeping it all in the ‘family’. Say I earn $Z20,000 for some consultancy work I do for Facebook. No taxes for the company, no taxes for me unless I swap out of $Zucks for £ or $. And that’s the point, while I’m trading within the platform no-one else can see my transaction or get their hands on a piece of it. We just need the trust.

    So what is a social cryptocurrency worth? How do I know how to price my goods and services from $A to $Z and how do I know how much to pay? Don’t worry. Pricing in $Zucks will become as common as pricing in Bucks. It’s likely that crypto’s exchange rates will start off close to the nearest old-world currency so that in the US one dollar is worth one Zuck. The sheer size of the platforms and their control will stabilise values. After ICO things could get interesting. Just like government and monetary unions use interest rates to control their economies the cryptocurrency platforms can use interest rates to control exchange rates and their own economy. True disruption of the old-world state backed currencies and for some the nightmare.

    If this all sound a bit complicated think about it like this. Say you have earned $Z500 selling some advice on WhatsApp (yes whatsApp is part of Zuck’s economy). You don’t want to spend it right now but want to earn some interest. Zuck is offering 5% in the IG eazySave account so you open an account and deposit the $Z500. In a year you will have earned $Z25 enough for five cappuccinos. But Jeff pays 10% on his new PrimeSaverFix account with the interest rate guaranteed for a year! Do you see where you’ll be heading? Even if you pay the 2% Cyptex change to swap $Z to $B you will still have more cappuccinos for free a year on.

    By issuing a cryptocurrency, the platform owners can control their own interest rates independently – it’s their currency. True, in the old world the banks could offer different interest rates to attract customers but they were all pegged to the state’s currency and base rate and market forces that limited choice. I’ve not thought through all the implications of what flexibility this fiscal policy provision may bring the owners but I do know governments will be concerned if it’s out of their control.

    I can imagine a future where investment banking is disrupted too – and instead of $ / ¥ currency swaps there are $A / $Z swaps an so on. Again having one side of the trade inside the platform will be efficient so that’s where investment banking will be done.

    Could this be the future? What do you think? Back from the dream to reality, the current appetite for cryptocurrencies with the general public looks weak. We simply don’t trust their stability enough to invest seriously and use every day. Some early adopters have done well and this lead others to pile in. Security is a real concern and the platform’s data breaches don’t help. And governments can’t ignore loss of tax revenue if transactions switch to cryptocurrencies so they could ultimately change laws so the platforms collect the tax and they end up paying their fair share. Of course it’s yet to be determined what’s fair.

    I’ll run through some typical use cases for platform crypto in the next post.

  • Finding the real user need

    Finding the real user need

    On a recent assignment to transform a legacy application to cloud we came across a good example in finding the real user need. As with many IT migration projects this incident tracking application had a tight deadline and a set of assumptions about user needs.  ‘Lift and shift’ was the mantra and the idea of going out and talking to end users about their workflow requirements met with raised eyebrows.

    To be fair the incident reporting process was regulated and so well understood by end users and internal staff and accounted for a good 90% of the story backlog.  But there was one epic, folder management, that had a wrong smell. Some years ago as incident volume grew user’s had complained they could not find their incidents and they wanted a way to organise them like files in a folder. So users were given a folder management feature where they could name their own folders and move incidents in any taxonomy structure they liked.

    It was a popular feature with over two thirds of the user base having a named folder and many having dozens. User’s folders were private and internal staff did not know how they were being used just that users were grateful. Building out a new folder manager and migrating existing structure to the new cloud application would be possible but time-consuming. But what did users really need?

    As we had access to the folder metadata it was possible to look for patterns in the names used. Not surprisingly dates and names relating to incident types were the most popular along with user’s names and various ad-hoc names to organise. But why make users move incidents into dated folders when we could give them a dynamic filter in the cloud?

    There was already a story to filter incidents by reporting date and type so it was easy to extend and demonstrate the idea. Conceptually filtering things and placing things in folders achieve the same user goal albeit with a couple of caveats — user’s viewpoint and persistence. The preset year and type filters replaced the static date folder hierarchy and incident type hierarchies. No need for users to manually curate their things – a win for users and a win for the business no need for folder manager feature. But what about the ad-hoc names they used for folders?

    Given a way to create their own filter criteria as tags users could apply ad-hoc filters just the way they did using folders. Tagging would still need a new feature though. Initial discussion with the main users of folder manager approved the new approach. So much so that all representatives thought the new set of preset filters would be all they would ever need. Crucially they suggested a simple notification when first using the cloud application to highlight filters to the wider user community. A simple broadcast message feature was already in the backlog.

    As the retro for this project makes clear – remember to ask your users what they really need and beware of requirements disguised in a design. Files and folders were a wonderful metaphor in Windows but need not apply everywhere.

  • Discovery balance

    Discovery balance

    How to make discovery successful?

    I’ve found the best form of discovery is to reach a balance. Here’s some reasons why.

    Most of the recommendations for discovery phase out there focus on researching user needs to ensure you build a service users actually want. For example the GDS service manual describes identifying who your users are and mapping out their user journeys. Bringing on board user researchers and setting up 4 to six week discovery phase plans all revolve around identifying features and concluding with a minimum viable backlog of user needs.

    This makes sense. However, depending on who you class as users there’s usually a crucial area missing. The clue is the viable in the MVP – minimum viable product. How do you discover what’s viable? If during discovery all the users have been end users – consumers or customers of your services – then your backlog will be consumer feature heavy. In reality to decide what’s viable from a business service delivery perspective you need to include your business as uses along with legal representatives, shareholders, policyholders, etc.

    Imagine the scales of justice trying to balance end user needs against those of your business. That’s what I mean by reaching a balance. If you just consider user needs you may not have a business. Yes, there are many startups with venture capital funding that ignore business viability in the hope of acquiring a critical mass of users but ultimately someone will have to pay.

    Balancing user needs with business needs

    So for mature organisations another way to think about discovery is to ask do I have a viable business? Understanding the end user needs for a product or service is not enough unless you have unlimited funding, resources and can write your own laws. Legal, ethical, green constraints shape the viability.

    An example I met recently is a company called ClearScore. They identified a real user need to access credit scores freely. In the UK and elsewhere credit reference agencies collate consumer’s credit data and sell a credit reference service to businesses. When you apply for a mortgage, insurance policy or a mobile phone account your credit history is used by the business to determine the risk and whether you are approved. You can get your statutory report by paying £2 or sign up for a monthly subscription to view your credit report and credit score. Subscriptions cost typically £10 to £15 / month.

    ClearScore’s MVP relied on an easy sign-up for user journey with the promise of free access to their credit reports. The company could then target credit products at their users. The balance here is between easy of sign up to reach the user base and commission from the credit products. ClearScore use Equifax to provide their credit reference data as they don’t have their own.

    A key problem ClearScore and all the credit scoring companies have is how to identify the user is the person they claim to be. With Equifax’s security breach that released millions of US and UK consumer’s credit data, privacy and security is a big issue. The three main rating agencies either post out new account details to verify the user’s address on registration is the one they have on file or they use a credit card verification check.

    ClearScore decided to rely on a series of multiple choice questions to first identify a consumer’s account and then match it to credit history. This allowed an instant sign-up but at a cost of security. I know as my credit details were made available to a third party who went on to use the data fraudulently. The answers to identify a consumer’s account are generally available in the public domain – name, date of birth, etc. Answering correctly the multiple choice questions comes down to simple probability set at about 1 in 15,000 which seems high until you consider the millions of consumer accounts out there.

    So along with the business need to build user base to drive revenue from pitching credit products to consumers ClearScore needed to address the security needs along with the usual non-functional requirement suspects. NFRs can get pushed to one side to focus development efforts on building out the main user journeys. ClearScore are unlikely to be the only business that rely on such probabilities.

    Putting too much weight on user needs or ignoring critical business user needs leads to imbalance.

  • 3 Tribes Experiment UX Camp

    3 Tribes Experiment UX Camp

    After some persuasion by colleague Patrick Sansom I presented the 3 Tribes Experiment at UX Camp Brighton 2017, an annual event full of shared learning and fun. This year there were five rooms that offered a choice of presenters and subjects covering diverse topics as user experience, user research, lean coffee discussion on design sprints, to Chris How’s memorable Machiavellian masterclass in manipulation and Richard Vahrman’s wearable musical interfaces. Something for everyone.

    It’s well worth spending a day there immersed in current thinking and practice and opportunity to meet some impressive people. Sessions are all time boxed so each slot is focused but still offers plenty of audience participation and interaction as you would expect for such an event.

    My 3 Tribes experiment examines the link between personality and empathy that can influence the way we think about solving problems. It’s been rattling around in my mind for a while and UX Camp was an opportunity to test the theory. The slides I used together with the experiment results are available to download here UXCamp-3Tribes.

    The experiment began by asking all participants to choose one of three questions they most identified with and take a red, green or blue sticky to remember their choice. Each question is based on a Myres Briggs personality test and selected to distinguish a participant’s empathy. As you will see from the slides the questions were never intended to provide an accurate determination of personality but would at least give some segregation. Next the participants were set a challenge of improving a well known end user experience problem, that of the ‘Unexpected item in the bagging area’. I asked everyone to think about their ideas individually at first so they would not be biased by others. The silence was deafening and after a long minute I let them group into their tribes to discuss ideas.

    Think around 20 attended and 15 participants returned results for the experiment. To my surprise, the results show a significant correlation between expected empathy and improvement approach taken for design and business process. All participants that chose a blue tribe sticky responded with a business needs empathy. And participants that chose a green tribe sticky responded with a design needs empathy with one also voting ‘half’ for user needs. Two thirds of participants that chose a red tribe sticky responded with a user needs empathy. Caveat – participants agreed their user empathy was biased by their past experience as customers. Each participant determined their empathy based on the examples I demonstrated after we’d discussed a few improvements from each tribe.

    I’m sure psychologists would find many mistakes in my amateur experiment and point out bias was inevitable but I do find the results interesting and hope you do too.

    UX Camp offered several speakers with similar themes including Leo Barnes and Mark McElhaw’s Mindstates which I’ll be finding out more about.

    Shows combination of user, design and business needs
    3 Tribes Combined

  • How to capture non functional requirements with stories

    How to capture non functional requirements with stories

    Non Functional Requirements
    Non Functional Requirements

    I’ve used several ways to capture or address non functional requirements (NFRs) with user stories. Agile practitioners such a Mike Cohn have written about the challenge. Most agree there are two main approaches: write each NFR as a user story or include NFRs in the definition of done (DoD). Let’s see how each approach can work in practice.

    First what do we mean by non functional requirement and is it an oxymoron? NFRs or quality goals for applications and services include: the service must be available 24x7x365 with 99.99% uptime. Or all user requests must be returned within 3 seconds. Or maybe DevOps must be notified to resolve critical outages, etc.

    Many of the quality goals are really cross functional requirements that determine choice of service architecture. Other NFRs help shape the company’s brand by promoting a consistent style and behaviour.

    A good way to decide how to approach an NFR is to ask how can I test it. User stories with clear behavioural driven acceptance criteria make an obvious place to start.

    User Stories

    As a bank customer 
    I want to access my account at any time
    So that I am not restricted to normal banking hours
    SCENARIO Registered customer accesses their account at any time of day
    GIVEN customer has active account
    WHEN customer logs in with valid credentials
    THEN all account services are available for use

    Testing this story needs some thought. Any time literally means always so how many times should the automated tests run? And all account services suggested a complete set of the online account services are checked for each invocation. Clearly an onerous test. Suppose we consider a related NFR for number of concurrent users:

    As bank service provider
    I want to support up to 10,000 users accessing their online account
    details simultaneously
    So that peak demand by customers at busy periods is satisfied

    Now we have 1000 user requests at any time of day wanting to access the service. We need one more NFR to close out acceptance criteria:

    As a bank customer
    I want to see my account details within a few seconds of logging in
    So that I can access my account quickly
    SCENARIO 10,000 registered customers simultaneously access their account at any time of day
    GIVEN customers have active accounts
    WHEN 10,000 customers log in with valid credentials within the same second
    THEN all customer's account services are available for use within 5 seconds

    A combination of NFRs framed in a set of user stories help build test scenarios that ensure quality goals are achievable and measured. But if every user story needs to include the response time and common error handling it makes for a lot of repetition.

    Definition of Done

    Another approach to cross cutting NFRs is to build them into the DoD. For example a team might commit to a DoD for each story such as:

    • All acceptance criteria met
    • No critical or major defects found
    • Minor and cosmetic defects logged
    • Audit log entries captured for all transactions
    • Maximum response time achieved
    • Minimum concurrent users supported
    • Branding guidelines adhered
    • WAI accessibility requirements met
    • etc.

    The DoD becomes a wish list for all the quality goals and can quickly grow. With a tightly integrated test team that can define BDD criteria for each requirement the DoD can be used.

    Back to the question of what an NFR means. Each quality goal needs quantitive values to perform tests and determine if the outcome passes or fails. Failure of a test is logged as a defect and development effort put in to correct it. But what if the test fails when the service is operational? It’s the user who has to log the defect and that can be an expensive or costly for reputation.

    That’s why I suggest an NFR is often an oxymoron as it’s really a functional requirement or rather it needs a user story to ensure the service always behaves in a desired way. For example if we return to the availability NFR and the business and user’s needs:

    As bank service provider
    I want to support up to 10,000 users accessing their online account details simultaneously
    So that peak demand by customers at busy periods is satisfied
    As a bank service provider
    I want to inform customers when my online service has reached maximum capacity
    So that users know why they can't access their account

    Or from the user’s perspective

    As a bank customer
    I want the online service to tell me when it's too busy for me to login
    So that I can come back later (or go find another bank!)

    A good quality service is one that works with minimum friction but customers know things can go wrong. What customers hate is not being told when things go wrong. It’s like being on a train that just stops for a while and there’s no announcement to say why. So a good service needs to have behaviour built in to respond to operational issues and that needs a user story to define, build and test the behaviour to ensure it’s done.

  • User need driven stories

    In the UK the Government has sought to improve digital service design by focusing on users and their needs rather than more traditional requirements driven approaches. User research is at the heart of a project’s discovery or inception phase and follows through subsequent alpha and beta phases. The user researcher is a clear an distinct agile team role responsible for coordinating and planning multivariate experiments and presenting findings to feed into user interaction design and stories.

    Agile user stories that adopt the common template of

    As a <user role>
    I want <user goal>
    So that <user reason / benefit>

    help capture user needs by stating the user’s goal and reason of each story. It seems easy to equate user need to user goal and satisfy user researcher’s suggestions.

    There are a few traps that may trip you up though. Let’s consider a simple login service as many sites have them. If you are not using OAuth and need to enter a site username and password for authentication then you likely have a typical user story:

    As a registered user
    I want to enter my credentials
    So that I can login to the service
    
    

    User research adds some acceptance criteria:

    SCENARIO User enters an incorrect password and attempts to login
    GIVEN user has entered an incorrect password
    AND user has entered a valid username
    WHEN user requests login
    THEN user is told their password is incorrect

    And the site’s security users demand:

    GIVEN user has entered a incorrect password
    AND user has entered a valid username
    WHEN user requests login
    THEN user is told their username or password is incorrect

    It’s just a small difference but to a true user who may use the service infrequently or is logging in from a different device that does not remember credentials it’s a frustrating experience. Which is incorrect – username or password? The service must obey the security needs the penetration testers say or they won’t pass the system acceptance test. A hacker may be trying to find valid usernames and if they are told the truth about credentials they can harvest them easily.

    So what’s missing here is a better way to capture the user needs and design a less frustrating user experience. Let’s start with the user stories:

    As a registered user
    I want to know when my credentials are incorrect
    So that I can login to the service easily

    Also we’ll include other users:

    As security officer
    I want to hide knowledge of incorrect usernames or passwords
    So that hackers can't guess credentials easily

    Or if you prefer one technique is to recognise and represent malicious users with stories as threats and design specific behaviour to counteract:

    As a hacker
    I want to discover valid usernames
    So that I can use a registered user's account to gain access to the service

    So now we can see there are three types of user with conflicting user needs. Unfortunately for the real user many web sites prioritise security user needs and don’t recognise or deal with the conflict. Cyber security is trump card.

    Is there a better way? Let’s have another look at the login story to see where the problems lie.

    As a registered user
    I want to know when my credentials are incorrect
    So that I can login to the service easily

    From the real user’s perspective they have registered at some point and set up an account. They may or may not have entered the correct username / email address but they think the service should tell them if it’s wrong. Users may not realise that without a correct user name the service can’t validate the password although it’s obvious to the analyst and developers. User research can pick up on these aspects and lead to a better user story:

    As a registered user
    I want the service to help me when my credentials are incorrect
    So that I can recover my username or password if I forget them

    Here the user journey changes to scenarios that can help real users discover what they have done wrong. Instead of “You have entered an incorrect username or password” the service offers ways to retrieve forgotten username or password and by so doing establishes the persona rather than assuming any. Obviously this needs more effort and care to keep the security officer happy that no vulnerability is being introduced.

     

  • Agility and the Surgical Team

    You may remember Fred Brooks’ Mythical Man Month – a classic book on software engineering of the early seventies. He introduced the idea software development by a surgical team with a highly skilled code smith – the surgeon – who cut the code surrounded by assistants who facilitated the surgeon. Back then the size and complexity a typical program could be handled by individuals but as systems grew larger many surgical teams were required. Overall efficiency was limited by the inter dependencies and communication between teams and so the surgical team fell out of fashion.

    A recent encounter with my finger and our domestic short hair tabby gave me the opportunity to witness how today’s surgical teams work. It struck me how agile their approach to providing clinical care is. Their daily ‘scrums’ begins with walking the wards to assess the previous day’s work and the new cases for theatre that day. Speed is important so nursing staff will have removed impediments like dressing’s ready for the consultants’ assessment. The team including anaesthetists,  surgeons and chief consultant move from patient to patient like the development team move from story to story in the daily standup. The patient tells their story and the team listen and assess. Wounds are tested – stressed and checked.

    The definition of done for the surgical team is approval for patient discharge. Each of their sprints lasts just one day as each patient’s story is reviewed, planned and committed to a sprint. Backlog prioritisation takes place during the scrum with patients being told the news. Bedside whiteboard recording the NBM – nil by mouth decision for theatre that day. Bedside charts record the tasks and the result of tests performed.

    While there are clear parallels between the flow of patients and the development of software, I was struck by the efficiency and agility of the clinical teams. Daily sprints with daily ceremonies are demanding. Theatre staff work shifts so the day is much longer than is usual for software development. Okay, in both cases many long nighters have been the norm to meet a challenging emergency.

    With regional anaesthetic it’s now possible to witness the surgical team at work – from the anaesthetist’s preparation to being wheeled back to the ward by another surgeon as the porters have gone home. Still one lead surgeon cutting the code with support from others. And technology plays a crucial supporting role with ultrasound to show the precise location where the nerves need cooking to searching for X-rays stored in the cloud.

    Agility is live and well in a hospital near you.

    My gratitude and admiration to the staff at the Queen Victoria Hospital in East Grinstead and for demonstrating how super-agilility works with precision. This is not just on the main wards – the efficiency extends to out patients with automated self service check-in kiosks that are simple to use and direct patients to the correct waiting area with ease.

    Now I just wonder where my data will end up… See WIRED Nov 2014.

  • Graphics in a jiffy

    Graphics in a jiffy

    Having grown up with case tools that over promised, under delivered and cost the price of a good family holiday it’s refreshing to find an innovative way to create a quick model or diagram without blowing the sprint budget.  And avoiding the need to raise a software support request to get another app installed – if you are unlucky enough not to have admin rights on the company’s PC. Gliffy.com will give you a good range of software modelling diagrams from simple flow chart through the usual UML suspects to network and BPMN flows for free. Have to thank Sven Poppelmann for the intro to this tool and  how useful its implementation can be in agile projects. We used it for simple domain modelling which helped nail scope and common language early on.

    First choice for quick diagraming is still the whiteboard and iPhone to snap &  attach to the wiki. But as models evolve it’s nice to have versions and a clearer picture that’s easy to change and looks professional. Gliffy’s web based offering fits the gap nicely and it’s very easy to use. It’s not a real modelling tool with an underlying repository and strict enforcement of modelling rules, which in many cases (no pun intended) does not matter too much. The main advantage of using a tool like Gliffy or Visio is the way connecting lines follow the activity / state / class around as they move. But unlike Visio, Gliffy doesn’t need a huge installation or upfront licence fee. You will need to fork out $5/month subscription fee for up to 200Mb of private Gliffy diagrams though and most commercial uses will demand this. Or if you’re really agile there’s a 30 day free option – ideal for that sprint!