Today, even though the deadline was last week, we started sprint planning as the product owner required even more features. This was fine, as the program was to be shown to stakeholders in two weeks, and the product owner still felt as though the project was unfinished/lacking features.
I spent the morning fixing bugs that had been pointed out in the previous week - closing 10/30 on the issue tracker.
After the global team meeting at lunch, the team had a poker planning session for one final page to add. This involved heady discussion and deliberation, as the product owner wanted something completely different to what we already had and could provide. This was a difficult situation as the overall architecture of this program would not allow for this type of page.
The project used Contentful - an API driven content management system. We had specific content types (and therefore speficic React.js page components) that pages were rendered from.
During the session with the product owner, we came to a compromise - which maintained the integrity of the system quite nicely. I had suggested that we repurpose an existing content type (and therefore React component) so that we could use it on the page. This meant that the only rendering algorithm of the page had to be changed - any only slightly at this.
With this resolution, the team and the product owner were both happy. The PO got their desired page type (and more space to add different types of content to the page), and us the developers got to add only a small amount of code, got a big impact.
Because the poker planning session went on for longer than expected, there was not much time to develop after this. One member got on with the new feature, and the rest of us continued with bug fixes.
For me, today consisted mostly of attempting to fix the one issue. When the team inherited this project, it came with Contentful as a backing store in the cloud, but cached the response from Contentful in another backing store - Redis. For this, the previous team was smart and used Contentful's sync API. An API that when called, only sends updates since the last call. This was fantastic, because with a lot of data going in to Contentful, the sync API means that the database isn't repopulated every time, and there exists less network traffic.
However, the previous team's implementation of sync api -> redis wasn't a good one. Every time that the sync api was used to get new data, only the metadata (hence referred to as 'sys') would be delivered. The useful content (referred to as 'fields') was not sent down. Because of this, our server had to be rebooted every time there was an update. We had not noticed this, because we were testing our code on a local instance - restarting the server with every change we made.
Although another member of the team, Sam S, had been assigned to this. This was a very difficult issue - he's a proficient programmer and had been working on this for the past half week. Because of this, we had opted to pair-program for the entire day, both spending a chunk of the day, whilst the other observed and pointed out anything that could have been missed.
This was a fantastic opportunity for the both of us. We both got the opportunity to observe another person's workflow, and gain better skills at explaining technical topics.
This morning was spent entirely testing the missing fields bug. For this, we asked our scrum master and product owner to add new items to contentful, and refresh the page of the website.
After everybody was happy that this constituted a fix, a pull request was submitted. Because of the gravity of this fix, Sam and myself had to wait for all of the other developers to review the code, before it was merged.
The afternoon was a (much needed) break from the current project. I spoke with Chris, a member of Cirrus based in IN, America. We finally had the opportunity to go over the finalised requirements for this mini-sprint of the CIO awards - an internal awards program wherein (different IT) departments apply with their contributions to the company for the opportinuty to win prizes.
After going over the requirements, Chris showed me through the internal force.com workflow - including how to test our code using the force.com sandbox. We also went over basic Apex, for developing webpages. After this call, I set off to implement one of the requirements in to the webpage.
This morning was spent self-improving. I felt as though I was totally clueless with Apex page creation, so I decided to spend the entirety of the morning reading up about it. This time was well spent, because I felt more secure in programming with Apex. This should set me up well for the future
This day was a standard friday. Nothing new or exciting happened. I began the morning in a 1:1 meeting with my manager, speaking how things were going, and then moved on to development time.
For most of today, I spent my time developing for the Clik project, getting the website and hardware working nicely together. After this, I finished off the day with a sprint retrospective. A meeting where we spoke about how well we all worked together during the sprint, and things that we could have done to work better as a team. These are incredible useful sessions, and I often find that I've got a lot to add to the meeting.
- C3 - get work from chris on awards app
- A1 - work on raspberry pi
- B3 - attempt to work on contentful API issues