10/29/10

How to Manage Seasonal Fluctuations in Sales

As the holiday season approaches, many small and mid-size retailers are looking to better manage seasonal sales by studying their supply chains, buying the right inventory, and limiting their exposure to leftover merchandise.

A lackluster 2009 holiday sales season came on the heels of a ruinous 2008, when retail sales plummeted 3.9 percent. This year, the National Retail Federation (NRF) is hopeful that retail sales will increase a moderate 2.3 percent this year to $447.1 billion.

As retailers prepare for seasonal sales and how to accommodate fluctuations between Thanksgiving and Christmas, some things are different this year. Businesses are tech-savvy and trying to leverage new ways to drive sales, such as reaching consumers on their mobile phones and providing ways to accommodate the growing numbers who want to be able to shop 24/7.

But some aspects to managing seasonal sales fluctuations always manage to stay the same, year in and year out. "For most retailers, that fourth quarter is extremely important for their overall profitability," says Dan Butler, NRF's vice president for merchandising and retail operations. "For retailers, if you have a lackluster February or August, or back-to-school season, you can usually make up for some of that shortfall at other times of the year." That is often not true for the winter holiday season, however.

The following article will go over ways to plan for seasonal fluctuations in sales, how to best manage inventories, and when to start marking down merchandise.

Managing Seasonal Sales: Plan for Fluctuations

The best way to manage seasonal fluctuations, and maintain positive cash flows throughout the year, is to develop detailed sales and inventory plans before the season begins, use those plans to guide your merchandise purchases, and as benchmarks in-season to guide your progress, according to Ted Hurlbut, the principal of Hurlbut & Associates, a merchandising and inventory management consulting firm based in Foxboro, Massachusetts.

"Planning takes time -- time you may not think you have -- but invariably those independent retailers that take the time to carefully plan their sales and inventory are far more profitable than those that don't," Hurlbut says.

Before you begin the planning process, you will need to know what you've sold in the past, and how much inventory you had on-hand to generate those sales. That means using your point-of-sale (POS) system as a resource. "While effective planning goes far beyond merely what you did last year, this information is an important reference point," Hurlbut says. "You will need to extract that data from your POS system, by category and month. Unfortunately, many POS systems do not maintain a history of monthly inventory levels, so all you may be able to extract is sales data."

Second, you will need to determine the unit of measure that you will plan with. The two primary options are to plan in units or in retail dollar value. "In almost all instances, I recommend planning in retail dollars," Hurlbut says. "If you are going to do your planning in units, be clear in your own mind why units are the way to go in your particular business, and planning in retail dollars is inappropriate."

Managing Seasonal Sales: Building a Plan

To start, you need to develop a sales plan. For independent retailers, most sales plans are broken out by category and month. In some cases, especially highly seasonal businesses or categories, it may be more appropriate to plan sales by the week. "The question to ask is a very basic one: 'What is the most likely level of sales from stock (excluding special orders) by month (or week)?'" Hurlbut advises. Note that the question is what the most likely level of sales is, not what's the most you could possibly sell, he says. A business could easily get in trouble by planning on the latter.

The following are considerations in developing your seasonal sales plan:

  • Review the prior year's sales histories. Make allowances and adjustments for unusual events, such as weather, out of stocks, one-time promotions, etc., Hurlbut says.
  • Factor in the appropriate increase or decrease. Based on your current sales trend and your reading of the sales potential of the category for the upcoming season, you may forecast for higher or lower seasonal sales. For larger categories, it may make sense to break the sales plan down further, by sub-categories, styles or vendors.
  • Marketing plan. How are you going to reach potential customers? In addition to advertising and direct mail, the Internet has opened up a wealth of new ways to reach customers. Hopefully, all year long you have been collecting customer e-mails so that you have a manageable list of contacts. Some companies are also toying with location-based advertising to reach customers when they are near by a store and lure them in with promotions.
  • How to differentiate your business. One common issue for many independent retailers is how to remain competitive with national chains in your market and other retailers, particularly if they offer customers low prices. Butler suggests thinking along the lines of these questions: "What makes my store unique and different to customers? What makes me distinctive? What do I offer that they don't?"
  • Hours and staffing levels. Determine whether you need to add seasonal staff to help make this a banner year, or work with staff to stagger schedules so that your business can be open when people are available to shop -- which may involve more nights and weekends. "Many retailers are adjusting their hours. Maybe they close on Mondays or are only open Monday afternoon," Butler says. "For many retailers, Sunday has becomes the second busiest day of the week."

Managing Seasonal Sales: Buying Inventory

For many independent retailers, the largest asset on the balance sheet is inventory. "Inventory is the 'active' asset, which generates the business's sales and profits," Hurlbut says. "But without careful planning, inventory can easily get out of line, resulting in heavy markdowns due to overstocks and, ultimately, serious cash flow problems."

For retailers whose businesses are subject to seasonal fluctuations, the challenge of managing inventory levels is magnified. Seasonal fluctuations in sales levels require that inventory levels anticipate both the seasonal peaks in sales as well as the seasonal ebbs.

Plan inventories
Once a sales plan has been developed, the next step is to build an inventory plan. "The question to ask is this: 'How much inventory do I need at the end of each month to support the next month's sales, as well as maintain effective merchandise displays?'" Hurlbut says. In some cases, the ending inventory may need to support more than just one month of future sales.

It makes little sense to bring in more inventory at any given time than you need to set your displays, support your planned sales until the next vendor delivery, and provide a safety stock in the event of an unexpected sales spike or a late delivery, Hurlbut says. Committing to inventory too far in advance, and then bringing it in all in one shot is one of the surest ways to find yourself over-stocked down the road.

Plan discounts ahead of time
There are two primary types of discounts a retailer might take:

  • Promotional discounts during the season
  • And clearance markdowns as the season winds down.

Planning these discounts goes hand in hand with planning sales and inventories if you are using retail value as your unit of measure. "A discount, just like a sale, decreases the retail value of your inventory on hand," Hurlbut says.

Keep in mind that any retailer needs to protect gross margins and cash flow when planning clearance markdowns. "If you plan the date of the first seasonal markdown before the season even begins," Hurlbut says, "you can plan the inventory you want to have on hand at that point in time, and thus your markdown percentage.

If you've planned sales by month, ending inventories by month, and discounts by month, it's easy to calculate how much inventory to bring in each month, by category. Hurlbut says retailers need to bring in enough to cover that month's planned sales, planned discounts, and planned ending inventory, less the prior month's planned ending inventory. "In this way, for example, a buyer can know before a season begins how much inventory to plan on bringing in each month of the season," he says.

Once inventory receipts have been planned, the next step is to plan how to execute those receipt plans. Ask yourself: How much of my receipt plan do I want to commit to buying now, before the season begins?

"The pre-season commit percentage is the percentage of the season's receipt plan that you commit to before the season begins," Hurlbut says. "It's the bets you place before the season has even opened up." Every seasonal retailer has to place these bets. A seasonal retailer has to commit to enough inventory to set displays and cover early sales, sales which are a critical early indicator of the season to come. Similarly, a retailer frequently has to commit up front to merchandise scheduled for delivery later in the season to assure they'll have core stocks of key items and categories at that critical time.

Managing Seasonal Sales: Take Markdowns Expeditiously

The process doesn't end once the holidays are upon us. It's a continuous process. In-season planning is even more important. "As each week goes by, and sales trends begin to develop, adjust your sales plans accordingly, and adjust inventory plans for those updated sales plans," Hurlbut says.

When sales start to fall behind plan, it's very tempting to think that you'll make up the sales later in the season. But when sales fall behind plan, inventories begin to back up as well. When inventories back up, pressure builds on prices, which, if not addressed, can lead to steep markdowns that decimate margins. The first thing to do is adjust future receipts to get inventories back in line, but it usually doesn't end there.

"When sales are soft, the weakest of your items or categories will usually suffer disproportionately," Hurlbut says. "They simply aren't as desirable at their full retail price." As soon as you identify these items, mark them down. A 25 percent markdown, for instance, taken immediately, will accelerate their rate of sale and get you out of that inventory, he adds. But if you wait until clearance time, when everything is marked down, it may take 50 percent to 75 percent to clear the inventory.

Look behind the sales to understand why you are taking markdowns. "You have to be aware and smart. Don't just say, 'It's not moving fast enough,'" Butler says. "Why is it not selling? Do customers not like it? Or are they not seeing it?" Make sure that you are pricing the items right to begin with, particularly in this economic climate. "You want to be very sensitive about how you price merchandise," Butler says. "The customer is not looking for everything to be marked down. They're looking for good values, and there is a balance between value and price."

Managing Seasonal Sales: Recommended Resources

National Retail Federation's 2010 Holiday Sales Headquarters - Retail association's website for seasonal sales statistics and holiday survival guide.

RetailSales.net - A collection of resources aimed at helping independent retailers develop the skills required to thrive in today's intensely competitive business environment.

The Retail Owners Institute - Self-help resources for retail owners.

http://www.inc.com/guides/2010/10/how-to-manage-seasonal-fluctuations.html

10/28/10

How to Use EBITDA to Value Your Company

It's not the only number potential buyers look at, but EBITDA will give you a solid idea of how they'll start evaluating your business.

Looking to the future, can you envision a time when you might want to sell your business?

"The best way to build a company is to build it as if you're going to sell it," says veteran entrepreneur and Inc. columnist Norm Brodsky. "It has to be built to last."

One place to start measuring your company's potential value in a sale is determining your EBITDA, or earnings before interest, taxes, depreciation, and amortization. It's certainly a mouthful, but the equation itself is really quite simple: subtract expenses from revenue (excluding interests and taxes) without depreciation and amortization (what you pay for tangible and intangible assets). The remaining number paints a basic picture of your profitability as well as your ability to pay off what it owes.

"It's a quick and dirty way to assess the firm's ability to pay back interest or debts," says Gil Sadka, assistant professor of accounting at Columbia Business School in New York. Sadka calls EBITDA a "quasi-estimate" of your free cash flow, a more traditional and comprehensive assessment of a company's performance. You can get a more accurate reading of your free cash flow by subtracting out new capital expenditures for that year. Once you get this dollar amount, simply build upon the foundation to see how well you are doing.

Understanding EBITDA: Add and Subtract Value

It's unlikely that you as the business owner would be fiddling around with your company's EBITDA. Still, before you sit down with the buyers or investors who will, it's important to understand what they'll be looking at.

Essentially, EBITDA on its own makes for a fairly futile statistic. There is, after all, a very good reason why you depreciate and amortize assets. To simply put those charges back in to earnings may give an unrealistic measure of your finances.

That's where the need for adjustments comes in. Since EBITDA is technically a non-GAAP figure, meaning it does not conform to generally accepted accounting principles, you can make these adjustments almost wherever you see fit. As just mentioned, you might need to devalue assets like old equipment within the overall number. Likewise, you also might have failed to collect some accounts receivables from clients. These result in a net-negative for your operating cash flow.

By the same token, you can also add both tangible assets (like equipment) and intangible assets (like your management team and employees) to the figure. It's typically through this addition process that you arrive at your company's value as a multiple of EBITDA. Let's say you pay yourself a $300,000 salary for a position that someone – like a buyer or competitor – could do for $150,000. That buyer would then add that extra $150,000 back into the value of your company once its absorbed. In this case, the number you arrive at is a form of adjusted EBITDA called "field" EBITDA, where you take into account subsidiaries and components of a company that can be absorbed for little to no cost. The term most often applies when selling the business to one in a similar field, in which case the management team, office space, and other business expenses may fall by the wayside during the takeover.

Understanding EBITDA: Seek Outside Opinions

You can tinker with the formula all you like. But how will you know what calculations are safe to assume and which aren't? How do you put a price tag on your company's competitive advantage, list of customers, and your brand as a whole?

There are endless variables and measurements that factor into your company's worth. One way to gauge interest is to approach potential buyers in your industry. Five years before selling his records storage business, CitiStorage, Brodsky did just that. At first the buyers' responses were curious, Brodsky recalls "They laughed and asked, 'Well, why would we do that?'" Yet eventually he convinced them that he'd consider their interest in the imminent sale of his company.

After getting this valuable input, Brodsky reformed the areas of his business that could pump up his multiple of EBITDA or purchase price. This meant taking care of contracts that were out of date and fortifying his management team. In the end the strategy worked: Brodsky sold CitiStorage in 2007 for 10 times the value of EBITDA. "I wasn't planning on selling for quite some time, but I really wanted to know how I could get the most for my company," Brodsky says.

There are a number of other resources you can use to estimate the value of your company. Business Valuation Resources, for instance, provides you with comparative and historical information within your industry. Experts agree, though, that EBITDA does depict an accurate comparison across markets because of the exclusion of interest and taxes that vary by sector. Making the right changes – cutting unprofitable costs, expanding sales, or reaching new markets – can have a significant effect on EBITDA as a measure of your performance.

At this point a simple question remains: which year's EBITDA are we talking about, the current, past, projected, or a combination? Buyers, of course, will be pushing for a lower valuation and might look at an average of EBITDA over, say, three years as the base number. To get the highest valuation, you'll want to bolster gains in the present and future. To do so, be sure to exceed your business plan and monthly goals, create a solid sales stream into next year, and get clients on-board with long-term contracts. Don't exaggerate too wildy, though: sophisticated buyers will always cut through the grease.

Understanding EBITDA: Proceed with Caution

EBITDA, of course, shouldn't be the only consideration when it comes to your company's value and strength. You'll want to factor in a handful of other metrics like capital expenditures, synergies, and other financial accruals, though you may want to leave those evaluations to the accountant.

Nonetheless, it's important to understand that EBITDA has its flaws. You don't want to put too much emphasis on it when looking at the strength of your business because it doesn't consider risks like the potential for future growth and your mix of customers. Having three huge customers that each account for 25 percent of your business, for example, is a lot riskier than having a mix of smaller customers that only account for 6 percent each. Diversity among clients and demonstrable potential to capture greater market share will both add value to your business in the long run.

"Every time you make an adjustment, you have to be careful on the other side," Sadka says. In essence he means you have to be able to mathematically prove why adjusting for client diversity, or good will, or future sales, makes sense. "You have to explain every adjustment, and why there is real value there."

Interest rates also play an important role in determining the multiple of EBITDA you warrant as well. This is why price-makers or lenders divide your interest payments by EBITDA to find out your risk in paying back debts. The more cash you have available to pay off interest, the less risk you take on as a company, and thus the greater your value. In addition, as interest rates rise, your value tends to fall because it suddenly became more expensive to pay off those debts. In the fortunate instance they fall, however, your value will only rise – thereby presenting the most opportune time to make your sale.

http://www.inc.com/guides/2010/10/how-to-understand-earnings-or-EBITDA.html

10/24/10

Excel Tip: Count the Number of Occurrences of a Single Character in One Cell

I am currently helping a partner with a conversion from QuickBooks to Dynamics GP--specifically to migrate QuickBooks transaction Class data into GP Analytical Accounting transactions. For various reasons, standard, and even non-standard migration tools have been unable to convert the QuickBooks data, so we've been forced to export the data and import it into GP.

The eConnect integration I developed works great, but one of the annoyances has been preparing a QuickBooks export file for import to GP. If you are familiar with QuickBooks exports, you know that when data is exported to Excel, it typically looks quite presentable, but is not exactly import-friendly.

While trying to map the QuickBooks chart of accounts to the GP chart of accounts, I had to determine how many "levels" the QuickBooks account had. So for instance, there might be Account: Sub-Account: Department: Location: Expense: Sub-Expense. Out of the pile of QB accounts, I needed to determine the maximum number of "levels" the accounts had. Since there is a colon between each level, I just needed to count the number of colons in the cell, and then add one. Simple!

But I am pretty sure I've never had to count the number of occurrences of a value in a single cell. I've used the SEARCH function to determine whether a value exists at all, but never had to count the occurrences of that value.

With Google to the rescue, I stumbled across a Microsoft Support article that provided several examples of how to count the occurrences of a string in an Excel file.

http://support.microsoft.com/kb/213889

And here is the formula for counting the number of occurrences of a character in a cell:

=LEN(cell_ref)-LEN(SUBSTITUTE(cell_ref,"a",""))

Pretty darn smart. Maybe, on a good day, with enough sleep, I could have come up with something that elegant, but I am pretty sure that article saved me alot of time.

10/8/10

Driver killed in crash with dump truck on Highway 292

A man died Thursday afternoon after his car veered into the path of a dump truck on a Spartanburg highway.

The wreck happened about 2:15 p.m. on Highway 292 near New Cut Road, just west of Inman.

According to the South Carolina Highway Patrol, the driver of a 1997 Ford Mustang was headed west toward Lyman when he crossed the center line and hit a dump truck. The truck overturned, spilling a load of gravel onto the shoulder of the road.

The driver of the Mustang was trapped in the car and pronounced dead at the scene. He was not wearing a seat belt.

The man's identity is pending the notification of his family, Spartanburg County Coroner Rusty Clevenger said Thursday night.

The driver of the dump truck, William Brian Henderson of Moore, was not injured in the wreck.

10/5/10

How to Find Out What Your Business Is Really Worth

Whether you want to sell or not, it’s natural to wonder what your business could fetch on the market. Entrepreneur John Warrillow offers up some resources.

Years ago I owned a little marketing and design agency and would rely on the multiples the big advertising agency holding companies got on the stock exchange to figure out its value. I’d assumed that, because Omnicom was trading at 22 times earnings, my little agency with $150,000 in profit was worth around $3 million.

I got a wake up call at an industry event when I found out that, in actuality, small ad agencies with less than $5 million in revenue were lucky to get three or four times pre-tax profit—much of which was tied to achieving goals in the future.

Since then, I have started a couple of other businesses and gotten a bit better at estimating their value. It’s still tricky and ultimately a business is only worth what someone will pay for it. But I found I could cobble together a decent estimate through a few resources:

A fancy lunch with a professional

When I went to sell my research company, I bought lunch for three mergers and acquisitions professionals. Each had experience selling research companies similar in size to mine. Their back-of-the-napkin estimates all ended up being plus or minus 25 percent of the actual selling price.

Business Valuation Resources

Business Valuation Resources (BVR) gathers historical information about businesses that have sold recently and comes up with some industry norms.

I found BVR to be a good start, but oftentimes its descriptions of industries were too generic to make for good apples-to-apples comparisons.

M&A firm newsletters

Some mergers and acquisitions firms publish newsletters that will describe the kind of multiples being paid on deals they have done. For example, when I was preparing to sell my conference business, I looked at the newsletter from the Jordan Edmiston Group, one of the top M&A firms in the conference business.

I found that the problem with the M&A firms as a source for valuation data is that they tend to overemphasize their biggest deals. M&A firms get paid on deal size and spend a lot of their time trying to convince the world (and prospective sellers) they do big deals. It’s also the way they measure themselves and earn bragging rights over cocktails. Unfortunately, it ensures they (and their newsletters) boast about the one deal they did with a valuation of $100 million instead of the 15 deals they did for businesses worth less than $20 million.

Bizbuysell.com

Bizbuysell.com is the largest online marketplace for businesses for sale. I think of it as an eBay for businesses. If you own a dry cleaning shop in Seattle, you can advertise it on bizbuysell.com. Likewise, if you want to buy a retail business in Nashville, you can query bizbuysell.com by industry and identify businesses that meet your specs.

The downside of bizbuysell.com is that it tends to attract smaller, main street businesses—which is great if you own a coffee shop or lawn maintenance business, not as helpful if you own a larger, unique business.

In the end, I have found using all four of these sources usually enables me to estimate a company’s value within 20 percent of the final selling price. Not perfect, but a lot more accurate than looking at what billion dollar public companies trade for on the stock exchange.

http://www.inc.com/guides/2010/10/how-to-value-your-business.html

10/4/10

30 Smart Time Management Tips and Tricks

Yes, yes, yes, you are very busy. That’s why you meet deadlines at the last minute. Or after. That’s why you cruise into meetings 15 minutes late. It’s why you forget details or schedule two tasks for the same time or have 500 unanswered emails in your inbox. It’s why you can never take a vacation, or even a full weekend off.

Or is it? Maybe poor time management is simply a bad habit. Maybe you can learn to organize and control your time better. Because let’s face it, time management is really self management.

Consider taking a look at these classic time management tips. One, or two, or three, may work for you:

1. Obvious tip one: Make a to-do list (electronic or paper). Put the most important item first and work down from there.

2. Obvious tip two: At the end of your day, review what you've done and make a new list for the next day. In order of importance.

3. Be ruthless about setting priorities. Make sure that what you think is important is really important.

4. Learn to differentiate between the important and the urgent. What's important is not always urgent. What's urgent is not always important.

5. Carry your to-do list with you at all times.

6. All things being equal, do the hardest, least fun thing first. Just get it over with!

7. If a task takes less than five minutes, do it right away. If it takes longer, put it on the list.

8. Deal with E-mail at set times each day, if possible. If you need to check messages as they arrive, limit your sessions to less than five minutes.

9. Schedule some uninterrupted time each day when you can concentrate on important tasks, even if you have to take refuge in a conference room or at the library.

10. Another approach: Before you check your E-mail or voicemail or get involved in the minutiae of the day, devote a solid hour to your most important project.

[See 50 Tips for Surviving Your Worst Work Days.]

11. For a couple of days, take an inventory of how you spend your time to find out where and how you're wasting it.

12. Eliminate the time wasters (e.g., if personal phone calls are taking up too much space in your workday, turn off your cell).

13. Cut big jobs into small chunks. Order the chunks by importance. Work on one chunk at a time.

14. For big, complex tasks, schedule wiggle room. Projects tend to take longer than you think/hope. Give yourself a buffer.

15. If part of your day involves routine repetitive tasks, keep records of how long they take and then try to do them faster.

16. Go one step further and set specific time limits for routine tasks. Work tends to fill whatever amount of time you happen to have.

17. Establish smart efficient systems for all your tasks, big and small, and stick to them.

18. Value your time. People who wander into your workspace to chat do not respect you or your schedule. Set boundaries.

19. When and where you can, say no. Trying to do everything everyone asks you to do is a recipe for failure.

20. In general, guard against overscheduling yourself.

[See 39 Ways to Annoy Your Coworkers.]

21. Bottom line to items 19 and 20: Learn to delegate, wherever and whenever you can.

22. Aim to handle pieces of paper only once. Same for E-mails. Read 'em and deal with 'em.

23. Reward yourself for completing tasks on time. No fun stuff until the work stuff is done.

24. Organize and declutter your workspace so you don't waste time looking for things.

25. Schedule demanding tasks for that part of your day when you're at your peak.

26. Group related tasks (e.g., sort papers on your desk and then file them). It's more efficient.

27. Use down time (e.g., waiting for meetings to begin) to, for example, update your to-do list or answer E-mails.

28. This advice applies to life outside work, too. It's better to be excellent at a few things than average at many.

29. Don't be afraid to get projects done early. It takes them off your mind, and it doesn't mean you'll just be given more to do.

30. Create the business environment that works for you. Adjust the lighting, turn off your E-mail pinger, get that cup of tea. Set the stage and get to work.

http://www.usnews.com/mobile/blogs/outside-voices-careers/2010/9/28/30-savvy-time-management-tips-and-tricks.html

10+ ways to screw up your database design

Database developers often fall into certain design traps — and it’s generally the users who pay the price. See how you can improve your design process and build a more flexible, reliable, and efficient database.

Database developers are people too — you make mistakes just like everyone else. The problem is, users are the ones who pay for those mistakes when they have to work with slow, clunky applications. If you’re part of your company’s IT team, a mistake could cost you your job. If you’re a freelance developer, a bad database usually means a lost client — and even more lost business, if word gets around. Here are some common design pitfalls to watch out for.

Note: This article is also available as a PDF download.

1: The data’s unimportant; it’s the architecture that matters

It doesn’t matter if your code sings, if you don’t know the data. You want the two to work in harmony and that means spending some time with the people who use and manipulate all that data. This is probably the most important rule: Before you do anything, you absolutely must get intimate with the data. Without that firsthand knowledge, you might make errors in judgment that have far-reaching consequences — like dragging the whole application to a complete halt.

A nonchalant attitude that the data isn’t important isn’t a sign of laziness. It’s a mistaken perception that anything that doesn’t work quite right early on can be fixed later. I just don’t agree. Doing it right from the bottom up will produce a foundation that can grow and accommodate change quickly. Without that foundation, any database is just a few Band-Aids away from disaster.

2: I can do anything with a little code

Some developers are so skilled that they can make just about anything happen with a bit of code. But you can take a good thing too far. One of my biggest complaints about the developers’ psyche is that they want to solve everything with code, even when a system feature exists to handle the need. They claim it’s just easier — easier for them, maybe, but not necessarily easier for those maintaining the database. My recommendation is to use the built-in features, when available, unless you don’t know the RDMS well enough. If that’s the case, see #3.

3: I can use whatever RDBMS you have

This brings me to the next point: Developers who think the system is unimportant because their coding ability is the only magic they need. Wrong! Unless your hands are tied, choose the best system for the job. You’ll save your client time and money and build a reputation as an honest and comprehensive developer. You might not have a choice, of course. If you find yourself stuck with a system you’re not familiar with or that’s just not right for the job, you might want to excuse yourself from the project. You’re going to take the fall for that decision eventually, even if you didn’t make it.

4: That doesn’t need an index

Very little affects performance like failing to apply an index or applying an index incorrectly. It isn’t rocket science, and there are guidelines that help. But many developers still avoid the task altogether. Without proper indexing, your database will eventually slow down and irritate users. Perhaps the only thing that causes as much trouble as no indexing is too much indexing.

There’s a lot of free information on indexing, but here are my simplest recommendations on the subject:

  • Learn about the index construction the RDBMS uses.
  • Learn when to apply those indexes for optimum coverage.
  • Run the RDBMS’s index analyzation or tune-up tool for hints.

5: This database doesn’t require referential integrity

Enforcing referential integrity protects the validity of your data by eliminating orphans (foreign keys that have no related primary key entity). For instance, in a sales database, you might have an ordered item that doesn’t point to a customer — not a good idea. If your RDBMS supports referential integrity, I recommend that you use it.

6: Natural keys are best

Relational database theory relies on keys, primary and foreign. Natural keys are based on data, which of course has meaning within the context of the database’s purpose. Natural keys are obsolete now that we have systems that can generate sequential values, known as surrogates. They have little purpose beyond identifying entities. (They are usually an auto-incrementing data type).

The superiority of natural versus surrogate keys is a hotly debated topic. Just bring it up in your favorite development list or forum, sit back, and watch the show. Here’s the nitty-gritty though:

  • Natural keys can be unwieldy and awkward to maintain. It might take several columns to create a unique key for each record. It’s doable, but do you really want to accommodate that kind of structure if you don’t have to?
  • Primary keys are supposed to be stable; nothing about data is stable. It changes all the time. In contrast, there’s no reason to ever change a surrogate key. You might delete one, but if you have to change a surrogate key, something’s wrong with your design.

The biggest argument for natural keys is one of association. Proponents insist that you need to be able to associate the key to the actual record. Why? Keys are used by the RDBMS, not users. The other most commonly heard argument is that surrogate keys allow duplicate records. My response is to apply indexes appropriately to avoid duplicate records.

I recommend surrogate keys — always, which is an invitation to hate mail, but it’s my recommendation just the same. I can think of no circumstance where a natural key would be preferable to a surrogate.

7: Normalization is a waste of time

Just writing that title hurts. Unfortunately, I do run into developers who don’t take normalization seriously enough. Normalization is the process of removing any repeating groups and redundant data to related tables. This process supports the RDBMS by theory and design. Without normalization, a RDBMS is doomed. Despite its importance, many developers make a cursory pass through the data and normalize very little, and that’s a mistake you should avoid. Take the time to break down your data, normalizing at least to 2nd or 3rd Normal form.

8: You can’t normalize enough

The previous point may seem to imply that normalization is the panacea of database design. But like code, too much of a good thing can slow things down. The more tables and joins involved in pulling data together into meaningful information, the slower the database will perform. Don’t overdo it — be thorough without being obsessed.

If your normalization scheme requires several tables to generate a common view, you’ve gone too far (probably). In short, if performance slows and there’s nothing wrong with the connection, the query, and so on, excessive normalization might be the culprit.

9: It’ll perform just as well with real data

Failing to test a database for scalability is a huge mistake. During the development stage, it’s acceptable to work with a scant amount of data. On the other hand, a few rows of test data just can’t provide a realistic view of how the database will perform in a production environment. Before going live, be sure to test your database with real data, and lots of it. Doing so will expose bottlenecks and vulnerabilities.

You can blame the database engine for choking on real data — nice work if you can get it (and the client believes you).

10: Only the most elegant code is good enough for my clients

This attitude is another example of how too much of a good thing can be bad. We all want to write the best code possible, but sometimes, good enough is, well, good enough. Time spent optimizing routines that already perform well and accurately can be money down the drain for your client. If the database runs great with a bit of ugly code, so what? Is the trade-off worth the extra time and money you’ll spend to optimize the code to its fullest? I’m betting your client would answer in the negative. I’m not saying write clunky code. Nor am I suggesting that you write code that performs poorly because doing so makes your job easier. I’m saying, don’t put your client’s money into optimizing something that works fine as is. Put that time into good design and a solid foundation — that’s what will support the best performance.

11: You can back it up later

If the data is important enough to store, it’s important enough to protect. Hardware breaks. Mistakes happen. A backup plan should be part of your development process, not an afterthought: I meant to do that. How often should you back up the database, where will you store those backups, and so on, are questions to answer up front, not after your client losses important data.

12: You promised that wouldn’t change

The client promised that a specific business rule would never change and you believed it. Never believe them! Don’t take the easy way out on this one; apply the best design and logic so that change is easy. The truth is, once users become accustom to the database, they’ll want more — and that means change. It’s just about the only part of the whole development process you can depend on.

13: Yes, I can give you the moon

Some developers are so ambitious. Wanting to give users everything they want in the first version is a nice sentiment, but it’s also impractical. Unless the project is small with a specific focus, producing a foundation version that can go into production quickly is preferable. Users won’t get everything they asked for, but they’ll have a production database much sooner. You can add features with subsequent versions. The client gets work quickly and you get job security.

http://blogs.techrepublic.com.com/10things/?p=1855