

How to improve quality of development? - abhishekdesai

I am co-founder of DIGICorp (www.digi-corp.com), a software development company based in India. We are doing decent amount of work for various clients across globe. We work mainly on .NET and PHP platforms and we have team of around 40 to 50 developers.<p>Even though we are doing some cool work (check some of our work on our website) I feel quality of development is still not good enough. We have a good team but probably we are not able to get the best output.<p>I am following the practices mentioned in the book "Behind Closed Doors: Secrets of great management" and I am really satisfied with the output I am getting from my project managers. Now it is the developers who need my attention.<p>How can I make them great developers from just good developers? I know it is in genes but I also believe that we can also train them to greatness.<p>any ideas? suggestions?
======
makecheck
Developers are motivated by interesting work, and like to have chances to grow
their skill set. Also, most developers I know hate rules: give them credit for
knowing how to code, don't bog them down with arbitrary things like a 500 page
policy manual. Finally, you hired your developers to write code, so make sure
you aren't wasting their time on non-development tasks.

One way to keep work interesting is to give every developer at least two
projects. This allows a person to switch between them if one becomes boring or
frustrating for a few hours. You could even encourage small pet projects that
developers are very enthusiastic about, even if the projects are not
completely work-related.

You should invest in a bookshelf of manuals, and make a "cheat sheet" of
places to look online for help in your technologies (PHP and .NET). Make sure
everyone knows a few of your in-house experts. Developers should not have to
look far to improve.

Give developers a lot of leeway. Avoid large policy manuals and rulebooks,
instead occasionally remind them of simple guidelines like "follow the style
of the rest of the code in the file", and "create libraries to handle the
really mundane stuff". Be _very_ open to new ideas, even if this means a new
language (I have seen projects spiral to their doom because the actual goal
was incredibly awkward to implement in the "preferred" languages of the
developers).

And finally, as I said, keep developers developing. Don't waste their time
forcing them to (for instance) manually enter information into some form, such
as a spreadsheet, or manually produce something like a set of progress slides
for management. Focus on the _information_ you want from them, and have your
managers simply ask for that information in voice or plain text. Your managers
should be producing the pretty forms.

~~~
abhishekdesai
yes we are giving all these freedoms right now but still we can definitely
improve upon them. still you think there will be some major improvement? i am
planning to implement code inspection to improve code quality over all. whats
your take on that ?

