Some thoughts on "Simple Fixes"
As I browse through the message board, I've lost track of the number of times I've seen comments stating unequivocally that something is a "simple fix."
"I just need a checkbox…"
"I just need an extra item in a dropdown list…"
"I just need one more field on this form…"
"Why is it taking so long for such a simple change…."
It's an easy fix!
Sad to say, with the possible exception of fixing typos in labels or possibly basic layout issues, there are no easy fixes in an app like Simplifi.
Adding a new checkbox will serve no purpose if it just adds a graphical element to the UI. It has to cause something to happen. A new field has to be added to the database. That record has to be linked to the user's account. Code has to be written specifically to add something to the record when the checkbox is checked, and more code has to be written to undo that action when the checkbox is unchecked. Consideration has to be made whether a history of that checkbox's action needs to be maintained, and that means design discussions and documentation.
Also needing to be considered is what else, besides the user, that checkbox needs to be associated with, which could include but not be limited to: account(s), categories, tags, bills, subscriptions, savings goals, reports, cash flow. More meetings, more discussions.
Unit tests have to be written (I assume from the relative stability of Simplifi that unit tests are heavily used), software testing test cases need to be written, automated QA tests need to be created, manual test cases need to be written and executed. All of this needs regular reviews.
And all of this gets much more complicated when you're dealing with a cloud app like this one. A poorly-designed - or even a well-designed but flawed - change can have an enormous imact on system performance, the amount of data being transferred, and testing in these areas needs to be performed as well.
Ideally, there is also scale testing going on as well - how many users can the current architecture support before performance becomes unacceptable? How much bandwidth is needed to give all users a satisfactory experience? Even small changes can radically change the results of this kind of testing.
While it's true that not 100% of these tests need to be performed around every individual change, any individual change can potentially change the results of these test. If there's a problem, then there's additional time characterizing, root-causing, fixing, and re-testing the bug.
Lastly, those pesky users have a habit of finding things that all of that previous testing missed. The problem with modeling the real world in testing is that the real world is very difficult to model. Now a bug has made it into the wild, and potentially - probably - resources have to be diverted from other new features to fix the thing that the users have found.
But hey…it's just a checkbox.
Anthony Bopp
Simplifi User Since July 2022Money talks. But all my paycheck ever says is goodbye
Comments
-
Loved this post! While I don't know all the details that go into building an app, I do know that I am soooo happy to have found Simplifi!
Fascinating post @ajbopp.
Chris
Spreadsheet user since forever.
Quicken Desktop user since 2014.
Quicken Simplifi user since 2021.4 -
For sure! Software engineering is more complex than many people realize!
- A fellow software engineer ;)
8