In today’s world of rapid development of new technologies, an idea is often all it takes to completely reinvent the way we produce, consume, and live! The life cycle of new ideas follows a predictable pattern: birth, testing, development, testing, implementation, and testing again. Every step of the way, new ideas should be discarded if unfeasible, but the further down this life cycle they get, the more valuable the new project becomes to its “parent.” Similarly, a new idea may not be entirely thought out (often because of a lack of expertise or adequate advice). This can bring a lot of problems in the future and may cause the collapse of a project altogether.
Software engineers call these two problems babies & horses and they cannot be overstated when it comes to software development. A good software engineer will provide adequate advice regarding a new project, paying particular attention to these two issues in the software development life cycle. Here is a quick guide to help you identify the two problems as soon as they arise.
We All Love Babies (and are very afraid to drop them)
We often have the tendency to treat our new idea (or product) as our baby. We nurture it, we help it make its first steps, we protect it vigilantly. We get to a point where we are so completely in love with our idea that any suggestion becomes an attack, and any assistance is seen as a threat to its life. Of course by this point, our ability to view the new idea critically is close to zero. We are blinded with love and are unable to see the drawbacks involved this idea of ours. We cannot objectively calculate the real benefits it will bring either. The responsible software engineer should be able to tell you when a new or existing product should be reconsidered or eliminated altogether. A good product is one that was not spared every possible revision, and all the testing and debugging it could get.
Horses Need Grooming (and the right stable! — says the software engineer)
The “horse” project is equally critical to be identified early. Consider for a moment that you own a horse and one day decide to bring your horse into your second-floor apartment. Sure, it may be possible to do, but it will not be the most feasible plan. The helpful software engineer will tell you that your project is a horse; and the horse is a very specific type of animal. It requires constant grooming, a special type of diet, and the adequate lodging to keep it happy. You will need to plan for its upkeep ahead of time, and you will need the infrastructure to be appropriate — especially if you plan on acquiring new horses in the future!
So there you have it, two problems with new projects that can have serious consequences if not identified in a timely manner. Is your project a baby or a horse? Seek advice from a good software engineer today.