| JeremyMorgan.com Newsletter |
Jeremy's Programming Blog - Cheap, Fast or Good. Pick any Two
This old saying in Programming holds true, and I’m still amazed at the amount of folks out there who still don’t get it. The matrix is quite simple yet so many folks want it all. Programmers want to build beautiful awesome software built at their own pace, and get lots of money for it. Managers want beautiful awesome software immediately at the lowest price possible. I think there is a way both parties can be satisfied. Constructing Software is CraftsmanshipThe biggest mistake managers often make is thinking that all software is created equal, it’s a commodity and [ set task ] should be completed in [ set time ]. This is a common yet expensive mistake. Software building is craftsmanship just like building a house, furniture or many other products out there. By drawing this parallel you can better understand how to get what you want. Let’s think about furniture for a minute. What’s the difference between a handcrafted Italian Leather sofa and an Ikea piece together couch? Thousands of dollars for one thing, but why? Because of the process it takes to make it. Italian Leather SofaThe Italian Leather Sofa is assembled by hand out of the finest materials. The wood frame is made of high quality wood that is expensive and lasts a long time. It’s cut with detail and precision, and carefully assembled so it will not come apart easily. Then each piece of leather is cut and inspected, sewn together and put over the most comfortable springs and stuffing that they can find. It is put under a microscope to ensure its comfortable, looks good and can last 100 years or more. Ikea Self Assembled SofaThe Ikea model is much different. There are machines that mass produce the sections of cheap, readily available wood. If it isn’t broken and completely decayed it passes. They are slapped together and cheap readily available stuffing, the cloth is stapled over and it flies out the door. They don’t even assemble it for, but that’s your job. Two very different modelsYou have two very different products made in entirely different ways. One sofa is made from the finest materials by skilled craftsmen (or women) and the other is made of commodity items and people pushing buttons on machines. So which one is better? The answer is neither one. The sofa that’s better is the one that is better for your particular application and ability to afford it. If you don’t have $10,000 for a sofa you can at least plant your butt in something that won’t break the bank. Or maybe you don’t care enough about sofas to spend that kind of money. Maybe sofas aren’t really that important to you and you’d rather spend it on a boat, or you have kids! Those who have the means and desire for a certain level of quality will purchase the handcrafted sofa and gladly fork over $10,000 for it. They’ll wait for it to be delivered and pay the premium rather than expecting to take it home for $200 bucks in 15 minutes. Why isn’t software treated the same way? How to Build Your SofaIf you’re in charge of a software project, you have to ask yourself some pretty simple questions, and they’re the same questions you’d ask when purchasing a sofa.
With software you have a lot more options and things to think about but the idea is very similar. Things that are hard to control
These are difficult to control in most companies. Unless you have the luxury of a giant budget, tons of high quality programmers and “whenever” deadlines, these are challenges you’ll have to work with. Welcome to the real world. Things that are easier to control
You need to focus on the things that are easy to control and make an effort to work on it. Focus is the keyI consider this step the most important part of the things a manager can control. Focus is more important than the talent of the programmers in my opinion. You can take the best programmers in the world and overload them with one-offs and get junk. You don’t see doctors performing heart surgery while talking to another patient about tonsillitis while answering the phone at the front desk. Focus is important. Overloading a developer isn’t “pushing them to their peak” it’s shooting yourself in the foot. The formula for your sofa
SummaryInstead of relying on wishful thinking, a proper analysis of what you have and what you can do will go a long way. You don’t have to be in the software industry for long before you’ll see a team of a few people who crank out awesome software way ahead of a big group of programmers that are mismanaged. Just use common sense and determine where you should put your focus. If you want it fast and cheap, you’ll have to expect low quality and maybe that’s ok. If you want fine art, get ready to spend some money and wait a few months. The best place to be is somewhere in the middle. If you’re building a small widget to show the local weather on your website fast and cheap is fine. If you’re building a shopping cart and sales portal with customer data you may want to give it some more time and let the programmers build it right. It’s worth it when it works. More Recent Articles
Thank you for subscribing to my updates! Follow Jeremy on Facebook | Twitter | Linkedin |
| Your requested content delivery powered by FeedBlitz, LLC, 9 Thoreau Way, Sudbury, MA 01776, USA. +1.978.776.9498 |
No comments:
Post a Comment