Standup starts a bit late this morning, for no particular reason other than it’s hard to get everybody together. With the investment meeting today there’s a palpable sense of nervousness and urgency from Aidan and Will who are finalising the presentation and preparation. We do manage to get everybody together eventually and we each deliver our two minutes.
Jordi is pretty confident of getting everything in the negotiator app ready for the bug hunt. Laura is less confident of the renter app work. She seems visibly a little stressed, which is unusual for her, so I suggest that we sit down and go through priorities after standup.
Adrian would also like some of my time to discuss indexing in MongoDB as he wants to move all of the existing push notifications across to our new push notifications micro-service – this is to support the deeplinking work that Valerio and Tom are doing, since the data structure on the new service is a little more advanced.
I also need to grab some of Simon’s time to discuss what to do about the renter app issue that Laura uncovered the previous evening.
First, though, coffee.
We’re back up from the coffee shop at 10:05 and I spend 5-10 minutes with Laura going through the outstanding work on her plate. I suggest that the viewings bug she found may not actually need to be fixed this sprint – it’s not great, but it’s not a showstopper, so she should focus on the outstanding feature development. That feels more manageable and seems a little more relaxed.
I then do the same with Jordi, just to check what he is working on and whether he really does have the time to get it all done. There is some status message work outstanding but it feels more important to finish the suggested properties feature and then address the router bug, so I say that maybe I can handle those and take them off his plate. Not that my plate is empty, mind you.
It’s 10:25 by the time Laura and I find time to chat to Simon about the viewing status messages; we discuss a couple of alternatives but none of the doable ones seem satisfactory. I suggest that maybe we don’t need to fix it but Laura points out that there is a related issue with badges that also needs solving and that one seems more urgent. I think she’s right, so we make a conscious decision that the status messages in the viewing preview may relate to different viewings and from that starting point we’re able to specify the behaviour that we should attribute to the viewing badges.
Next it’s time to chat with Adrian about the indexes. This is something that I investigated and implemented for chat but it wasn’t a great implementation – the C# library for Mongo has some nice features, including LINQ integration, but seems to be slightly out of sync with the latest MongoDB version. I had some problems creating text-based indexes on collections and also migrating those indexes if and when they changed, and I never had the time to properly resolve these problems. I give Adrian a quick tour of the work I did and point out the areas where I am still unsure, and after about 10 minutes or so he believes he has enough to go with and works on applying the same approach to the push notification service. We discuss having a common library on our Nuget feed but neither of us really has the time to see this up.
Before I can sit down and finish off the development I started yesterday, Boris has a question about SQL replication for our chat database. It’s broken again, but after checking that chat itself is still working and it is just the reporting that is an issue, we decide that it’s not urgent and he agrees that we can look at it later in the week.
It’s 11am, and I can start development for the day.
I finish the ticket I was working on around 11:40 and then merge and push. Laura is a bit uncertain about the test plan for the bug hunt the following day; to be honest, so am I, but I agree to help her with it. The reason I am uncertain is because it is experimental. It’s not something we’ve done before, it’s just an idea we had that might make our testing more efficient.
I don’t know if it will be effective or even really what it should look like, but we spend about 10 minutes discussing it and I suggest that it should basically be a list of features and a list of scenarios that we would like to focus on as part of the bug hunt, and these should be open ended so as not to be too prescriptive about the kind of things that people test. The purpose of a bug hunt is more role play than directed regression testing.
When I get back to my desk, Jack has send round a link to the burndown chart. It was looking good the day before but a fair bit of additional scope crept in over the last 24 hours, so we’re now a little further away from where we want to be. That said, there are a lot of tickets in test and ‘ready for signoff’, but it’s not really clear to anybody in the team who owns the actions on these or, in the case of the latter, what the action should even be. This is something that I would like to remedy but I think it should be part of a retro discussion, so for now it’s just a part of the process that we live with.
Shortly after midday, Jordi points out that a particular even is not firing. It takes me about 5 minutes to fix. Then Sunil wants to show me what he’s done on the CRM, so I sit down with him and we discuss the changes he has made since the previous afternoon.
He’s improved the responsiveness by moving away from tables and towards lists with cards that have slightly more graphical representation of the data. I think that’s a positive change. He’s also fleshed out the flow a bit more and added a couple of panels that were previously missing. I still don’t think that he’s understood the issue with context when onboarding; when adding somebody to the CRM, the team need to be able to see who else is already in the system at that agency and they want to be able to add a bunch of contacts for the same branch in one go. I give him some examples and we reach an understanding. ‘This is why it’s good to talk to you’, he tells me. It’s a good moment. The previous week I was feeling a bit stress and frustrated, mainly because of the illness I’d felt during the latter part, and it’s nice to get good feedback from your colleagues when you’re in danger of falling to a low ebb.
At 12:30 the majority of the company (i.e. everybody except me) go into a meeting where the slides for the investor meeting are demoed. I’m going to see it later so I opt to get some development work done. With nobody else around, I have a chance to focus on development for a bit. I fix a small ticket related to versioning and then while I wait for the build I update the status of a few items on our sprint board. It turns out that our burndown is still pretty good – we’re about 80% of the way to where we should be, and there’s a lot of in flight work that would take us past our target if it were finished today.
At 13:30, the build is green and it’s time to get lunch. I only take 15 minutes today – as I’m going to investor meeting I’m going to lose the afternoon for development and there are some things I want to get done first. When I get back to my desk however Jordi tells me he is having a problem with one of the endpoints. It takes about 5 minutes to ascertain that there is some rogue data in the database, related to the fact that I’d need to push an interim version of the code to our test server in order to make it available via our Nuget feed to other services. I think the new .Net Core projects are going to at least partially solve some of the issues around working with Nuget packages in development, but for now this is just something that happens occasionally when writing features that require communication between multiple services.
By the time I’ve removed the offending data, it’s almost time to go. I’ve just got time for a bit of further discussion with Sunil about the CRM and with Jordi about our eventing model, and then I’m off to the investor meeting which is being held at 3pm in our accountant’s offices near Holborn.