Category: Editorial
-
Successful Projects
What techniques or ideas allow you to build a successful software project? There’s been no shortage of writing and studying on this topic across the last few decades. So many people expend energy and thought trying to solve the problems of building software at a high level of quality, in a reasonable timeframe, and within some scope that matches the desires of their customers.I’d like to think most of us succeed, but study after study shows that most parties are disappointed in some way. Developers are under pressure and can’t/don’t built the level of quality they’d like. Management sees software as taking too long and costing too much. End users see too many bugs, though I think that overall quality has risen in the last decade are more proven frameworks are used and developers have gained more experience in newer and better development techniques.I ran across a post on a test for successful software projects. It’s the Kevin Test for Successful Projects, and it’s based on a combination of the Joel Test and the Rands Test. The idea is not that you implement all of these test items, or do them perfectly, but that you work towards doing more of them than not. There are explanations of what each item in the test means in the various pieces.I think these are good guidelines for projects, and they’re simple ones. They certainly can apply to database development. However most people don’t really want to spend time on these tasks. However, I think the mundane nature of these items slows you slightly, but forces you to think more about what you’re doing. The gains in quality and velocity, in my mind, come from avoiding rework, avoiding losing work, and avoiding regressions.Sometimes I think the problems in software development aren’t that we write poor code, but rather that we rush a complex endeavor, being willing to redo work rather than proceeding in a more engineered fashion.Steve Jones -
Build a POC
I have a few friends that work sales engineers for various companies. They often build a proof of concept (POC) project for various customers or potential customers, which is a great job. They get to showcase how a particular product or technology might work in a situation. We see this all time from lots of companies, including a great POC from BMW shown at the recent //build/ conference.
Sometimes the POC is more mockup than reality, but often this is a way to actually test some software and determine if you should invest more resources in that particular direction. I’ve used this myself, setting up a small project to test items, and I recommend this for others that might want to try something out.
For example, I like the idea of Continuous Integration (CI) for databases, but implementing CI in one of your production pipelines, on a production database is hard. It’s complex, and it can be distracting, not to mention stressful. Who wants to make a deployment mistake in production?
What I recommend instead is that you take a small database and practice. I don’t like Adventureworks, but you could grab a few tables from your system and build a new database, download a pre-built one from SQLskills, or even just create a Hello World type database with one table. Download TeamCity, or use the Visual Studio Online build system. Experiment and learn how to take your database code and programatically deploy changes to another system. Redgate has toolsto help, or you can roll your own.
No matter how you do it, try using a POC the next time you are wondering what the best way to proceed with new technology. You might find the POC makes a new technique more approachable and gives you confidence to tackle deploying the changes in the rapidly changing environments in which we work.
Steve Jones
The Voice of the DBA Podcast
Listen to the MP3 Audio ( 2.6MB) podcast or subscribe to the feed at iTunes and LibSyn.
-
A Welcoming Conference
I’ve noted it in the past, but it bears repeating. SQL Bits is my favorite conference to attend, both as a speaker and attendee. The event is a rare combination of great technical content, first class conference management, and a casual, fun atmosphere. Add to all of this the fact that conference moves to various venues around the United Kingdom, and it’s become a can’t miss event for me.
Each year I’ve gone, I’ve learned some really fascinating things about the SQL Server platform. I’m not sure why, but I always see some great sessions that tackle interesting problems. Perhaps this is because many of the sessions are voted on by the community, rather than chosen by a small committee. Maybe it’s because the speakers have more leeway and aren’t bound by so many strict rules about what they can and can’t say. No matter what the reason, the content is top notch and worth watching. You can watch previous sessions at home, anytime you want.
However, I’d really recommend you attend the event. Saturday is free, like a SQL Saturday. The selection of pre-cons is amazing, and covers topics I don’t see often at other large events. Plus there’s the amazing party with a new theme each year. I’m excited to see what costumes come out this spring. You can check out the amazing super hero looks from last year or the Steampunk ones from the year before. Perhaps what I’ve really enjoyed is the casual way the party is run, with a few random spouses or friends coming and not being hassled by security. One of these days, I’m looking forward to being able to bring my wife to Bits, and have her enjoy the event with me.
Certainly this is a long way for many to travel for a conference, though it’s probably not that much more expensive than trying to make any of the large conferences in US if you must travel out of state. I’m lucky that I usually get to speak and I can combine this trip with a visit to the Redgate Software offices. If you have a choice of which conference to attend, I’d take a hard look at SQLBits, and maybe split the cost with your boss. It’s a great excuse to take a short vacation before or after an intellectually stimulating, emotionally relaxing, and thoroughly enjoyable event.
Note: You have until April 15 to post a review of a SQL Bits conference or video for a chance to win a pass to the conference.
Steve Jones
The Voice of the DBA Podcast
Listen to the MP3 Audio ( 3.0MB) podcast or subscribe to the feed at iTunes and LibSyn.
-
The Data Dewey Decimal System
As a small child, I learned about the Dewey Decimal System in school. Those were the days when you wanted to look up some information or check a fact, you needed to peruse the dead tree books in a library, with information organized by the Dewey Decimal System in the US. At least, all libraries I used in school adhered to this.
These days we usually use a computer of some sort for learning, research, or really most any work with data. Often I start with Google to find my way to the source of information, but that’s not something that necessarily works well with finding sets of data. It certainly doesn’t work well within a an organization.
I saw recently that Microsoft announced the general availability of the Azure Data Catalog, which is designed to provide a catalog of data sets. In essence the Data Catalog is an index of the data sets that might be produced by your organization, with the information about the data filled in by the producer of data. Users that are looking for data can query the catalog instead of asking coworkers, wandering through the enterprise databases, or even relying on their own memory of where data might be located.
At first this seems silly, after all, don’t people inside of an organization know where data is kept? Don’t they learn the servers, databases, and connection methods? Certainly many do, but as with the pace of change these days, as well as the rapidly growing number of ways to publish data these days, it’s entirely possible that many people aren’t aware of all the data sources available inside of an organization. Even at Redgate Software, with a few hundred employees, it is fairly difficult to keep track of what data exists in which location.
The functionality of the Data Catalog seems a bit basic, and really almost like an extension of adding extended properties to various tables. Certainly things are centralized here, which is good. There are also ways to add other sources, such as SSRS reports, files, and even other relational sources. I’ll have to experiment a bit and see what’s available, and I might encourage you to do the same. The product relies on crowdsourcing, which can go really well, or really poorly, depending on how cooperative your crowd is.
In any case, I do like the idea of having a central catalog that individuals can update as they produce data sources for others to consume and change what’s available. If it works well, with good searching and tagging, it might eliminate some of the redundant work often performed to surface data inside of any organization and let employees know how to find the answers to their questions.
Steve Jones
The Voice of the DBA Podcast
Listen to the MP3 Audio ( 2.9MB) podcast or subscribe to the feed at iTunes and LibSyn.
