• Richard’s Technical Debt

    These are my notes from listening to the recording of Richard Banks’ talk The Technical Debt Prevention Clinic that he gave recently at the Microsoft Ignite Australia 2017 conference.

    TL; DR - This is a really compelling talk. Go watch it, and share it with your colleagues!

    My notes and highlights follow. These are not a substitute for watching/listening to the talk, and the best thing (if you ever get the opportunity) would be to see Richard deliver this in person.

    Technical debt

    • Is design complexity + cognitive load. Is NOT quick & dirty code
    • Bad code is not technical debt, it’s just bad code
    • Quantifying – look at trends over time
    • Don’t
      • do a “technical debt sprint”
      • Rewrite
    • Do
      • “Boy Scout Rule”

    Refactoring

    • Micro-refactoring – do anytime
    • Macro-refactoring – plan and only do one at a time to limit disruption to team
    • Both should have tests in place – ideally behavioural tests (so you’re testing the behaviour not the implementation)

    Feature flags

    • Really useful
    • Still need to be managed properly

    Preventing

    • Be Professional – you don’t need permission to do your job properly
    • Have a Definition of Done and stick to it.
    • Automate everything you can
      • tests
      • code styles/rules
    • Change Team Culture

    Code Reviews (suck)

    • Traditional code reviews often don’t work well for a number of reasons
    • Try doing peer refactoring
    • Or pair programming when it is “strong-style” where both people are engaged.
      • Put the mouse away!
    • Mob programming – maximise team intelligence
    • Experiment and find out what works for your team

    Other tips

    • Avoid branching if possible. If not possible make it short-lived. This is because merging is costly
    • Premature optimisation
    • Resist temptations
    • Shared learning
    • Run hackathons
    • Adhere to that Definition of Done

    Conclusion

    Technical debt can be a good thing, but bad code never is.

  • Skeet, Cogan and VS 2017 launch date announced

    It’s been a busy week!

    On Wednesday evening we hosted the regular monthly meeting of the Adelaide .NET User Group in the Adelaide offices of RL Solutions. Our speaker was to be Jon Skeet talking about C# 7, joining us remotely from the UK. This involved a bit of logistical planning, including getting in enough seats for the expected crowd, getting a good PA (thanks Tom!), borrowing a nice data projector (thanks Keith!) and making sure everyone could get into the building after hours (thanks Vic!).

    Jon Skeet, wrapping up presentationThere were a few gotchas along the way – I’d remembered the front door to our building closes at 6pm, but forgot that the lifts required a security card from 5.30pm. Then my laptop decided to freeze its screen when I reconnected the data projector and tried to launch PowerPoint as we were about to start. We got everyone upstairs and I rebooted my laptop and Jon was able to present his talk. I then realised that the pizzas were going to be delivered too early. So a quick change of schedule to introduce a 5 minute interval in the middle of the talk so everyone could grab some food before continuing on with part 2. Not to mention Tom running out to get some disposable plates as I’d overlooked those too.

    But in the scheme of things, they were all pretty minor. All in all, I think it was a pretty successful night and I think lots of positive comments about Jon’s talk and also our office (the bar was especially popular!)

    We recorded the Hangout so you can watch Jon’s presentation:

    Adam Cogan presentingFriday afternoon is not when we’d normally have a user group meeting, but Adam Cogan was keen to visit and give us a preview of his Ignite Conference talk on What’s New in Visual Studio 2017 and Visual Studio Code. The timing of Adam’s talk turned out to be quite good, as Microsoft have just announced the release date for Visual Studio 2017. Set your alarms for 2.30am on March 8th (Adelaide time) for a live streaming launch event.

    I’ve already got two speakers (Ben Laan on Load Testing and Bronwen Zande on HoloLens) lined up for March, so I think we’ll make April’s meeting our local Adelaide launch event for VS 2017 (combined with Jack Ni on IoT).

    It’s going to be a busy year!

  • Tour Down Under 2017

    It’s that time of the year again when bicycles take over the streets of Adelaide and nearby country South Australia. The Tour Down Under is in town, and that also means the Friday is also the BUPA Challenge Tour. This gives us mere mortals a chance to ride the same course as the professionals, complete with supported rest and refuel stops all along the way.

    Map from Mt Pleasant to Campbelltown

    Usually I ride with my dad and we do the full distance, but this year my son decided he’d like to take part for the first time. So while dad still started at Norwood, we chose to do the shorter 60km distance starting at Mt Pleasant and finishing at Campbelltown.

    Carson had previously done a few rides with me and the other Mud, Sweat & Gears riders down to McLaren Vale (a comfortable 30km ride from our place), so I was pretty confident he’d be up to the longer distance, given plenty of breaks along the way.

    Our family friend Jane also joined us for the ride (as well as giving us a lift to our starting location at Mt Pleasant).

    The three of us taking a break at the top of a hillThe day started off cool and overcast, a huge relief from the high temperatures we’d had in the previous days. There’d also been a decent thunderstorm overnight. A small amount of drizzle hung around for the first part of the ride, but nothing too annoying.

    We made good use of the rest stops along the way to get refreshments and make use of the ‘conveniences’.

    We also had a bonus visit to the bakery in Lobethal. A welcome boost.

    Carson's bike getting some mechanical attentionAt one stop, we did an adjustment to Carson’s seat pole – turns out he’s been growing a bit and those legs wanted a bit more room to stretch out 😀. Later on at the Cudlee Creek stop, we were just about to head off when he noticed that his rear brake was not working properly. The main rest stops also have resident bike mechanics, so we immediately went over to get it looked at. This brake had played up in a similar way a few months ago and I thought I’d resolved the problem. I was encouraged that the mechanic tried exactly the same things that I had done myself previously. He managed to get it working so it would get us safely to the finish (which was a fair bit of downhill, so having good brakes was critical), but recommended we take it in to get serviced as there’s obviously something not quite right.

    Riding along the road

    The final ride down to the finish went well and the three of us even got a chance to ride arm-in-arm under the finish archway, much to the appreciation of the crowd. The finish line was right next to Foxfield Oval with the huge gum trees lining the road. That made it the ideal place to stay and wait for the professional teams to come sprinting in.

    Pro riders racing to the finish

    All in all a great day. Super proud of Carson for riding 60km (as Jane pointed out, every km after the 30km mark was a PB!). Also nice to finish the ride and not feel completely wrecked too!