Posts

Foundations of Humane Technology - Course completed

Image
Back in January (has it been that long!) I completed the Foundations of Humane Technology course from the Center of Humane Technology . You may have heard of them, they made the Netflix Documentary " The Social Dilemma ". If you haven't watched the movie, it's well worth a watch, delving into the often devastating impacts of Social Media. The course explored how to build technology in a more responsible way to minimise the harmful consequences of the technology you build. It's perfect for technology oriented Product owners and developers like myself, requiring us to think about externalities and unintended consequences, and aligning our values with the products we build. I was made to reflect on how technology has impacted me personally, and realised how my health, cognition and attention were impacted by technology overuse. I was obliged to acknowledge that I am very privileged and lucky, I don’t have any major accessibility issues and my demographic allows me t

Is Meta's Metaverse really what the world needs right now?

Image
I started blogging in the late 00s to write about Transhumanism, Technology, and Virtual Reality.  Technology has always been a passion. Growing up in the 80s I lived through an incredible evolution of electronics and computing. Mass mobile communication was a science fiction wonder I read about in the technology magazine Quest . My internet was Teletext , I wrote letters to pen pals. It was a time of hope and wonder for what the future of technology could bring. Until the last few years, this wonder has continued. Smart phones have brought us closer together, and the digital world has matured into a significant piece of our lives. I think it was the Apple watch when things changed for me. The iphone was an incredible, though incremental, world changing gadget. We all know that. But when the Apple watch was announced it became obvious that these technology companies had peaked. They were no longer about pushing boundaries, they were no longer interested in trying to evolve society with

Unit Tests - Keeping them clean and simple

Image
Tests should be split up by behaviour One behaviour, one test. This means don't test more than one thing in a test. Ideally there should be Acceptance Criteria clarifying each expected behaviour. This gives you a solid starting point, but Unit tests can expand on these scenarios by covering edge cases. Telltale signs of breaking this guideline include: Multiple "Act" steps (this is a big sign) Multiple asserts throughout a test Multiple unrelated asserts at the end of a test Data is being changed after the Act step Using the word "correct" in your test name - indicates vague expectations Don't be afraid to create lots of test methods for a single scenario or unit under test, testing various behaviours. When writing unit tests, you can make a new class for each scenario, this gives you power over the TestInitialize/Cleanup methods, allowing you to keep your tests cleaner. Readability is Everything The number one thing to remem

Writing Good Acceptance Criteria

Image
As discussed in my last article , Writing good Acceptance Criteria gives the Agile team clarity and helps them work towards a common goal, saving time and effort while increasing quality. Now I'd like to dig into the details of how to write good Acceptance Criteria. Behaviour Driven vs Procedural Driven Mindsets Many of us may be used to writing/seeing procedural driven tests; step by step instructions with actions and expected results. Procedure-driven tests are often imperative and trace a path through the system that covers multiple behaviors. As a result, they may be unnecessarily long, which can delay failure investigation, increase maintenance costs, and create confusion. Acceptance criteria, and indeed Behaviour Driven tests, should instead be behaviour driven. This means they should be Declarative , specifying how a system should behave in a particular scenario. Procedural/Imperative: Given the user opens a web browser And the user navigate

What's the best gaming controller?

Image
I've tried all the game controllers. They all have such major pros and cons. If someone could put all the good features into one controller, it would be amazing. Xbox I owned the Duke , and I didn't mind it, but I have decent sized hands and it still felt like a bowl with buttons so when they brought out the newer controller I felt it was a good move. Ever since then Xbox controllers have been the most natural, comfortable controller out there, without question. I had a 360 controller for over a decade and a half across the Xbox 360 and PC, and it just worked.  I love the convex thumbsticks, I'm cool with the offset sticks, the buttons have always felt solid and the triggers get smoother with every release. It's a solid controller in every way, the D-pad on the new Series S controller is clicky but robust, the whole thing is comfortable and high quality. I love the Xbox controllers. They are now, however, missing some significant features. Switch What can I say. They ar

The Importance of Good Acceptance Criteria

Image
Acceptance Criteria can be seen as a chore, a convoluted, verbose set of prose with the sole purpose of satisfying "the business". At best, its value is underestimated and it is often written as a vague list of requirements. Given the right attention, Acceptance Criteria can be extremely valuable to all members of a Scrum team. Before it can be done correctly, we have to understand its value. So what exactly is the point of Acceptance Criteria? Purpose of Acceptance Criteria To define boundaries Acceptance criteria help development teams define the boundaries of a user story. In other words, acceptance criteria help you confirm when the application functions as desired. To reach consensus Having acceptance criteria synchronises the development team with the client. The team knows exactly what conditions should be met, just as the client knows exactly what to expect from the developed functionality. To allow for accurate planning and es

Adventures without a smartphone

Image
Photo by Raychan on Unsplash I spent a day without a smartphone. As most of us have, I’ve grown addicted to the conveniences and dopamine hits of smartphones. So I decided to see how, and if, I would function without one. The night before I was due to go into the office, I took the SIM out of my Pixel 2 and inserted it into my old Nokia E63. In the morning, I got up, grabbed both phones, and headed for the train station. I had the Nokia in my pocket and my Pixel tucked away safely in my bag. I decided to take the Pixel too in case there was something urgent that I had forgotten about that I might need my phone for. I had no intention of using it. Also, I don’t have wifi at work, and I’m not sure if you’ve realised, but smartphones are almost useless without internet. Almost all apps require it, and those that don’t are not apps that you would generally spend a lot of time on. So without the SIM, I wasn’t likely to use the Pixel at all. I arrived at the station and had t