V. B. Velasco Jr, Ph.D. is a senior electrical and software engineer at a small biotech firm that provides ELISPOT plate readers, immune-characterized PBMCs and immunogenicity research.
Let's say that you have a software project that's under severe time pressure. Let's say that this deadline is so tight that you already know it will involve many late nights of black coffee and frenetic programming. What can you do to make this process go faster?
I honestly don't know, since the correct answer will depend on one's individual circumstances. However, I can tell you how many programmers do respond under such circumstances. They decide to save time by skipping over the software planning and design phase, and immediately start coding away.
To an inexperienced or otherwise undisciplined programmer, this seems to make sense. After all, the finished product is what truly matters, right? The customer doesn't care about flowcharts, class diagrams or software architectures. All they want is something that works.
It seems to make sense, but it's a foolhardy approach. That way lies madness. We've all heard that an ounce of planning is worth a pound of cure, but in the world of software development, this adage is often forgotten.
If a real estate developer needs to get a house built quickly, does he save time by skipping over the architectural design phase? Does he decide to dispense with blueprints, and just start laying down concrete? Of course not. He knows that the results would be chaotic, and that work will progress more slowly without careful forethought and a concrete plan.
Yet that's the approach that many people take when it comes to software. They decide to just start coding away, thinking that this makes the software development process more efficient. On fairly simple projects, this might work. On anything of moderate complexity though, such an approach is doomed to fail. Sure, you may save time at first. However, without a concrete software plan and a carefully considered design, problems are bound to catch up with you before long. Many of these problems won't become clear until the testing phase comes around, and by then, it may be too late.
Sadly, such reckless thinking is often encouraged in the corporate world. Due to time constraints, a misguided manager may instruct his team to skip over the design work and just start hacking away. This makes the team seem focused and productive, but this strategy can wreak havoc on the project timeline. What's more, the resultant code is often a tangled, poorly documented, chaotic mess. If this software must be maintained for years to come, then you have a recipe for disaster.
Mind you, I'm not saying that an elaborate design is always necessary. If time is short, then one might not have the luxury of an intricate software plan with exhaustive design documentation. However, one should at least have a general software architecture laid outone which is detailed enough to make the software development process smoother and easier. Programmers rarely err on the side of over-planning, but they frequently fall into the trap of insufficient design detail. Don't make this mistake, if you really want to save time.
- Related Articles
- Related Q&A
- Custom Software Development and Programming: The New ‘In’ Thing
- Booting a New Business - On the Software Development Highway
- Redundant Code: A Threat to Custom Software Development
- Exploring The Software Development Field
- Software Development Process and Its Importance
- The Growing Trend Of A Computer Programming Degree
- Standing Strong With A Computer Programming Degree
- The Business of Software Development - Not for Nerds Or Techno Geeks




Writing plugins for RDesktop
By: Apriorit Inc. | 01/12/2009This article was mostly written for Linux developers. The article gives a method of writing out-of-process plugins to open source software – i.e., plugins that will work as a part of the software but will run in another process, so their code may stay closed.
ASP.Net Listview Databinding
By: pons_saravanan | 01/12/2009Databind the ListView with database using ADO.Net datatable
Your mobile phone is too important not to have mobile antivirus software
By: Tom | 01/12/2009Mobile phone antivirus software and mobile phone antispam software have become important and popular features to have on your mobile phone these days.
A reason to smile for All PHP Developers
By: Mahendra Sharma | 28/11/2009The PHP developers have full right to smile today due to their choice of career as PHP programmers. This article is highlighting some key factors on how this language is bypassing all other in the website development world.
How to Solve the Registry Errors
By: janson | 27/11/2009The Registry of Windows is the most important for the working of the computer system due to it stores valuable data which can cause serious loss in performance of the system. The registry files of Windows are set to save the configuration settings of Windows and they are spread around on the hard disk. To solve the errors of them was absolute a Herculean task.
Gravity Jack Software Studio is a new venture that is pushing the envelope in the mobile software development arena
By: Adam Chronister | 26/11/2009Gravity Jack opened offices this month in Liberty Lake and is currently filing patents regarding a tightly-kept secret project that is expected to revolutionize the way people interact with mobile computing platforms such as Apple’s iPhone and Google’s Android.
PHP and Open Source, Keys to build complex but Affordable websites
By: Mahendra Sharma | 26/11/2009Gone are the days when high tech programmers and high profile companies were required to be engaged to develop a complex system on web. Open Source and especially PHP developers have changed the scenario. Every other day you can find new software available as open source developed by PHP programmers. Essential thing is such software is available for free or at nominal cost.
Java Application development India
By: Rightway Solution | 25/11/2009Java is most suitable for creating Enterprise Applications for its flexibility and control. JAVA is used to create wide range of application with an extensive functionality.
Are H-1b Workers Responsible for Lowering American Salary Levels?
By: V. B. Velasco Jr. | 16/03/2008 | CareersDisgruntled tech workers often allege that H-1B work visa applicants are responsible for reducing wage levels for hardworking Americans. How much of this claim is true and how much is hype?
The High-tech Manpower Shortage: Real or Mythical?
By: V. B. Velasco Jr. | 01/03/2008 | EconomicsSome say that the country needs more programmers and engineers in order to maintain its competitive edge. Others say that this is a myth-- that there are plenty of qualified Americans who can do the job. In the author's opinion, the reality is somewhere in between.
Five Time-saving Ways to Reduce Winter Heating Costs
By: V. B. Velasco Jr. | 01/03/2008 | Home & FamilyReducing one's heating costs can be time-consuming work. In this article, the author talks about some quick and simple tricks that he has used when he did not have a lot of time to spare.
How Elisa Testing and Flow Cytometry Can Complement Elispot Assays
By: V. B. Velasco Jr. | 02/12/2007 | TechnologyThe ELISPOT assay is among the most sensitive of tools that are available in immunology research. It can be even more effective when used in conjunction with ELISA testing and flow cytometry. How? Find out here.
Something to Avoid Saying in a Singles Profile
By: V. B. Velasco Jr. | 02/12/2007 | DatingThere's a word that people use all the time in their singles profiles... and it's generally best avoided. What is this word, and why should you leave it out?
A Few Tips on Social Dance Etiquette
By: V. B. Velasco Jr. | 02/12/2007 | HobbiesThe social community dance... it's not for the faint of heart. A few simple tips can make the experience more pleasant for everyone.
A Quick and Simple Tip for Gaining Customers
By: V. B. Velasco Jr. | 04/08/2007 | SalesWant to ingratiate yourself to prospective customers? This one simple tip can help make sure that they remember you in a positive way. It ultimately requires nothing more than noticing the initials after their names and making use of them.