Category: Editorial

  • Building Better Software

    One of the ways in which many software development teams have tried to improve is by examining what has worked in other organizations and projects and experimenting with ideas. Across the decades that we have been using computers, there have been quite a few models, the most well known of which is the CMMI Model from Carnegie Mellon University.

    The CMMI Model contains lots of good ideas and practices, much like Six Sigma, ISO and other frameworks. However we (as a group) often don’t follow many of the ideas. It seems that so many developers (under pressure from managers) work to just complete tasks, without regards to the well known, valuable techniques of measurement, improvement, and more.

    However there isn’t much magic in using any of these frameworks. They all cover similar concepts, which are based on measuring what you do, taking that feedback to alter your process and get better, as well as then working within a structured process that is repeatable. Do more of what works, and do less of what doesn’t. Adjust your way of working regularly.

    The problem for most of us is getting a group of people to actually follow a process over and over. It seems that we continually want, at least as a large group, to cowboy code our way through development cycles, without learning from the past. Of course, I meet plenty of people that use an ALM (or DLM) process to build software, and they all espouse the benefits, but they do note that it takes a long time to adopt a new process throughout an organization. A year of investment isn’t considered uncommon.

    Perhaps that’s the problem? Can management actually make the investment time to build out better processes? The media hype says they want to, with all the DevOps hype. Plenty of companies, including Redgate Software, are selling tools that companies use to help themselves adopt a process. However I wonder how successful organizations are. Is there enough continuity in the technical staff and management to actually make a change? It took Microsoft years to change. Are you moving in that direction? Is there any chance you will?

    Steve Jones

    The Voice of the DBA Podcast

    Listen to the MP3 Audio ( 2.8MB) podcast or subscribe to the feed at iTunes and LibSyn.

  • The Slack Integration

    About a year ago, my group at Redgate Software adopted Slack as a way of communicating with each other. Slack has become very popular with development teams, and is used extensively in many companies, including my own. At first I liked this tool, which allows some real time communications, but also some tagging and notifications if someone messages you. However, over time, I find it less useful. Perhaps the seven hour time difference accounts for some of that.

    However plenty of people have found various ways to integrate Slack into their development process. Everything from build failures to successful deployments to mentions on Twitter. I’m not sure of the value of these myself, but I can understand that grabbing messages and centralizing them in a channel can provide value. Personally I still prefer to work through email, which gives me a nice, asynchronous, disconnected, comfortable tool.

    The other day someone asked me if we would think about integrating parts of SQLServerCentral with Slack. I wasn’t sure there was value, but then I thought, perhaps some people would like a channel with interesting or hot threads in the forums, or mentions of articles. Certainly many people like different mediums of communication, so why not Slack?

    It wouldn’t be for me, but I do wonder how many of you are using Slack and would want to to add in a new channel. Or a few channels. Maybe you’d like one with the Question of the Day and interesting notes from the discussion. Since Slack can work across companies and accounts, we certainly could open things up to you.

    Let us know today what you think of Slack and would you like any integration with the tool. How would you use it?

    Steve Jones

    The Voice of the DBA Podcast

    Listen to the MP3 Audio ( 2.4MB) podcast or subscribe to the feed at iTunes and LibSyn.

  • The Data Driven Event

    This Thursday, March 10, 2016, at 10am, EST, MIcrosoft will host Data Driven, a live virtual conference. This is slated to be the launch event for SQL Server 2016, though there has been no information released about whether this is also when the platform will RTM.  To date we have had a number of CTPs (CTP 3.3 is the latest), but no Release Candidates (RC) (as of the time of this writing), which we usually see before the final product is released.

    However the CTP has been running well for me. The areas I’ve been testing and looking at seem to work well and I’m rather excited about this version of SQL Server. I don’t think I’ve looked forward to a new version this much since 2008. The in between versions have been somewhat meh, without a substantial number of changes. SQL Server 2012 was better than the R2 and 2014 releases, but still, a limited number of changes.

    However SQL Server 2016 really feels like Microsoft has refocused on the platform, made substantial engineering investments, and is really changing the capabilities of the product. From the Query Store to Always Encrypted to the Stretch Database, we’ve got quite a list of thing to learn about SQL Server 2016. I know I’ve been working through some of these areas and each time it seems I’ve caught up with the changes, there are more items to learn.

    This event is scheduled for two hours on Thursday, so it’s not an all day commitment. I’m sure many of you aren’t looking to upgrade to SQL Server 2016 right away, but this is a chance to learn a bit about what you may look forward to in the future, as well as an opportunity to get excited about the new Data Platform changes from Microsoft. Satya Nadella, the CEO will speak, as well as other executives, and I’m sure, a number of demos. So consider scheduling a meeting for yourself this Thursday and getting excited about the future of data on the Microsoft platform.

    Steve Jones

    The Voice of the DBA Podcast

    Listen to the MP3 Audio ( 3.3MB) podcast or subscribe to the feed at iTunes and LibSyn.

  • Saving Time Through Automation

    Recently I ran across a nice post from Joey D’Antoni about not installing SQL Server from the GUI. It’s a good post, and it reminds me that I should be using this technique each time I build a new VM, but what really struck me was the cartoon from XKCD he linked in. Here it is:

    When I look at the cartoon, it seems that it’s easy to waste a lot of time on repetitive tasks. And it is. This is one of the great pet peeves of programmers who look to automate tasks so that they don’t have to worry about repeating them. The power of computers is in repeating instructions over and over again, something that humans struggle with. We make mistakes, we get bored, and this isn’t a good use of our time.

    However the cartoon distorts things a bit since the time lost is across 5 years. I don’t know how many tasks I have that take 5 seconds, but I do have some 30s tasks, and certainly a few that take a couple minutes. Even if I do them daily, that means if I automate them in less than a day, I’ve saved time. However, some of my automated tasks still require me to spend some time on them, so my savings aren’t always realized.

    That doesn’t mean they aren’t worth automated in some way. I work on an Excel sheet almost daily, and each time I do, I change dates, which takes 10-15s to do. I spent about 5 minutes automating this, so I save time, but more importantly, I reduce tedium and stress, and that can be one of the best reasons to automate. Those simple tasks we dread might be the best items to automate. Of course, keep things simple, since you have to support your automation over time.

    There are also the tasks that are better handled through automation. Many of us know that checking to see if all our SQL Agent jobs succeeded or if there are any errors in log files is something best handled through automation. Those simple tasks that many of us may consider part of our jobs are items that are easily automated, and more importantly, if those are the only tasks we perform, it’s entirely possible we’ll be considered redundant and obsolete over time.

    I would urge you to learn to automate those pieces of your job you do regularly. Use Powershell, T-SQL, Agent, whatever, but make your job  less stressful and less tedious. It’s good for your career, for your job retention, and it’s fun. Besides, I’ve never run out of work, so removing tedium from my job hasn’t resulted in me being less valuable as a DBA or developer.

    Steve Jones

    The Voice of the DBA Podcast

    Listen to the MP3 Audio ( 3.6MB) podcast or subscribe to the feed at iTunes and LibSyn.