Friday 23rd October, 2015
Week 352
We did the usual 4:1 split of days between Smart Answers and GFR, spending Monday and Tuesday at Aviation House and Wednesday, Thursday & Friday at GFRHQ.
Smart Answers
Business as usual
This week, in the absence of Tadas, we had to spend quite a bit of time making & deploying “business-as-usual” changes as new requests & fact-checking responses came in from the departments:
- Start page amendments for calculate-state-pension
- Add instructions for how to apply for state-pension-topup
- Fixed ‘claim your state pension’ link
- Updated link in energy-grants-calculator
- Add missing phrase for maternity-paternity-calculator
It was particularly good to finally get that last one merged, because it had been hanging around for ages.
I also spent quite a bit of time working on a bug fix for calculate-statutory-sick-pay. The code for this seems way more complicated than the logic of the policy would suggest, so as I gradually understand it more and more, I hope I can improve the code.
While it was good to support the Content Team in making these changes, it was also a bit frustrating that it took our time away from our main goal of making Smart Answers more maintainable.
Anyway, towards the end of the week Tadas’ replacement, Erik Eide, started work at GDS. Welcome, Erik! It’s useful to have a fresh pair of eyes on the project and it prompted us to write some documentation.
Converting Smartdown flows
You may remember from a couple of weeks ago that Chris converted the last Smartdown flow, pay-leave-for-parents, to use only a single question per page. This week he made further significant progress on converting the last Smartdown flow to a Ruby Smart Answer flow by removing unused code from the flow and finishing generating regression tests for it.
Now that this flow only used one question per page, Chris also renamed the question pages to match their underlying question, which will make it easier to convert to a Ruby Smart Answer.
Flow visualisation
As a follow-up to supporting visualisation of flows that use next_node
with a block, Chris went through the flows explicitly specifying permitted next nodes where necessary, so that the graph visualisation now works for all of them.
Question options
I spent some time simplifying the way the app looks up the content for question options.
In the past we’ve been bitten quite a few times by the way the code was silently falling back to (often unhelpful/inappropriate) content when none was explicitly specified.
So I’ve made a change which forces all content for question options to be explicitly specified.
To make this change easier, I prepared the ground with a bit of tidying up. Unfortunately, some things I’d inadvertently broken only came to light when the full suite of regression tests ran and some when the change was deployed to production.
Tidying up
It’s so easy to keep putting off obvious simplifications or removal of unused code, so it’s good to see that we’re still ticking off some of these things:
- Simplify presenter methods
- Avoid potential bug in StatutorySickPayCalculator
- Make test definitions consistent
- Remove analytics:analyse rake task
- Remove script to test performance of smartdown loading / scenario execution
- Update checksum data for redundancy smart answers
Documentation
As I mentioned earlier, having Erik start has been a useful driver to improve the state of the documentation. I’m sure there’ll be more to follow:
- Add documentation for regression tests
- Add documentation about deploying
- Add documentation for CI and deploying to preview
GFR
On Wednesday we held our monthly Show & Tell event. We spent Friday doing the usual company admin tasks, replying to emails, etc. Chris penned the week notes and I wrote up notes on the Show & Tell. As an incentive/reward, we had lunch and a beer at the Strongroom Bar & Kitchen. In the afternoon, we had a productive session going through our company Trello board - this is something we keep forgetting to do, so it was was great to have a bit of a sort out.
Anyway, until next time!
– James
If you have any feedback on this article, please get in touch!
Historical comments can be found here.