My friend and fellow PASS Regional Mentor TJay Belt tagged me!
“So You’re On A Deserted Island With WiFi and you’re still on the clock at work. Okay, so not a very good situational exercise here, but let’s roll with it; we’ll call it a virtual deserted island. Perhaps what I should simply ask is if you had a month without any walk-up work, no projects due, no performance issues that require you to devote time from anything other than a wishlist of items you’ve been wanting to get accomplished at work but keep getting pulled away from I ask this question: what would be the top items that would get your attention?”
Like others, I'll limit my response to the technical and assume I have a month to work on any tech project I like.
Gosh that's a tough one.
I'm a utility kind of guy. I'd want to write something that would plug into SQL Server Management Studio and meet some need I perceive would be cool.
For my addin, I'd like to do interesting visualizations for SQL Server performance metadata.
I'd consider what I believe I can deliver in a month total. From experience, I know it's a good idea to break a project into quarters. My quarters are a hodge-podge of different software and engineering methodologies and consist of:
- Light Integration / Experimentation
To start modeling, I'd grab a demo from a blog or article on creating SSMS plug-ins (or bug my friend Ashton Hobbs for one of his demo projects). I'd tinker with the project here and there until I understood how it worked. Then I'd experiment by adding functionality and features. I'd configure the Data Collector and then grab metrics from the database. Then I'd build reports based on that data. I'd tinker with how I slice and dice the data on the report. And I bet I'd see some correlation while doing this, and the correlation would require testing to validate. If that took too much time, I'd make it a post-project task (or save until I get another month on an island!).
Then I'd start combining the reports with which I experimented. I'd want to add links between them during this phase, add parameters - that sort of thing. After that I'd test it. My goal, assuming 30 days in this month, would be to finish testing at the end of day 27. That would give me enough wiggle room (3 days) to triage issues. If I can't get past an obstacle, I'll drop the feature from the current release.
Some may read this and say "Andy, you can do anything you want. Why are you talking like some methodology-head?" It's because I am a methodology-head! In my younger days I'd sling code all night long just for the fun of slinging code. Now that I'm an old grandpa, I like results more. When I code, I get better results when I practice some methodology. I don't have to be strict or dogmatic about it, but the presence of some form just helps.
So that's what I'd build in 30 days on an island: Another database metrics visualization. I have to admit: Building it alone would be fun, but I'd have even more fun if there were a team of us there working on it together! And I'm sure the final product would be much more useful to boot...