Hi,
I am newbie system analyst. I am currently working for a company that has also engaged a business analyst. The way I think things are working on the current project to which I'm assigned, is that the BA would gather requirements, I, as the system analyst would translate those requirements and turn them into a design document with screen shots etc. Once that is done, I gave my document to the lead programmer, who is now telling me what he does and doesn't like about the screen shots, that the tool bar and side menu he created will be the one we're using, no changes, and that the users will nagivate to different portions of the system in the manner he apparently has in his head, because" it makes coding easier," totally negating the work I've done for the navigation through the system and the screens the user will see. We've now presented to the users with the idea that this is how the system will look, only to be blindsided by this programmer telling us, that in fact, this is NOT how the system will appear. Is this really his decision to make? Is this how things usually go? My thought is that between myself, the users and the BA, we should be "designing" the system, and though the programmers may have input into the ease or length of time that design may take, his word shouldn't be the last right? Or should it?
Andi, In most organizations, it would be completely inappropriate for a programmer to entirely change the system as it has been specified by the analyst and signed-off on by the user. However, programmers do tend to have more input into system design in smaller organizations. The questions that you should be asking are WHY is the programmer trying to change things. If the items being changed are related to the system's architecture, opperability, efficiecy, scalability, etc...then the programmer probably should be raising these things to you. If they are purely related to UI design/Usability then it probably isn't the programmers place to do so. This sounds like a new system or at least major screen design changes to an existing system. Did you have anyone on the team who has a good grasp of Usability standards and best practices? In the end, no changes should be occurring without discussions among ALL of the stakeholders. If the programmer doesn't like what is spec'd, he should hold off on coding and have the appropriate discussions. Not just code whatever he wants.
Andi,
In most organizations, it would be completely inappropriate for a programmer to entirely change the system as it has been specified by the analyst and signed-off on by the user. However, programmers do tend to have more input into system design in smaller organizations.
The questions that you should be asking are WHY is the programmer trying to change things. If the items being changed are related to the system's architecture, opperability, efficiecy, scalability, etc...then the programmer probably should be raising these things to you. If they are purely related to UI design/Usability then it probably isn't the programmers place to do so.
This sounds like a new system or at least major screen design changes to an existing system. Did you have anyone on the team who has a good grasp of Usability standards and best practices?
In the end, no changes should be occurring without discussions among ALL of the stakeholders. If the programmer doesn't like what is spec'd, he should hold off on coding and have the appropriate discussions. Not just code whatever he wants.
Hi Andi,
Very common problem in "IT centric" organisations. You'll need the support of others e.g. project manager, business to make sure that your design is built. Your design had better be better than his though :-)
Its very common for programmers to try to push the easiest (from their point of view) solution. I always fight this to the death. Don't always win though.
good luck
Kimbo
As a soon-to-be-former programmer myself, I can echo the sentiments of the others who replied : often, if I had misgivings about the design of the UI, layout, etc, it was because of the diffuculty involved, or sometimes because I may not have even had the skills to do what was wanted. That being said, I think it is very important to try to build a good working relationship with any programmer you work with and remind them that you are not telling them what to do - which is how some BA's come off to developers - but that you are trying to deliver the product the customers want. And in the end, it will benefit both of you to do so.
Now, as far as him telling you he doesn't like the screenshots, you'll have to take it the way it is and such, it sounds like he had already written a bunch of code and simply may not want to have to redo it. But that is not sufficient reason to avoid changing the UI and navigation, especially if that's what the users/stakeholders want. My suggestion would be to try to work with the developer to find out exactly why he is so opposed and see if you can work through that. If not, then I would escalate to your director and let him/her know what is going on.
His word should not be the last word - but it shouldn't be completely discounted either. Sometimes, it is a matter of how much time something will take. An old saying we used to have when a BA would ask us for something ornate would be, "you give us enough time and money, and we can do anything!" Lol Hope this helps : )
Kevin
brought to you by enabling practitioners & organizations to achieve their goals using: