Probably a couple new bugs

Release notes are specific to each version of the application. You hope to find what you’re looking for, valuable information. Mindless Dribble Inc. updated their GroupMe software recently. Hereby the release notes (https://itunes.apple.com/us/app/groupme/id392796698?mt=8)

What’s New in Version 5.0.4
– Can paste GIFs again!
– Can meme on iPad again!
– Can now see full names of people who like messages and start DMs from their like avatars!
– Can share photos from the Messages app again!
– Many minor bug fixes.
Probably a couple new bugs.

If you have additional feedback or issues, please don’t hesitate to send us a line at ios@groupme.com. And if you’re enjoying the app, we more than appreciate positive reviews in the app store. Thanks!

Mindless Dribble knows about;
– Early bug findings are the best predictor of a component’s future behavior.
– The Fault Feedback Ratio (FFR) – the % of fixes that actually feed another bug into the system

I appreciate both professionalism and honesty of the company in its release notes. I promise I keep working with the software and report any issues found.

No Guts no Glory (part II)

No guts last week. I was invited to a meeting to discuss potential risks of running the tool. I like sessions like this. A lot can go wrong, always. I can practice the rule of three. This rule says: “if you can’t think of three ways a potential solution can fail, you don’t completely understand the problem.

Johanna: We want to know what the cause of the disappeared objects is…..do have any idea?

Chris: The cause was not found, and there is no chance to find it, I think. We discovered the issue too late, so detailed logs are gone. As far as we can say is that for us it seems that the business logic worked correctly. This is why it is so strange why it happened.

Duko: Excuse me? You said “the business logic worked correctly”? That might be, but something was clearly wrong I should say! And by the way, could we rephrase your word “strange” into worrisome?

We started to create a list of questions that needed to be answered before we would run the tool. Half way the meeting the phone goes, it’s Bill. We put him on speaker.

Bill: Hi all, I installed the tool on the acceptance environment….it doesn’t run…. We don’t know why…(yet).

(Some guts, luckily not enough to do it directly on the production system)

Johanna: Thx Bill for your additional risk to our list. <Click> On the matter of how much we are going to test: we are going to test this thoroughly! Don’t even think about pushing this to production without my approval.

Duko: This reminds me of the Titanic Effect (Weinberg); the thought that disaster is impossible often leads to an unthinkable disaster.

And we kept working on the list of questions and risks. This was a good session.

No guts no glory

I do admire people with guts. Early this week I received a copy of an e-mail between Frank and Chris. It was regarding an issue of ‘unexpected moved objects’ from a production to the historic database. This was apparent a major issue, since I overheard my colleagues talking about it to several angry end users.

Frank: I see no issue on your list (see e-mail last week) concerning the moved 20.000 object to the historic database to bring them back to the production database. Please send us an update of the status of this issue? I already expected a Patch.

Chris: A patch will be provided today or tomorrow, we are preparing the delivery.

Frank: What do you advise to test this patch? How did you test this on your side?

Chris: We will deliver a little tool; there is no change on the application. The tool will create extended logs, showing which objects were successfully restored, and which not. The tool will be provided with some instructions how to use it. We tested the tool with current database backups, and it worked. We also verified that all data is restored. Some objects won’t be restored, since related objects could be deleted in the meantime. We do not restore inconsistent data, meaning if the related data cannot be found anymore, this particular object is not restored. All information is presented in the logs, so you can make a match of the objects that should be restored and the objects that are actually restored. In my point of view, you should run it and make some spot tests and compare the data before and after restoring.

Okay so what is happening here? We somehow lost data from the production database, which is causing trouble for end users (duh!). We should fix that issue of course, asking a patch is justified here. Then a very good question: asking advice how to test the patch. Then the guts comes into play. Don’t you just love phrases like; “A little tool, some instructions, some objects, inconsistent data, just run the tool, do some spot tests.”

Great example of the use of lullaby language! It will take serious guts to run this tool based on this story.