It’s sometimes funny what people outside your team think of how long something would take to implement. A few weeks ago we had a meeting with one of our stakeholders who needed an indicator on each item in a view that looks a bit like a Kanban board. It was very important to have this indicator for all items in the first column. We asked her whether we should only do this in the first column or if it was okay to see this in all other columns as well. Her reply was something like “Well, it’s really important to have this in the first column, but if it’s not too much effort, it would be cool to have it in the others as well. But really, it’s not necessary if it takes too much time.” We then explained that it would actually take more time to not show it everywhere and asked her to really only talk about the problems she is facing without trying to prioritise them by what she thinks would be easiest to do, as this is not obvious a lot of the time.
One time, someone asked us to do something that solved a lot of his problems, which he had hesitated to ask for a long time, because he thought we wouldn’t have time to do this. It took us minutes to implement it (I think it had to do with sorting something the other way around) and we released it a few hours after he told us about the problem. His reply was “Thanks so much! You are machines!!!”. This has now become kind of a meme for us. If someone does something very simple very quickly they get a robot emoji or gif as a response.
I was the machine today. Our Kundenportal is going to add more types of jobs that customers can book through their system and all this goes through our application where we kind of translate this for the rest of our applications for matching students, letting students book shifts etc., so we needed to a new configuration for these orders. We communicate via domain events, so they added a new field to their summary event and we had to translate this into our model. Last week, one of the product people asked us for a quick estimate on how long it would take us to implement “all the new things” (it’s more variations for 2 existing characteristics and one new characteristic) and that leads to some change later in the system. But our response was “well, we can already handle variations for the existing characteristics and everything for adding the 3rd is already there, we just need to connect it, so … a few hours maybe?”.
They finalised their PR for the changes to the event yesterday at 14:30. I opened a PR for our changes at 15:00, merged it 10 minutes later after one of my team mates reviewed it and did a quick cross-system manual check. At 15:21 I told the other team that we are done.
I wonder if this ever gets better. If people outside of software development and outside of a team can eventually learn not to assume how much effort something is going to be from the outside. And I wonder how much we are missing because people are filtering what they tell us because they think it’s too difficult or costly to do. Or maybe that’s part of the fun in software development and it would get really boring otherwise?