games and code code it, play it
Killer feature or feature killer?
September 20th, 2007

One of the biggest decision I’ve met as a project manager was to decide what to hard-code and what to make customizable.

My company were selling and supporting software from a foreign developer which had limited customizability for the end user. While they covered most scenarios for users in their country, our users always demanded one more feature which we couldn’t provide for them. As we were expert in the field we started developing our own software. We had some bits and pieces from previous works but all in all – we wrote software from scratch.

Based on our experience we wrote a feature list which contained about 200 core features. After five years, some features still didn’t make it in our software and I’m perfectly happy with this – if we covered them, we wouldn’t finish our software – never.

One such killer feature was form designer. User would have option to design his own form for data entry end editing just like programmers do when programming for windows forms. Marketing staff wanted it to make presentations to clients with real documents and fields users already had, managers wanted it because it was cool and programmers wanted it as they thought that once they finished it users will do their own design. I discarded it.

It would be difficult to code it to cover whatever users wanted on the form but that wasn’t the main reason why i refuse to make it. Once you had the form designer you removed a big work of customizing application for user from yourself but you lost much of the usability you could provide to users on their demand. For simple things like coloring a field if some condition is met you must make changes to a form designer and soon you have application bloated with options almost nobody needs.

Instead, we built application for every user. Core functions were coded in kernel and were same for all users but user forms were inherited and changed to every user needs. Such approach enabled us to be fast to provide any customization needed while keeping core project design and structure together.

In the end we never had request for form designer. After all, we are the experts and we should design database and front end for users. Business systems shouldn’t be a toy for some ambitious administrator, it should be designed and implemented by experts.

Category: Development

Was this article helpful? Improve it with your comment.