SelecTViews
With Styphen Wynkoop
All the news of the day that counts is provided here.. also, find out about normalization, what types of skills might be good for specialization and upcoming learning events…We keep you informed and up to speed on tips tricks and more.
[Watch the Show]
Last Day to Vote
Today is the last day to vote for the TOP (10) Worst Things to Do in a Database…add votes for your "Worst Three" to the list.
[Vote Now]
What if a Bad Thing is Not a Bad Thing?
David has taken time to write extensively regarding items listed as bad practices where he finds exceptions. I appreciated his comments. I’d like to share them with you one at a time, and add some thoughts to consider of my own. Certainly others of you are welcome to add your thoughts as well. I definitely don’t have a corner on the only way to do anything.
Here’s the first non-vote from David…
-1 vote for #1 “Not Follow DB Design Methodology”
Heretical I know, but not every environment, application, or use-case warrants or can afford an exhaustive data design endeavor. Forcing users to self-manage business-critical data in Excel and other self-service personal productivity tools because the “official” system doesn’t exist or isn’t ready (because exhaustive database design can’t be completed) is without a doubt a greater sin. Database definitions are stored in magnetic memory, not stone. Design can be modified: yes, at a cost… but a cost that may be lower than forcing users to go without a solution.
First let me say how much I value the David’s willingness to be "heretical". David points out something often lost in software development. A rigid policy that does not meet company needs in a timely fashion can actually be detrimental. Software that is not delivered when it is needed is of no value. Business opportunities are lost, or the cost of doing business is too expensive due to the manual processes.
We have to be responsive to our business needs or we are not an asset to the company…we are overhead. We become no more valuable than a photocopier, our cost being divvied up by the bean counters to the different departments. Managers come to hate us as being little more than a drain on their profit margin.
It is for this very reason that I have worked hard to learn agile database development techniques. I believe a database that can’t be changed rapidly becomes obsolete just as rapidly. This requires an infrastructure and processes allowing you to make radical changes quickly, with a high level of confidence that you have not broken any existing code, and that your enhancements work as designed.
Therefore, in a world where the entire database must be completely known prior to coding or deployment, I find myself leaning more toward your position, David. I have found that using an iterative process, we can design smaller pieces of a system and not have to get it perfect the first time. We never will, and taking forever to plan it out never results in the correct design anyway.
In short, I would rather work in small segments:
- Do a good design of a small segment and get it working
- In the next segment, augment the existing segment with new functionality
- Modify existing designs that no longer work with new techniques
If you’re interested in learning more about Agile, I have a short article here entitled "Top Ten Agile Database Development Practices."
I don’t believe Agile is the only way to design a database. I have found that it fits my personality better, and I have had great deal more personal success than either extreme of no design, or design the whole thing up front.
Again, thanks David for keeping us honest…
Trivia
What was the first version of SQL Server to ship with Enterprise Manager? What made it Unique?
Do you have thoughts you’d like to share about this or other topics. You know how to reach me. Send your Email to btaylor@sswug.org.
Cheers,
Ben
$$SWYNK$$
Featured Article(s)
Better Application Life Cycle Management with Visual Studio Team System 2010 – Part 2
In the first part in this series of articles, we discussed what ALM is and the features of ALM tools in Visual Studio Team System 2010. We will continue our discussion here and explore more on these ALM tools. We will also discuss the best strategies that we can adopt to implement ALM in an organization.
Featured White Paper(s)
Upgrading to Microsoft SQL Server 2008 R2 from Microsoft SQL Server 2008, SQL Server 2005, and SQL Server 2000
More than ever, organizations rely on data storage and analysis for business operations. Companies need the ability to deploy… (read more)
Featured Script
Proper Case for Names with Mac Mc support
Proper Cases a string. Used for names. Takes into account McExceptions…. (read more)