Software Development: Project Management - The human factor
There are many life cycle Models for software development – Waterfall, Incremental, Agile, Evolutionary, etc.
But the success or failure of a project has little to do with the technicalities of the project management methodology used.
The statistics are damning:
- Most IT projects have time overruns
- Most IT projects have budget overruns
- Most IT projects do not deliver the promised features
The sole factor determining the quality, timeliness and cost of the outcome – is the human factor. That is the abilities and personalities of the Visual Basic programmers and analysts. This is something that cannot be purchased in package form from a vendor. It is the ingredient that is so often ignored by companies in their quest for the best outcome. It determines the viability of a project and has a tremendous influence on productivity.
So, how does one ensure that only the best people are employed?
Software Development: Hire only the brightest and the best
A company may not have the resources to go head hunting for high cost and successful personnel – but there is still a plentiful supply to choose from.
Use something like the IBM Programmer Aptitude Test as a minimum standard. It will eliminate all those of below average intelligence and ensure that the applicant can effectively communicate in English.
An aptitude test will not exclude those who do not have an academic degree. But it will exclude those with high qualifications that are not logical thinkers.
Software Development: Communication is all important
The successful Visual Basic Programmer should have a good grasp of idiomatic English. Most of the spoken words allude to concepts that are different from the dictionary definitions of the individual words. With 25,000 idiomatic expressions in the English language, the possibility of miscommunication, even when English is the mother tongue, is immense.
Software Development: A keen sense of humour is important
We are often told to "think outside the box". We are advised to use "lateral thinking" to be more creative. But how to select a prospective application with these attributes?
There is more to lateral thinking than solving a nine-dot puzzle. I have found that the most constructive ideas usually come from the throwaway lines of a humorous bright spark. It is also equally important to recognise the lateral thinking in the humour of others.
I am sure that there is place in the world for the humourless, but not in new system development.
Software Development: The "skim milk" syndrome
Do not proceed with a large project where the best and brightest have recently left the company. You need the cream of the crop for successful project development.
You are not dealing with chess board pieces that can be shuffled willy-nilly according to an arbitrary corporate philosophy.
Whilst developers should not be under paid, money is seldom the reason for leaving. The corporate and departmental ethos is a more important factor.
Software Development: Ideas for Staff retention
Retaining staff has less to do with money and more to do with the departmental culture. High job satisfaction is an important factor – but there is more to keeping staff content than the job itself.
The ideal environment will foster dedication, commitment, flexibility and determination.
Here are some ideas that may help retain the brightest Visual Basic programmers:
- Create unconventional "skunk works" projects to occupy those with the most creative minds. The projects may come to nothing, but the kudos and the involvement are important. And every now and again, a viable project will emerge. And if management objects to the time "wasted', most developers will be quite happy to do such projects in their spare time.
- Have a happy-hour and invite management and users. As well as promoting good will and communication, a side benefit is the number of issues that are resolved while "idly chatting".
- The culture of the company, the social side and the fun side of work are important factors in retaining staff.
- Get to know the world of an employee. Showing a caring attitude can give an employee a sense of belonging.