After reading the blog Programming “how versus programming “why”, I wanted to bring this topic up.
For two years at my current job, I was “given” the task of developing a database system. Throughout the process of development, it became visibly apparent that an user interface had to created because of the increase tasks required of the database. The users who will be using the system are at the very most very basic computer users. I truly had to be their translator when it came to helping them to understand what could be done and what could be possible to what’s impossible. . This was very hard at times because there was no development structure. The database was a part of a much larger project that started two years before I was hired at my job. When I use “given” the takks of the database, it was that literally because of my background and basically not having anyone else to do it. So, using the RAD method was the only choice.
Because of the enourmous time constraints, I had no choice but to consider all possible tasks that would be needed of the database and user interface. Even though the end user input was constantly there and vice versa, I had an advantage. The division I work in allowed me to “learn the business”. It wasn’t a problem for me because it was something i jumped at the chance to do, plus it has the added benefit of helping me to understand better how to organize & store the data that would be going into the database.
During the initial development, I had the chance to work with someone who used to be a systems analyst. During one of our meetings to discuss the design tasks for that day, we talked about why I made certain design decisions with the user interface and then he said something I won’t forget. He said that me (a developer in general) shouldn’t try to anticipate all of the end user needs because it leads to trouble. I tend to think that he’s right and wrong to that. I subscribe more to the wrong side of it because in my specific development situation, being about to anticipate what the users needed worked, by the fact of me “knowing the business”. The systems analyst would was working with me didn’t have that inside knowledge; I’m assuming he was coming from his past experiences. What to you the subscribers of TechRepublic think? Is there anytime when anticipating as much as possible helps? Whether we use MS Office of KOffice for Linux, they are attempts to anticipate a task we as users need.