On the 13th and 14th of April this year I’ll be presenting at the Australian ALM conference. It is the first annual event of its kind in Australia focusing purely on ALM topics.
As an ALM focused guy I find this pretty exciting. I’m also honoured to be speaking at the event this year amongst a great line up of presenters including:
- Dr. Ivar Jacobson (Ivar Jacobson International)
- Sam Guckenheimer (Microsoft)
- Tanuj Vohra (Microsoft)
- Stephen Godbold (Readify)
- Richard Angus (Wardy IT)
- James Crisp (ThoughtWorks)
- Jason Che-Han Yip (ThoughtWorks)
- Dave Glover (Microsoft)
- Andrew Coates (Microsoft)
- Jeff Findley (MicroFocus)
- Adam Cogan (SSW)
- Jeremy Thake
- Alex Mackey (Imagine Interactive)
- Richard Banks (Readify)
- Peter Ward (Wardy IT)
- Tatham Oddie (Readify)
- Anthony Borton (Enhance ALM)
My session will be on “Gathering High Quality Requirements with SketchFlow” and will focus on how development teams can use SketchFlow as part of the requirements gathering process early on in the project lifecycle.
Right now I think that there is a 20% of tickets purchased during March (sorry for the late notice) and a free copy of Expression Studio 3.0 which is pretty cool given the topic that I am talking about (SketchFlow is part of Blend 3.0 which is part of Expression Studio 3.0).
If the moons align this should also be one of the first conferences following the release of Visual Studio 2010 and .NET Framework 4.0 so a lot of the content should be pretty fresh and they’ll be plenty of early adopter stories to swap with other attendees.
Anyway – if you haven’t already booked a ticket, go and do it now!
It’s amazing how much the scenery can change when travelling around some parts of the US. We headed out from the Grand Canyon National Park after having a lazy start to the day and headed for Monument Valley.
This meant that we needed to backtrack about 110KM or so to the turn of to Tuba City. We booked our stay in Monument Valley at “The View Hotel” and I have to say that it is probably the #1 stop we’ve had so far.
The view from the hotel is spectacular and all the rooms face outwards towards the monuments. We took a heap of photos that I am hoping to stitch together into panoramic shots once we get back. The photos that we took in the evening were best because sun was in the west and was lighting up the structures for us.
The hotel itself is in Navajo territory and you have to pay a fee to get into the tribal park, but I would say that the view from here is probably the best from anywhere else.
On Thursday we headed east through the Zion National Park around to Page (in Arizona) and then on to the Grand Canyon National Park (South Rim). The north rim is closed this time of year (due to snow presumably).
Going through the Zion National Park was a real highlight and we got to climb up through the mountains (in the car, I’m on crutches you know) and go through a narrow tunnel (Zion-Mount Carmel Tunnel). There was quite a bit of snow on the ground and we had to be careful.
The picture above is of the checkerboard mesa which is visible from one of the viewing points along the road. Once we got to the top of the park and headed out we got to see what a farm looks like when it is covered in snow.
Then it was a relatively long drive around to Page in Arizona which really showed off some of the rugged country-side.
Page itself is situated next to Lake Powell where a lot of people take holidays on houseboats. We didn’t spend too much time here as we wanted to get to the Grand Canyon before nightfall (and I couldn’t figure out how to find the water with the GPS).
We entered into the Grand Canyon National Park from the east and got the see some great scenery. After getting lost in the village itself we headed out the south exit to find our hotel (Canyon Plaza Resort).
There is actually an IMAX right next door which we went to see a video about the Grand Canyon that shows off some of the scenery that we could not get to.
There was an amazing amount of snow around at the moment, and virtually every bit of ground from the east entrance into the village to our hotel just outside the south entrance was covered – except for the roads which appear to have been ploughed and salted.
I’ve been having some technology issues that have stopped me putting up some posts but I thought I might catch everyone up with what we have been doing.
On Wednesday earlier this week we moved on from Las Vegas and headed north east towards Springdale (in Utah) which is next to the Zion National Park.
We found a nice lodge called Majestic View which you’ll find a few miles before the town centre of Springdale itself. The name of the lodge doesn’t do the view justice, the photo above is from the carpark of the lodge. The lodge has a restaurant where we decided to have a late lunch and resolved to come back for dinner. Unfortunately for us we didn’t realise that we crossed a time-zone so we headed over for a feed half an hour after the restaurant had closed. The hotel front desk pointed us towards the Bit & Spur and rang ahead for us. I had one of the best steaks I’d had on the trip so far.
As you can probably tell from the photo the climate is a bit chilly in this part of the world but that didn’t stop me going to dinner in shorts and reefs 🙂 Shelley had told me that the weather was going to be cold, but I couldn’t believe that it could get that cold in the middle of the desert. The driveway literally had ice all over it the following morning. Brrrr.
I traded up my crutches for a wheelchair today as our credit card came under heavy fire taking advantage of the strong Australian dollar and getting down to some serious shopping. My strong suspicion is that the only reason Shelley suggested the wheelchair was so that she would have someone to pile the boxes of shoes on 🙂
We spent about three hours in the Las Vegas Outlet Centre which is to the south of the city (if my internal compass is working correctly). My reward for being a good boy was a visit to the Frys electrical store which is one of the chains here, and a mecca for all serious geeks as far as I am concerned.
In the evening we went to see Cirque Du Soleil. There are a few different shows playing in Las Vegas at the moment, but we decided to go and see Mystere which is on here at Treasure Island. The show was great, everything that we’ve come to expect from Cirque Du Soleil (we saw Dralion recently in Melbourne when it was on tour there). The highlight for me was the clown who managed to get quite a few laughs from the audience.
Well here we are in Las Vegas. We landed in Los Angeles yesterday and drove the 136km to Victorville. We were a bit tired after the flight so this was as far as we could make it before my blackouts became dangerous 😉
Along the way we stopped off in San Bernardino at Papa Tony’s Diner and got some pointers about the road ahead. We missed most of the heavy traffic that came through on Friday so we had a clear run.
Victorville was interesting and we managed to drive around it a few times. When we got into the hotel we realised that I had incorrectly assumed what kind of plugs were used over here (you’d think I’d know by now given I’ve been here several times). Anyway the result was we had to drive around the town a bit to find a place where we could find some adapters.
Ironically for dinner we headed over to the Outback Steakhouse for some good old Aussie cuisine – well not quite, I didn’t really spot anything uniquely Australian on the menu – not a snag in sight.
This morning we set off again to cover the final 294km to Las Vegas. The road between Victorville and Las Vegas is mostly desert with plenty of shrubs. There is some very dramatic scenery especially as you head down into various valley’s and can see the highway heading up the other side.
While in Vegas we are staying in Treasure Island which is one of the casinos here. This was the first time that either of has had been to Las Vegas so we decided to go and gamble a little bit, neither of us are really big gamblers but I wanted to play a hand of Texas Hold’em. We had dinner at the Coffee Shop and played a bit of Keno (first time) and then headed over to The Mirage via a little tram that runs between both venues.
Tomorrow we are planning on doing a bit of shopping at a factory outlet and I’m going to take Shelley to Frys which has to be one my my favourite shops in the US.
Today Shelley and I are off on a three week holiday to the USA, doing a bit of a drive around the western states. We booked the flights over six months ago on V Australia. Right now we are sitting in the Malaysian Airlines Lounge because V Australia doesn’t have one yet.
The big drama on this trip so far has been that I had a bit of a fall last weekend which resulted in a knee injury (bruised bone, torn ligament, and a dislocated patella). I did it walking the dog when three dogs ran up behind me and tried to occupy the same space as my leg – I came off second best. Anyway, a week later it is feeling much better and the doctor gave us the green light to travel so I’ll spend the next week on crutches then I should be OK walking around.
Anyway – we a flying into LAX then jumping in a hire car and heading off to Las Vegas which is probably where my blog post will be from.
As a software developer you probably know how to get the latest version of your code from the source control repository, make a few changes and be able to debug it effectively. This is a muscle that we exercise every single day and we get pretty good at it. Something that we do less often is take a copy of our code and deploy it onto a target system and go through what it is going to be like getting that code up and running on a non-developer machine.
Continuous Integration tools doesn’t necessarily help here as they typically just run unit tests to ensure that the code is functioning at the unit level, not take the application installer (hopefully you have one) and roll it out onto some virgin infrastructure.
The truth is that a lot of teams don’t really consider what their finished product will look. So here are some questions to consider:
- How will you install your application? XCOPY or Windows Installer?
- How will you configure your application? Post installer configuration tool?
- How will you service your application?
- Windows Installer patching or something else?
- Do you need to uninstall first?
- What about your database schemas?
- Do you do them at installation time?
- Are they in a separate setup package?
- What about servicing for databases?
- Do you create maintenance plans?
- What about repair operations?
- Do you have some kind of health check mechanism?
Setup Packages Are Software Too!
The truth is that the setup package that you use to deliver your software is part of what you are building as well so you need to put as much thought into that as you do the application functionality.
Software development is full of decisions, some classic ones:
- Which logging framework should we use?
- Which IoC container should we use?
- Which packaging tool should we use?
- Which database deployment tool should we use?
- Which navigation framework should we use?
With all of these there are multiple choices that we could make, but there tend to be a few categories that they fall into:
- The default choice.
- The popular choice.
- The weird choice.
Notice that there is no right or wrong choice in that list, there are just choices. By definition the default and weird choice aren’t as popular as the popular choice, although they probably both have some level of support from someone in the team.
The challenge is – which choice should you make? Well, you really need to evaluate it against a set of criteria:
- Is the choice going to work us now?
- Is the choice going to work for us later?
But I want to step back a little bit and look at the Default Choice again. For example, in the case of database deployments, the default choice for me on the .NET platform is to try to use vsdbcmd.exe. I get a bit of push back about that because people don’t trust what it is doing, but what other choices are there?
- The popular choice: change scripts, manually applied to the database.
- The weird choice: build our own database deployment tool.
I usually here the popular choice coming from DBA’s, and I usually hear the weird choice coming from the software development team members. But both stem from a lack of trust in what Microsoft has developed with DBPro. I get that, I’ve seen some of the issues myself, but overall it does work.
To me, for a .NET development team targeting a SQL server database backend, vsdbcmd.exe is actually the default choice and you need a really good reason not to use it. The popular choice is my second favourite because it is often a reality when you are dealing with customer DBAs, but I don’t think the weird choice (the re-invent the wheel choice) is the way to go because you aren’t going to be able to build a tool powerful enough in the time you have available.