Another negative development rant
You know, I think I posted this--or something like it--before. Must the product manager have to specify everything in the requirements or should the developers know how to be good?
I love my Garmin Nuvi--it's a small GPS that I can take anywhere. Periodically I like to update the software, not that I really need to since it's working just fine but I like to keep "current."
So I jump on the Garmin web site, download the web updater and the problems begin. First, the software is installed at C:\ instead of in the program directory where it belongs. That really bugs me! Must the product manager have to specify everything in the requirements or should the developers know how to be good? "The product shall install in the Program directory" seems an unnecessary stricture.
Then I run the updater which does some type of LiveUpdate and downloads the new software. After some confusion about how I should reboot the GPS, it asks, "Do you want to install version 3.30?" Cool. It reinstalls the software but deletes all the configuration information from version 3.20. Huh? I had set up preferences plus a few dozen Favorites that are now gone. In what world do the developers feel that a clean install should be the default? Must the product manager have to specify everything in the requirements or should the developers know how to be good? "The product shall retain preferences, configuration, and saved locations from previous versions." Yeesh!
But I'm patient--or perhaps I'm an idiot--so I decide to re-enter all my saved locations. But the GPS thinks I'm in Kansas (since that's where Garmin is based I'm guessing). Now I have to go outside so the GPS can find out where I am. I'm wandering up and down the driveway for ten minutes while it finds itself. How do I set my "Home" location again? Do I just save as string "Home" or is there a menu option somewhere? I forget. Now what's Bob's address again? Lemme look that up in my address book and then re-learn how to save an address that is not my current location. Durn it! Never mind; I'll just enter it next time I go to Bob's house. And since it doesn't save my preferences from one release to another, there's really no need to stay current on the software. And certainly no "lock-in" for me to continue using Garmin when I make my next purchase.
Must the product manager have to specify everything in the requirements or should the developers know how to be good?
What does "good" mean? Good programmers adhere to industry standards--at least when it makes sense. Put your programs in the programs directory; don't corrupt or destroy data; retain preferences and customization between releases--or at least offer to convert them; be clear on how to complete any operation that is critical but rarely performed--such as installation and version upgrades.
To say that these should be in the requirements is a cop-out; it's just lazy programming. It's programming that says "I don't really care." Product managers shouldn't have to specify everything; developers should know enough about their target environment and customer to know how to be "good."
Looking for the latest in product and data science? Get our articles, webinars and podcasts.