Search
Recommended Sites
Related Links






   

Informative Articles

Free Mortgage Software
The availability of a growing number of free mortgage software that a number of leading technological giants provide has come as a great boon to prospective home buyers. The availability of a growing number of free...

Midwest Patterns Goes Live Month Early with Encompix ERP Software
Midwest Patterns, Inc., Quincy, Illinois, completed their implementation of Encompix at the beginning of December 2005. "The Encompix consultants were a joy to work with," said Rob Stull, project manager. "They really know their stuff and...

Payroll Software Review-PayWindow 2006 Payroll System
ZPay Systems has been creating payroll software for over 20 years starting with ZPAY, ZPAY 3 and now PayWindow 2006. This payroll software is easy to use especially if you don't have any experience in accounting. It is loaded with all of the...

Software Development Outsourcing
Software Development Outsourcing has long passed the fad or buzzword stage. It is now an IT trend which has grown, matured and lived up to its potential. It has become increasingly popular with companies that wish to cut costs while gaining...

When is a Software Engineer Not a Software Engineer?
The title of "software engineer" has got to be among the most highly abused in the corporate high-tech world. It's also one of the most popular. And why not? It sounds a lot better than "computer programmer," and it looks much better on...

 
Ten Things I Learned the Hard Way: A Guide to Building Software

Somewhere in the mid 90's, my company, Brook Group, underwent rapid growth as it converted from being an advertising and design firm to a web services firm. We were running 3 shifts at the time and we only had one manager: me. Coming from a design background, I had a lot of (sometimes very difficult) lessons to learn about technology projects and managing folks who make technology products.
I imagined a way for me to post tasks for each employee without knowing HTML, to make managing the late night folks easier. My programmer created it and the lightbulb went on. Wouldn't it be great if we could create a series of these types of widgets to allow any user to post content to the web without knowing HTML? And that is when Tacklebox, my enterprise content management system, was born.
I have survived building 4 versions of Tacklebox, the latest of which was actually launched. I learned these lessons the hard way and I want to share them with anyone tackling that sort of project. Think of this as a fundamental, practical, elementary guide to building a software product.
1. Patience is a Virtue. If you are starting from scratch and you are not well-funded, and you plan on bootstrapping the development effort, realize that patience is a virtue.
2. Know thyself. This means know your limitations. If you don't know how to do software product development and you are bootstrapping and starting from scratch, get people involved who do know how to do software development, product development, project management, product pricing, product marketing... You be the entrepreneur, idea person, but don't try to head everything up yourself; you will fail out of the gate.
3. Make Something. Don't go to Venture Capital folks or potential partners with a flip chart and a pitch that sounds something like, "This is going to be really cool"... VCs want to see a working product. And do not go to VCs too early; you might lose your chance to get funded because you haven't done your homework.
4. Plan. Plan. Plan. Start the project with a plan. It can have basic elements like what this product is going to fix, what is the business problem, who is the audience, and on several levels, why it will be better than the competition? And yes, you do have competition.
5. Get the Right People involved. Whether you're hiring or looking for a partner, two guys in a garage are not the best choice for building a software product. Sometimes those two guys in a garage dress up good. Maybe they move into an office space and start a company like real grownups. You had better make sure you can identify the difference between a real company and two guys in a garage that just graduated. Ask them if they have business insurance, errors and omissions insurance; ask them for Service Level Agreements. Talk to them about CMM levels.
6. Don't use proprietary anything to build your software. You'll be tied to that proprietary code forever, or it will cost you a small fortune to have it removed from your source code.
7. Independents are independent. They will hold you hostage one day. Don't hire independents to build your product. If you hire a team to build your product, focus on hiring "company people."
8. 95% of your success will come from hiring the right and best people, 5% by training people. Don't hire to train, unless you have the best and brightest around to do the training, and a multi-year commitment from those who are getting trained that they will stick around!
9. A caution about partnering. You don't want your intellectual capital sitting in the brain of a contractor. Make sure that whatever you do, you own your source code outright. You need to hire the right people and make sure that their knowledge -- your capital -- stays at home.
10. Always learn from your mistakes. Sometimes we joke about when we are going to stop learning lessons the hard way. Probably never, but make sure you learn each mistake, so you don't repeat it. And just when you think it's safe, new ones will be right around the corner.
About the Author
Kara Brook is the President and CEO of Brook Group, a Web site development firm near Washington, DC. Recognizing the need for user-friendly Web site management, she conceived Tacklebox, one of the industry's most exciting content management systems.

Sign up for PayPal and start accepting credit card payments instantly.