Tuesday, October 26, 2010

Can a programmer think like a business person?

This is always the question on every business when it talks to the IT team on new requirements and features. Why is that it is too hard for my programmer to visualize what i am saying, why is he taking too much time to get the changes done, why cannot our it team do due diligence on checking the pages before they show it to us!! These are classic frustrations business users face and think always when they deal with programmers or an IT team.. Is there a solution to this problem!!
 I firmly belive there is a solution to this problem and this is my vision on our company. Now being in IT industry for almost 18 years, i find it hard to accept this truth and here is what i would suggest business and developers should do to change this perception.
1. Put the ownership of defining the requiremnet to the programmer.
Developers always focus on there lines of code to execute and always look up to the business person to define the requirement which is the actual problem. Instead developers should only get the reason why his business person needs it and what is he trying to accomplish and developers should take from there do the prototype and define the requirement. I know i am sounding crazy here but if this does not happen, the developer will always want everything from business.
2. Programming is about UI and screens.
 There is an ingrained habit in IT that anything look and feel is not there job and they are meant to do the logic , build objects and do the data related transactions. This culture should change and developers should be certified on user interface skills which is very essential to any application development. Does your IT team really train the developers on user interface skills? Why not!!
3. Industry certified programmers.
  I am in the process of creating a standard for programmers where instead of just measuing it skills , a developer needs to get certified on the domain knowledge of the industry he is going to work and serve. This can be on business processes , terms and rules which the developer needs to pass before they work on a proffesion.
4. Measuring outputs of programming.
 I am sure there is not much organizations which really measure the outputs of programmers interms of lines of code and function points. Every line of code created by a human being has 15 to 25% errors in it and does Business give time to measure the output. When a writer writes a book, isn't there a process to proof read the script? Why not in IT. I would strongly suggest each organization keep indicators like usecases, lines of code, defect density , number of screens as metrics to measure outputs of programmers.
5. Give time to improve
 Business should change the habits of always focussing on releases and getting job done. There should be a minimum of 2 hours spent by a programmer to research on the web and suggest tools, practices which would create value to the business. If Google can follow this technique, why not your organization?
  I am not hear to find fault with programmers or business but on a mission to change IT to create business value on there work. Should this not be the case??
Feel free to comment on this or check me out at http://www.thylaksoft.com/ or email me directly at buyan@thylaksoft.com on comments..
Thanks
Buyan
http://www.thylaksoft.com/