This is an age which time travels before ideas. i.e., you might encounter the subject of deadline before you come to know about the idea or requirement details.
Depends on below properties, answers varies:
- Number of years of experience – if you a manager,
- Level of knowledge – if you are a manager,
- Process – you or your company follow,
- Type of organization you work,
- Type of project,
- Architecture of the project,
- Number available resources,
- Timeline of the project,
- Budget of the project etc.,
For a successful project at least some of the above points are mandatory. You can deliver a project in a fortnight but quality matters.
Level of Knowledge and Number of years experience
If you are an expert in the field which project need to be executed, then you an deliver the project really fast. But it is not always an easy task for a manager to train his team to make up with the same level of knowledge. But a manager can build a base for the project to work on. When team members are from different environments, and different environments use different processes, there might be a conflict-of-base occur. Every one including the manager must be patient enough to listen to others and build a powerful base. There will be convincing and negotiation in between, but sufficient time must be available for all these. This will be an one-time process so all the future projects can follow the same base.
Technology changes every day, so it is very important to update knowledge day by day and make necessary changes in development and coding styles from time to time.
When the technology or domain/concept is very new for the team, there will be a learning curve involved and the deadline of the project will be a bit far.
Number of years experience must not be taken into account always. As I stated already, technology changes everyday and none get the opportunity to use all the technologies. So gap is a gap. For a programmer, coding concepts and types of project handled remains same but the complexity of requirement and advanced technology he might use differs which surely impacts the deadline.
Current world is for Agile, SaaS, Extreme Programming, Cloud etc. I still believe you cannot deliver a 99.8% quality product (hate to say 99.9% in this busy world) without using any of the standard software development processes unless it is a single line of code. Let me discuss in a generic point of view.
There is no any company without a process. Process emerges automatically and get it aligned with the team. Fact is, it is not an easy task to change the process in a sudden. There will be much repulsion from the team members regardless of how complex and ugly process they currently have.
Most customer-centric organizations unknowingly use Agile. They work closely with the customers and as a result most of the projects will be success. They get enough time for development directly from the customer and there will not be any deadline hazards as customer is aware of what is happening at the development center. The major demerits will be unexpected extension of scope which results in missing track of change requests and resource allocation problems for other projects.
Type of Project, type of Organization and number of resources.
As long as you have expertise, you can touch any domain. Similar projects you can deliver very fast as you will be able to use the same code base and in most occasions just a re-skinning of application will be enough. When ever you touch a new domain or technology, there comes a learning curve and situation differs. Company management must keep account of this fact and give sufficient time for developers to cope with it. From second project onwards they will be okay.
When you estimate or sign-off a project contract, please do commit the schedule by keeping in mind that you have N number of resource and together they can finish the project in N number of days. You must be having proper benchmarking and proper tracking of all the projects in hand. You might want to work on different projects simultaneously or some of your projects might be in maintenance mode so all needs time. Put sufficient buffer. Your developer might be able to finish a complex task in 1 day’s time but he might get struck with a minor coding bug which result in spending more than two days.
Many company owners are very proud to say they got a flat-hierarchy in their organization. But for the success of projects, a defined organization structure is mandatory. There must be one person who can take decisions. Unfortunately for most small companies, there will be multiple people handling customers and because of that all starts management and at the end developer gets over pressured and there comes production decrease. Proper tasks and resource handling must be done from a singe source. It is very important to keep the communication transparent so that task overlapping will not occur and we can control the deliveries up to an extend.
Trust each other
When you give a job to a person, give some freedom also and do not put un-necessary limits. He must get the feeling it is his job and he must take responsibility. If one is not good for a job, then he will get eliminated automatically from his position. In a typical organization, when you are assigned a job and you get an official status enquiry from another person of same level – there comes a doubt of trust factor which results in imperfection of the job.
Dedication and commitment towards the company or people comes through trust only and you cannot buy it with money.
If you do proper project management – planning and resource allocation, there will not be any question of work pressure. When the pressure from top increases, quality of the produce decreases. Check any project you know. All long running projects will face fail-over problems or performance issues when the time is running. Such projects lacks because of short timelines.
For small projects like a contest or campaign, there wont be much issues as the project will be up only for a short period of time. You must now expect product quality and timely delivery unless you have sufficient number of expert resources.
Words never ends, but in this dynamic – busy world, I have limited time for these articles :)
© NinethSense Feb 2011