You have a close decision to make on hiring a ColdFusion developer or several different ways to architect a program.
If one sucked and the other was brilliant it would be easy (pick the brilliant one!)
But often there are two or more options that are really close and it is hard to decide which is best. And the ramifications of a bad decision could be thousands of dollars of extra cost, a failed project and wasted days of work…
How to decide?
Some common ways are
- The pros and cons list. List out the benefits and drawbacks of each choice. Pick the one with most benefits and least drawbacks
- Weighted pros and cons. Same as previous method but give each aspect of the choice a weight depending on how important it is. Pros get a number +1 to +10 and cons a number -1 to -10, depending on how good or bad they are. Multiply the score by the weight and add them up. Pick the option with the best score. eg in hiring you might have one aspect of the choice is database design with weight 3. Candidate A is a +5. Candidate B is -2. So the contribution for for A is 3 x 5 = 15 and for B is 3 x (-2) = -6. Add these to the weighted scores for all other aspects of your decision to get the total scores.
I have used your weighted scoring system successfully too. Hey I was a mathematician by training at college! 🙂
I give extra weight to a decision is easily reversible/gives early feedback on whether it is the right course/can be course corrected down the road.
Particular areas I have found this useful for are:
- Scoring job candidates on the different skills and characteristics in the job req
- Scoring clients by idealness (ie easy to work with, have budget for our kind of task, communicate clearly, appreciate quality software development etc) and then “firing” the bottom 10% each year.
- Scoring prospects the same kind of way and focusing my energy on the top scorers.
- Flip a coin. If the choices are really nearly equal it doesn't matter. Pick one at random. Then see how you feel about the decision. If you feel good, great go with it. If you get a bad feeling in your stomach the it is not a good choice, pick the other one! (You just realized new information about the first choice).
- Test them out with a trial. Perhaps you can hire there different candidates for a few hours of paid work to see how you get on and what they really can do. Or if you have different program designs you can hack out the essence part of the algorithm (with no UI) and throw together some realistic volume of test data and compare speed (or does the algorithm even work at all!).
All the above methods are pretty common in management and software development. Here are two further thoughts on close decisions:
The time value of decisions
The values of the different options are usually not fixed over time. Often they decline over time.In addition the days and energy you spend making a decision are time and energy you could have spent on other productive tasks in your business, so they have a cost too.
For example in hiring, the slower you are at responding to the different candidates the less enthusiastic they are about the job, and the more likely they are to pick another company. Plus the more time you have lost to other money making tasks.
Suppose you have two candidates A and B with values of 51 and 49 on Day 1 and that they loose 3 points each day you wait/it costs 3 points in your energy used each day.
Here are the values of the options over time:
Day 1 | A 51 | B 49 |
Day 2 | A 48 | B 46 |
Day 3 | A 45 | B 43 |
In this case making a fast “bad” decision on Day 1 by hiring B at 49 points is actually better than the slow “correct” decision of hiring A on Day 3 at 45 points.
True sometimes the value of the choices might not change over time but the cost of continuing to spend your time/energy on the decision day after day definitely applies. Time that could have been spent making money for your business other ways. So there is still a time value to a decision.
The only way to avoid that is to not worry about the decision or spend any time on it at all until you next consider the choice. A deliberately delayed decision. I have seen entrepreneurs successfully do this when they realize that they are too busy/lack resources to implement yet another change this year and “consciously decide not to decide” until next January.
I also did not include the lost opportunity cost of a delayed decision. All the profits/new deals you could have made in the days (weeks?) spent decision making using either choice A or B.
We are not just comparing choice A to B. But also to choice N – do nothing. In the case of a 49/51 near equal decision I imagine the value of N is much less than either A or B.
In sales often clients don't take the cost of choice N into account because they have had the problem and been in this choice for so long. It is my job wearing my salesperson hat to help them see the true costs of choice N, as well as the costs and benefits of choosing buying from me. Bringing more consciousness to their buying decision.
Intuitive decision making
When a decision is pretty equal and complex than using intuition processes all the complexity at a subconscious level, saving my conscious processing power for other thoughts. It is also fast to do.
This is one method for making intuitive decisions, or at least giving you extra info for your conscious decision process.
Heart-based decision process (example for picking from 4 choices)
- Drop down into your heart (imagine your consciousness is in an elevator from your head).
- Hold each of options 1 – 4 in your hand one at a time.
- Bring your hand to your heart and notice what you feel.
- Then bring option 5) Something else (that I don't consciously know right now) to your heart too.
- Pick the option that makes your heart feel most open and happy.
- Notice any extra info you get on each option eg heart feels heavy, a color or sound that appear, other body sensations, new inspired thoughts that come to you
- If you get the “Something else” option then be ok to be patient a few days and see what occurs to you or synchronicities that occur that point to what it is.
(Exercise from the book “Beyond Human“).
There are many other ways to access your intuition, pick what works for you.
And to continue learning how to make your ColdFusion apps more modern and alive, I encourage you to download our free ColdFusion Alive Best Practices Checklist.
Because… perhaps you are responsible for a mission-critical or revenue-generating CF application that you don’t trust 100%, where implementing new features is a painful ad-hoc process with slow turnaround even for simple requests.
What if you have no contingency plan for a sudden developer departure or a server outage? Perhaps every time a new freelancer works on your site, something breaks. Or your application availability, security, and reliability are poor.
And if you are depending on ColdFusion for your job, then you can’t afford to let your CF development methods die on the vine.
You’re making a high-stakes bet that everything is going to be OK using the same old app creation ways in that one language — forever.
All it would take is for your fellow CF developer to quit or for your CIO to decide to leave the (falsely) perceived sinking ship of CFML and you could lose everything—your project, your hard-won CF skills, and possibly even your job.
Luckily, there are a number of simple, logical steps you can take now to protect yourself from these obvious risks.
No Brainer ColdFusion Best Practices to Ensure You Thrive No Matter What Happens Next
ColdFusion Alive Best Practices Checklist
Modern ColdFusion development best practices that reduce stress, inefficiency, project lifecycle costs while simultaneously increasing project velocity and innovation.
√ Easily create a consistent server architecture across development, testing, and production
√ A modern test environment to prevent bugs from spreading
√ Automated continuous integration tools that work well with CF
√ A portable development environment baked into your codebase… for free!
Learn about these and many more strategies in our free ColdFusion Alive Best Practices Checklist.