Everyone has process in their daily job, my question is:
- have you written it down for someone else to examine and scrutinize
- have you examined it for efficiencies (good or bad)
- do you have redundant steps that are holding back your potential
There are Amazon books a plenty on process and improvement but most of them can be quickly boiled down to "Do the right amount of work, the right way, right on time". The devil is in the details of creating a working product on schedule, on budget without causing employee flame-out.
I have worked at many companies over the years and seen many different styles of development and/or process and those companies attempts to streamline their process and improve their Cost/Quality/Schedule. There have been some successes but more often than not the problems remained in another nook to be ferreted out.
In one company it was introducing an Issue Tracking system, in another company I wrote test generation code. Each of these helped in improving different elements of the development process, but neither was a "silver bullet". They helped but did not fix the entire problem.
Software is evil this way. No matter how much you improve your process, problems will pop-up elsewhere. Its like to hold on to an ice cube, things just melt away. Constant improvement should be your mantra, but it is very hard to keep focussed when there are bills to pay and clients to impress.
So, what is your process?
When you start a project do you follow a hardened set of steps, improving as you go or do you treat each project as a unique entity with unique steps to avoid the last projects mis-steps.
If you follow the latter do you get better quality? Are your customers happy with the wild ride they embrace with your company?
If you follow the former do you have better repeatability? Do your customers resent the lack of individuality and lack of customization for their situation?
I really am curious, in the other small companies out there, what has worked better for you (and your industry): the same process no matter the contract or a unique approach to each contract as dictated by the customer's needs?
Discuss!
