T-SQL Tuesday #13 – Business Requirements

Comments: 2 Comments
Published on: December 13, 2010

Business Requirements

We have made it yet another month and to yet another episode in the continuing saga known as TSQL Tuesday.  This month we are being hosted by Steve Jones ( Blog | @Wayoutwest ) of SqlServerCentral fame.  Steve has asked us to speak a little bit about business requirements, interpreting those requirements, and some of the pitfalls that may or may not exist in the whole communication process of getting a project done.  Now, can somebody please explain the requirements for me?

What issues have you had in interacting with the business to get your job done?

I think a common area that is easily overlooked when it comes to requirements and interpretation of requirements is report creation.  A common problem is that there are no defined or written requirements for the creation of a report.  When there are inadequate requirements, it is easy to miss the intention of the report and thus frustrate the business group that requested the report.  Another problem that can arise is the perceived inaccuracy of a report – even when all business requirements are properly met and signed off by the requesting business group.  How can that be?  Let me explain.


A recent problem was brought to light that revolved around the creation of two similar reports.  The reports were to be used by different business groups and each was requested by a different group.  The values in the reports no longer match due to a change requested on ReportA by GroupA.  GroupB doesn’t think this is accurate and wants both reports to match.  Small problem is that both reports should not produce the exact same results based on requirements and usage.  The report for GroupA has some extra requirements and filters placed on it to prevent the users from seeing data about former employees.  The report for GroupB is different in that it should show an overall summary for all data, even data of former employees.


Managing business requirements is almost as much about managing the perceptions of the business users as it is understanding what the business truly wants.  It is important that you are able to help them understand what it is you will be doing, what you can accomplish, when you can do it, and what impact it may have on other business parts (if they are known).  When an issue arises, it is best to approach the business and try to understand what the disconnect is.  In the case of the example of two reports outlined, I had to research and test both reports to get a better understanding of what the problem was.  Once I did that, then it was a matter of explaining the findings to the business.  From there, a discussion between business analyst and the two departments for which the reports serve needs to take place and an agreement made.


This is a rather short and straight-forward entry for this month for TSQL Tuesday.  This is a delicate subject and I am sure many people will have many more tales to tell.  I think it is most important to approach the business and try to help them understand what you understand from the requirements and get it hammered out before too much development has been done.

December 2010 SSSOLV Reminder

Categories: News, Professional, SSC, SSSOLV
Comments: No Comments
Published on: December 8, 2010

Here is a quick reminder and a repost of the announcement from last week.

This month we will be broadcasting the meeting once again.  This month the technology bug will not bite us like last month.  I can feel it – we are bound for a problem free evening ;).

For any that are interested in attending this presentation virtually, you are welcome to attend.  Here is the information that you will need in order to attend the meeting.

Attendee URL: https://www.livemeeting.com/cc/UserGroups/join?id=8Z4B6M&role=attend

Meeting ID: 8Z4B6M

Wayne Sheffield is going to be presenting to us this month.  His presentation will be on the subject of Table Variables and some myths concerning those.  It is certain to be well worth your time.

December 2010 S3OLV Meeting

Categories: News, Professional, SSC
Comments: No Comments
Published on: November 30, 2010

It is amazing how the months just seem to fly by these days.  I probably say that every month.  It seems appropriate though.

This month we will be broadcasting the meeting once again.  This month the technology bug will not bite us like last month.  I can feel it – we are bound for a problem free evening ;).

For any that are interested in attending this presentation virtually, you are welcome to attend.  Here is the information that you will need in order to attend the meeting.

Attendee URL: https://www.livemeeting.com/cc/UserGroups/join?id=8Z4B6M&role=attend

Meeting ID: 8Z4B6M

Wayne Sheffield is going to be presenting to us this month.  His presentation will be on the subject of Table Variables and some myths concerning those.  It is certain to be well worth your time.

Voting Day is Here

Comments: 1 Comment
Published on: November 2, 2010

Tis the season for voting and SQLServerPedia has thrown out an election as well.  The SQLServerPedia awards are under way and voting will last until Nov. 9th.

Surprisingly, I have a couple of nominations.  I would ask for your vote and am delighted by every single vote I get.

I hope you vote for the best in each category.  Let’s get out and make our voices heard for something that really matters.  There is a lot of good stuff that has been nominated.

You can cast your vote here.

T-SQL Tuesday #012 – Skills

Comments: 2 Comments
Published on: November 2, 2010

November is upon us and in some areas this also means that the leaves have changed color.  With the change in leaves we also have a change in TSQL Ones…err Tuesday this month.  The change is with good reason as well.  November is a busy month in the DBA world.  PASS is holding the Summit Nov 8 – 11 in Seattle (that involves the second Tuesday).  We have Connections this week in Las Vegas (despite being in Vegas, I won’t be there due to budgetary constraints).  And we have Paul Randal (Blog | Twitter) hosting TSQLTuesday this month.

Paul has chosen the topic of “why are DBA skills necessary?”

You know, like nunchuku skills, bow hunting skills, computer hacking skills…

Oh wait, maybe I do have some of those computer skills.  I don’t have nunchuku skills though, and that could be useful from time to time.

As a DBA, we occasionally have the opportunity of attracting a new client or a new job or a new database.  It seems that more often than not, some of the skills requisite (at least they should be) of owning a database are missing.

Some of these include:

Backup and recovery of a database
Disaster Recovery
Normalization and De-normalization
Performance Tuning
Server Patching
Proper Storage recommendations
File and Filegroup Creation
Performance Troubleshooting
User and Database Security
And more…

And more…

I want to touch on some of the other skills of a DBA.  These are the skills that a DBA must use in order to be successful (besides knowing the craft).  For me, these skills help make the job just a bit easier and they seem to be present in many of the top tier Database Professionals.  For me, these skills include:  Communication, Participation, Sense of Community, and Drive.  These may also appear as attributes – but I think they are things that a professional can work on and improve on to improve in the work place.


This is a skill employed in many different ways in the profession.  Many have chosen to communicate via blogs and via speaking at events, while others have written books.  This skill is a must have in the day to day business and helps to mend fences between DBA and business as well as DBA and Development.  Learning how to interact with both the positive as well as the harsh feedback is critical to career growth.


As a database professional, it is essential to be involved in meetings and the decision making process.  Just being present does not always mean that you are participating.  Are you engaged in thought of getting out of the meeting or about the next level on Angry Birds?  Or are you listening, taking notes (if necessary), and interjecting comment that is constructive to the meeting?  When a task comes across your desk, what is your reaction?  Do you just do it or do you interface with the requester to ensure that the request meets the needs?  Occasionally it will happen that the requirements do not reflect the true need from the person making the request.  Without talking to that person, a level of frustration is accomplished when you return to them having completed the request but not having fulfilled the underlying needs.

Sense of Community

One of the best networks available to use is the social network for the Database Professional.  There is a good amount of people always willing to help via twitter (#sqlhelp) and online forums (sqlservercentral.com).  A good DBA knows his/her limits and knows that they don’t know everything.  Admit it early and be willing to rely on the community when you don’t know something.  Part of being a good database professional is knowing where to find help and where to find the answer.  This also ties in with the communication skill.  There is no need to memorize every nook and cranny of SQL Server.  Learn how to take notes, create documentation, and how to talk to the community.  This will help you learn more about SQL as well as help you build friendships.


This one is a lot more difficult.  A skill that is helpful in being a better Database Professional is an internal motivation to be better and to create a better database environment no matter the employer or project.  If this means longer hours or making significant changes – then do it.  Sometimes it also means that we need to make a list and present the good with the bad of the environment and then make suggestions on how to improve.  If you are really good and don’t put in any extra effort – imagine how good you could be should you dedicate a few extra hours here and there to becoming a better Database Professional.

Oh and the other stuff

I don’t want to completely ignore those important skills.  There are many accidental DBA’s out in the world due to a database having come into existence.  Many times a database can exist without a DBA due to various variables such as vendor support, little to no activity, or low criticality of the data.  Many times one of these databases eventually explodes into being much more than initially planned (high transaction or high criticality or even reduced vendor support).  At this point a DBA is needed.  DBA’s help protect the data and are an investment for the company.  A DBA can help provide timely information as well as protect the data and ensure business continuity.  For me, it is a worthwhile investment – and not just because I do the work.

In Conclusion

Today is Election Day throughout the United States.  Get out and Vote!

There are elections at SQLServerPedia, SQLRally and then there are also the political elections.

Q3 Review

Categories: News, Professional
Comments: 1 Comment
Published on: October 26, 2010

Finally I am getting around to posting my Quarterly Goal review.  Last quarter’s review can be found here.

Start a Blog

This has been covered pretty well.

Implement a BI Solution

I have made no further progress on this.  Despite that, I have been converting several dts packages into SSIS packages.  I also have numerous reports for SSRS that I need to implement.  Also, let’s throw out there that I have spent considerable time working on the COGNOS 7 platform over this past quarter.  I have had to troubleshoot various components from cube build to security to execution and report accuracy.  That doesn’t count as a BI solution, however, it should be noted that there is more BI experience being gained.  The purpose of this goal was to increase experience and knowledge with BI.  Albeit, the goal was designed to gain that experience in the Microsoft products.

I have started several more projects along the lines of this goal.  Many have been implemented and are in use now.  However, the point of this goal was driven towards an end-to-end solution that involved SSAS, SSIS and SSRS – I have two of the three down-pat pretty good now.

1 Technical Blog Post per Week

This one is getting harder for me currently.  I am in the middle of some very big and high profile projects that have consumed a lot of my time.  I will be working harder at this goal over the upcoming quarter.  Despite that difficulty, I am still ahead of the goal by means of averages though I missed a technical post this last week.

I am leaving the above comment as-is for the time being.  It became more difficult to maintain that goal due to my schedule – but it will change in the upcoming quarter – I can feel it.

Attend 2010 Pass Summit

I have not yet attended the summit, and can’t do that until November.  However, I have registered for the Summit and have every intention of attending this year.

Present Once a Quarter (or 4 times)

I continued to make measurable progress.  I only presented once this quarter.  Next quarter I have more presentations that I can report on (like my Presentation for SQLSat54).

Write 2 Articles

I can mark this goal as achieved at this point.  My second article was published recently and I have a few more that I am working on in queue currently.  I wrote a short blog on the publication of this article.

Run Two Marathons

I have not run a marathon yet this year, and that sucks.  Due to too many conflicts and knee pain I didn’t run and won’t be running any marathons this year unless a miracle happens.

As for the less measurable goals, I think I am doing fine there as well.  I was assigned as VP to our PASS Users Group, I am on a subcommittee for Summit 2010, and I am actively involved with the community at SQLServerCentral.com.


Comments: No Comments
Published on: August 24, 2010

I was doing a little catching up on some blog reading today and came across a new post from Adam Machanic (Blog | Twitter).  The post is titled Who Are You and is asking for input from the readers.  Quite frankly, I think it is a great idea.  Adam is asking for people to do a little stand up and tell everybody a thing or two about themselves.  He wanted that info left in the comments, but I thought it would be better to write a post on the topic and link back to it.

First things first.  Why is this a good idea?  Well, it helps to know the readers as Adam said.  There truly is a nice bit of satisfaction when somebody leaves a comment on your blog.  It is even better when you feel like you know that person.  Better yet is to know that there are people you know that are reading your blog – whether or not they comment.  There are plenty of people (judging from the comments) that Adam knows and that read his blog but may not leave a lot of comments.  It is also really helpful to know the interests of the readers and try to put out some stuff that may be of interest to them.  I see this being of particular help when there is a little writers block.

What about me?

My name is Jason Brimhall and I have been doing database stuff for a little over 10 years.  My current title at my employer is Database Architect.  I am more than a database architect – I get to wear many hats.  I get to do the Architect stuff, administrator stuff, warehouse stuff, and occasionally I get to write a stored proc or two.  I have been blogging now for just about 9 months.  I have administered 4500+ servers as well as 1TB+ databases.  I have worked on SQL 6.5 – SQL 2008 as well as a spattering of Oracle and MySQL (don’t quiz me on those).  I live in Las Vegas and am the Vice President of the local Users Group (Web | Twitter ) (which reminds me that I need to get that UG twitter account notice out).  Outside of work, I like to spend time with my children as well as play basketball and run.

Edit:  I forgot to tell you what my twitter handle is…@sqlrnnr

R & R

It is once again time for the blog party known as TSQL Tuesday.  I am hosting this month and wanted to also participate.  The theme is “Beach Time” and this is TSQL Tuesday #9.  Why did I choose this theme?  There are a few reasons for it.  1.)  There are numerous people in the community getting ready, or who have recently, to change jobs.  2.)  I was on the tail end of a mini-vacation / long weekend when I got the invite to host.  3.)  To be able to take a day off for that long weekend, I wanted to make sure the loose ends were wrapped up so I would not need to work over the weekend.  4.)  The song lyrics I mentioned in the Theme announcement, were stuck in my head and reminded me of vacation.  For this post, I want to cover what Beach Time means for me and some of the things I did recently in order to get a little R & R.

Beach Time

Beach Time means having peace of mind, for me.  I can’t go on vacation if there is doubt or concern about any of my projects (work, home, financial).  So, in order for me to truly have a vacation – Beach Time comes first.

I find it completely useless to go on vacation if I am going to be checking email or project statuses every 10 minutes.  There is no rest or relaxation in doing those things while I am supposed to be doing something else.  Vacation should be fun and enjoyable.  Thus, if I am to enjoy vacation, I need to do a few extra things in the office prior to leaving.

Going the Distance

When Adam (Blog | Twitter) asked me to host, I was on my little mini-vacation.  In order to get to that vacation, I had to prep myself and work for the one day absence.  I had to make sure I had built up a few things.

1.  Confidence

2.  Skills

3.  Processes

4.  Automation

Let me explain what I mean by each of these items.  I am sure it seems a bit odd to hear that Confidence and skills must be built right before one takes a vacation.

I needed to build confidence in processes and systems that were recently deployed.  This required more testing and monitoring of the processes to ensure all would be well.  I worked on transferring some knowledge of specific items to team-members.  I wanted to make sure they knew what they were doing.  I also wanted them to know that they knew what they were doing and that they could do it.  This goes hand in hand in number one, all while building skills.  With the massive changes that we were wrapping up (complete network migration), some new processes needed to be developed and implemented.  We are using new technology and software and the old methods just didn’t work anymore or were unreliable in the first place.

In addition to these items, there was the work tasks that needed to be completed.  Since we were trying to finish the project by the weekend that I needed to be out of the office, I needed to have my tasks done that much sooner.  This meant a willingness to work longer days (ok, continue working longer days)  and try to work a little faster without making any mistakes.  This also required some increased communication and visibility with regards to the tasks and effort.

I also had a feeling that something might come up on the day I was scheduled to be out of the office.  I suspected that there may be a user request for a data dump.  In preparation for this, I also built an SSIS package that would handle the most common requests from this particular user.  The package would be able to handle various different types from this user based on common requirements I had seen in the past.  A user would only need to change a few input variables and run the package.  The result as a simplified version of a process I had been using for that particular user and was something that I could hand off to a team-mate.  This automation made it so less time could be spent on teaching the team-mate what may be needed, and permits one to just execute the package.  This was something that I wanted to get done at some point in the future anyway, but this was a very good time to introduce it into the mix.  Overall time savings of this implementation could be a couple of hours a week.  Overall savings in thought process, memory tracing, note tracing, and stress was substantial.  It was well worth the day or so that I put into creating it.

“Toes in the Water…”

Now that I have been able to accomplish some very good stuff by putting in the extra effort, I can relax a bit.  By planning ahead, communicating, working extra, and training – I can have that Beach Time that I wanted.  I was able to have the peace of mind needed to really take a vacation.  Taking a break from work sometimes requires going the extra mile just before the break happens, but it is well worth it if you don’t have to think about work at all while on vacation.

Gettin’ Skewled

Observe and Report

This month we get to frolic in our memories of school days.  Thanks to HeadMaster Robert Davis (Blog | @SQLSoldier), we are entreated to a little detention while we figure out how we best learn.  I don’t have any idea how to learn in detention so I skipped out and headed to a more convenient place to think about learning.  I won’t share that location since I don’t want the truant officers showing up to haul me back to detention hall.

We were given a whole lot of restriction on this topic.  I am going to take a much broader approach with the topic since the topic applies to so many facets of being a SQL professional.  I will try to entreat each of the options that were listed out in the TSQL2SDAY invite by Robert Davis.

  1. How do you learn?
  2. How do you teach?
  3. What are you learning or teaching?
  4. Coup de gras post – Learn something new and Tell us about it.

I will try to answer each of these topics through one common theme with two principles “Observe and Report.”

How do you learn?

For me, learning actually comes in a lot of ways.  I think the most prevalent is through observing others.  Frankly, the term observing could be taken rather broadly or more acutely.  I think of observe more literally in the sense that I witness something and pay close attention to it.  At least I try to pay close attention.

Some times I may see something that appears like it is a good thing to know, but only witnessed it from a cursory perspective.  When that happens, I try to re-encounter the event so I can observe it more specifically.

When there is close attention to detail for such an event, it sticks just a little better.  To make the learning more permanent, one needs to practice that observation.  (It is starting to sound a little like the scientific process here.)  After I have observed such an event that requires my attention, I will try to implement it in some fashion.  Reproduce whatever it was supposed to be learned.  This will breed a higher level of consistency as well as knowledge permanence.  To bring us to the next level and internalize the learning even further, one must teach the principle or at least share it so somebody else can learn.

How do you teach?

The answer to this question is simple – It Depends.  The situation should help to determine the method.  Sometimes it may just require that a demonstration be performed.  Others may require explaining the lesson to be learned in various forms.  While yet others may require that some hands-on time be done.

I was taught that you don’t truly know the topic until you have taught it.  It is when you teach or share with somebody else that you internalize the lesson the most.  That isn’t to say that you know the topic perfectly and can answer any and all questions on the topic.

Who dares to teach must never cease to learn.  ~John Cotton Dana

As an IT professional / DBA, it is imperative that one learn all the time.  When one gives back by teaching others what s/he has learned – one learns considerable more and also becomes more respected.  The skills that pertain to being a DBA become more apparent and one is able to perform the duties associated with the job more easily.

What am I learning or teaching?

Now the questions start to get a bit harder.  It is a bit harder, in that most of what I learn professionally these days I try to share what I learn on my blog – at least what I learn professionally.  A lot of what I am learning lately is merely along the lines of troubleshooting Windows 7 to make things work as they should.  There have been quite a few nuances learned.  Now if only I could learn how to fix the USB keyboard bug in Win 7.

One of the best things I learned recently involved playtime with my children.  This is one of those things that can be learned over and over again.  It involves the little things that can help bond a relationship between parent and child.  A little game of hide and seek with one child soon turned into a rambunctious festival with my three youngest children and wife.  We played hide-n-seek for hours inside the house.  The kids were the  seekers all day and the adults hid.  It was a lot of fun and we got to teach the kids what family is about.  They enjoyed it and I hope they will do the same with their children some day.

I would also like to add that I am learning how much more important it is to Observe and Report.  These particular principles apply in so many facets of life.  Whether it be family, religion, politics or business – there is always a requirement that Observations be made and that you Report back to somebody about something.  Reporting is such a key component of everyday life and is often-times over-looked.  The method for reporting is not as important as the fact that it be done.  Reporting could be as simple as recounting a story to a friend or family member.  Reporting can often times be used as the method to teach or vice-versa.  Take the play time example I shared.  I will write that in my journal and then read some day in the future.  That will spark a memory and then I will talk with my children about it and spark a memory for them.  This story will serve as a form of report (as will the journal and blog entry now) that can be used many times over to teach this lesson.

Coup de Gras

There are learning opportunities everywhere.  A very recent reminder of this was a business lesson I just learned from the NBA.  Many may of heard of the recent backlash by the owner of the Cleveland Cavaliers concerning recent free-agent signings.  The lesson is that emotions can get the better of people in certain circumstances but we must learn to reign them in and behave professionally when in public.  Despite the belittlement and lack of integrity by one side, the other was able to maintain a good amount of integrity.

I am learning that learning is not just formalized education in a classroom or in specific settings.  There are things to be learned from all aspects of life.  This can be learned if only a little observation is used.  When you learn something, return and report what you have learned to a friend, family member, co-worker or somebody that could use it.

July SSSOLV UG Meeting

Comments: No Comments
Published on: July 7, 2010

This is really late notice – apologies in advance.

We will be holding the LV UG meeting July 8th at the same time and same place as usual.

777 N Rainbow, Ste 250.

6:30 PM (officially when we start the presentation)

6:00 PM for meet and greet

This month we will have Jack Corbett present to us.  Jack is the Co-Pres of OPASS.  He will be presenting on an “Introduction to Profiler.”  We are making this meeting available via livemeeting.  This will be the first time for our little UG to use LiveMeeting for the presentation, so bear with us if any kinks arise.

You can join online with us at https://www.livemeeting.com/cc/usergroups/join?id=47Z8F6&role=attend

The meeting will still be conducted in the traditional manner as well.  All who wish to attend in person, are plenty welcome.  Hope to see you there.

«page 3 of 4»

August 2019
« Jul    

Welcome , today is Friday, August 23, 2019