Like code smells, sometimes you can get a feeling about an organisation, these clues we've called Process Smells. They are a clue to identifying risks when estimating for a project. As I've stated before we usually try and quote a fixed price for a job, this price tends to have a contingency based on the perceived risk attached to the organization, now what risks and opportunities can we attribute to organization types.
To please the Disney loving masses I've started by describing the
PERFECT CUSTOMER
So I wake up to breakfast in bed, provided by my wonderful family, skip to work through a flowery meadow and start to work for the perfect customer.
The Perfect Customer
Oh then I wake up to the full horror of my day...................
I've tried to break down the attributes of organizations in a software design way, I'm sure there are different categories and as with all my articles most of it comes from my head rather than research. So please chip in with your own categories.
Technical Competence It's sadly common now to go into a company and for there to be little or no technical skill left there. This essentially means that you're on your own kiddies. No Technical Lead: can have the following affects on your project.
SMELL: Essentially this comes down to time, you will have to include a large contingency and assess whether you have the technical competency to complete the project. DEODERANT: You can become indispensible, and that can be a good thing. Weak Technical Lead: by this I mean someone who has the technical knowledge by little power in the organization. When you come into a company full of competence and ideas it can be perceived as a threat, you may have inadvertently stepped on the toes of the person you need the most. This can be very costly especially if they are the main sign-off. SMELL: Our job is hard enough without having to fight every step of the way, consider walking away from this situation as they will be a bucket full of insecurities, fear and frustration and it's a tough win. Strong Technical Lead: by this I mean someone who has the technical knowledge and some clout. Make friends with this person and your project will go much easier. SMELL: A hostile strong technical lead can be a challenge, but worth a bit of effort. Add contingency to spend some time to impress. DEODERANT: If they come round to your way of thinking you have yourself a powerful ally. |
Environment Hostile: Some people just don't like LabVIEW and/or contractors, or old punk rockers who should know better. Funnily enough there is an opportunity here, my most skeptical, cynical, difficult customers have ended up some of my best and most loyal friends. SMELL: Failure is not an option soldier! DEODERANT: Win and you win big, the energy they put into their hostility will be directed at promoted you! Friendly: Note to potential employers, be nice and we'll be cheaper. DEODERANT: Woot we like friendly, and lucky for us most of our customers are just that! |
Management Style Democratic: Can make decision making slow, but usually a better working environment. Dictatorship: If you are dealing with a very strong dictatorship you may find you'll end up working for a Weak Technical Lead and all that involves. |
Decision Making mechanisms Meeting Heavy: Some management book somewhere has taught companies that decisions are good, you shouldn't have a meeting without making lots of actions. These meetings should be booked regularly and involve anyone remotely interested in the project. SMELL: Beware of long term projects done on a fixed price, this environment means the project will be constantly changing. Technical Lead: This is the easiest way to deal with a project, an extra protection is to deal with a Project Manager and a Technical Lead. The Project Manager can then reign in some of the enthusiasms of the Technical Lead. DEODERANT: Having this clear line of decision making makes projects run so much easier. |
Sector The different sectors have different characteristics. Here's my observations for what they are worth. Medical: Likely to be a Meeting Heavy environment. Aerospace: Having worked in Aerospace for most of my life I would suggest that Aerospace companies can be completely bogged down by paperwork, which in theory should be feared, in practice everyone finds ways of working around it. Find the company expert on getting round the system and you're in business. Military: As above but a bit slower. Academic/Research: Academia is used to getting it's code written for free by under-grads, generally quotes are met with shock. If you get the job, cost in for constant change, it's research dammit, they are bound to play around with requirements. |
Company Size Small company: <20 people SMELL: Your costs may be a very large part of their budget, make sure they can pay before you start. Consider getting money up-front, small milestones etc etc DEODERANT: Less bureaucracy, faster decisions all ease the development process. Large company: Got their own accounts department the big show-offs. SMELL: Factor in extra costs for bureaucracy, late payment, changes of management. Sometimes they won't understand the costs and risks that smaller companies/individuals undertake. DEODERANT: They may have more work for you to do, they can pay you. |
Who holds the power Increasingly some departments in a company forget they are there to help and service the important business of doing business and find themselves dictating to everyone else. For example considerable time has been wasted by strange edicts from the IT department. Yes I'm looking at you IT department who wouldn't let cRIO into the company without McAfee Antivirus loaded on it! And you IT Department who furnished us with a 10 year old server to do a job because they had put a ban on buying new computers!! |
Other Smells....
SMELL: Picking apart your quote and asking you to justify each item in great detail ..... an indicator of trouble to come.
SMELL: Interrupting a meeting to make my colleague re-park his car to the company standard!!!....I suspect testing on that project will be hard work.
In our experience the best relationships with customers is when it is a partnership and we all look after each other.
Lots of Love
Steve
Thanks to Justin Goeres for the title. Fabiola, CRelf and CRoebuck for their input. And all my customers I love you really
Steve
Opportunity to learn from experienced developers / entrepeneurs (Fab,Joerg and Brian amongst them):
DSH Pragmatic Software Development Workshop
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.