Azure DocumentDB Preview at Sydney Alt.Net, Aug 2014 from Richard Banks on Vimeo.
Enjoy!
The day before the 2012 Microsoft MVP Summit kicked off in earnest there was an MVP-to-MVP day. For those of us in the Visual Studio ALM area we had a day long series of lightning talks about all sort of TFS related subjects, making for a good and wide-ranging day.
For something different, I did a talk about git and TFS integration and how git-tfs can be used to hide many of the problems with TFS source control. Below is a slightly modified version of the slide deck I used.
I hope you find it useful.
Last year at TechEd Australia I delivered a session on Unit Testing that was rated top 10 overall. This year I delivered a group session that has ended up in the bottom 20. Ouch!
So what went wrong? Let me run through a few things and explain.
For those who weren’t there, the session was a group session presented by myself and 3 others and what we wanted to show was how you can use the full Microsoft stack do deliver on the “three screens and a cloud” promise, how the ALM tooling that Microsoft provides (i.e. Visual Studio and TFS) helps with that, and some of the things to watch out for when doing this kind of development. Our vehicle for this was going to be a multiplayer game that runs on both Windows Phone 7 devices and Windows desktops. We also wanted to show how you could extend the experience beyond the game itself and use a single page web application to extend the gaming experience, so we threw that into the mix as well. That’s a lot for an audience to process in a short space of time. Probably too much as it turns out.
Adding to this, re-reading our session abstract I can see how it is easily misinterpreted. It can be read as if we were going to actually build the application on stage. We never even considered that as an option because we though for sure that the audience would be lost, but it appears a number of people thought we would try anyway. I appreciate that you think we can condense 170 hours of development effort into a a 1 cohesive presentation, but we’re not superhuman! :-) This is a failure to manage expectations on my part. If you turn up expecting to see pure, unadulterated, glowing awesomeness on stage and then we present something that makes them seem merely human then you’re going to be disappointed no matter what. Not meeting expectations is a common cause of discontent and I missed the mark here.
Now when we started our session planning we had nothing; no application and only the vaguest of idea on what it might be that we’re going to build, yet we needed something to show so we could have the bones of our session. This meant we needed to build the whole thing in our spare time and this is where the main problem arose – for various reasons the team only finished the application right before TechEd. Further, because of the last minute finish of the application, the remoteness of each of the presenters, and the presenter’s individual TechEd sessions on top of this one, we never managed to get a proper dry run through the presentation with all of us there. We knew the basic idea of what we needed to talk about but we never managed a full practice first.
This in particular was bad! When I’m doing a solo presentation I usually do at least 3 or 4 dry runs first just to make sure the timing is right, that the flow works and that I hit all the points as I want, etc. Preparation is key! I know this, yet did we do it for this particular session? Not really, no. And the results, sadly, showed this.
Because of the lack of preparation, we also had a few “off script” moments that really, really didn’t help. Compounding this is that as presenters we all know each other and are quite ready to joke around and have fun while still getting stuff done. This unfortunately doesn’t translate on stage. Humour in a session is great on the proviso it doesn’t detract from the message, that it keeps audience interest up and reinforces the learning for them. You’ve also got to ensure it’s delivered well and in-jokes or overdoing it certainly doesn’t count in any of these cases. Again, we let the audience down a little by doing this.
So, what do I learn? How do I improve for next time?
Content may be king but don’t overload the audience or be too shallow and too broad. We would have been better scaling back on what we did, limiting our content to only a few areas and going deeper in those areas instead of skimming.
Preparation is paramount. Our lack of preparation hurt. Not the preparation in the building of the game (that was fine) but lack of preparation in the delivery of the session. No matter how good (or bad) the software was, if the delivery was good we would have been fine and people would have enjoyed it more. The lack of preparation also contributed to overload of humour on stage.
Set realistic expectations. There’s a trick when writing session abstracts. If you make your session sound too boring you probably won’t get asked to speak, but if you over-hype it then people get their expectations raised too far and you set yourself up to disappoint. More care and attention to the wording of the session abstract would have helped a great deal in this case. It’s much better to under-commit and over-deliver than to do the opposite.
Working in a group is hard. The larger the group, the harder it gets. If I do another group session in the future, the way we work and the amount of time we’ll commit to up front will be clear from the outset. Coordinating 4 speakers when they each had their own individual sessions and limited availability was asking too much from everyone, so when something had to give it was, unsurprisingly, the group session that suffered.
To round out this lengthy post, let’s have a look at some of the comments from the evaluations, both the positive and the negative. I’ll provide my own feedback in italics:
And there you have it. A very public retrospective from my part on what went wrong, what could have been done better and the lessons to learn.
Publicly talk about your failings is hard, yet there’s nothing that teaches you more than a big, public failure. This is my attempt to do some tough learning in an open way so that hopefully you learn something from it as well.
Finally, if you attended the session at and you thought it sucked, then I apologise and hope that you enjoyed the rest of the conference.
Why? Because that’s the session you want to go to of course!
Here’s the link with all the details: http://australia.msteched.com/topic/details/DEV305
Aaron Powell, Luke Drumm, Steve Nagy and myself are going to show you how to build applications for the cloud using multiple clients (i.e. PC and Windows Phone 7 in this case) and some of the things to watch out for. Don’t worry it won’t be one of those sessions where people try and prove how awesome they are by writing the whole thing on stage. Instead we’ll be showing you the highlights and what you should think about if you want to try something similar.
I’ll also have my recording equipment with me and will be recording a number of podcasts for Talking Shop Down Under with people while I’m up there, so if you want to hear from someone in particular, let me know so I can line up a time with them!
Are you an Aussie dev? Based in Sydney or somewhere within driving/flying distance?
Well, why don’t you get yourself along to DDD Sydney this year? Not only will you have a chance to hear me wax lyrical about Comet with IIS and how async coding can help improve performance, but you’ll also get to partake of a slew, nay a plethora!, of topics from other great speakers.
Apart from my talk, I’ll also be a panellist for the Open Source panel, and I’m facilitating the Web Panel later in the day, so at least you now know which sessions to avoid, right? :-)
Jokes aside, last years DDD Sydney was a lot of fun and this year will be even bigger – the agenda and registration are now available. Go check out the details, book yourself a ticket, and I’ll see you there!
The title does give it away a little I suppose… I’ll be presenting two sessions at the Agile Virtual Tech Summit run by the Code Project. I’m quite honoured to be asked to present and for reference in my 2 sessions I’ll be keynoting the Agile track with a talk on Agile from a Developers Perspective, with the other session being about Lessons Learned from Agile Implementations.
You can register for the free event on the site and the summit will get underway on Feb 23rd, 2011 at 12pm ET (for those in Australia that’s a 4AM start on the 24th so don’t forget the coffee!)
Put Saturday July 17th in your diaries people – it’s when DDD Sydney is on. The community run, zero cost day where you can get your fill of technical content on a whole range of Microsoft developer related topics.
I’m lucky enough to have landed a speaking spot and so I’ll be doing a session on mocking frameworks and their various features which should (hopefully) be some fun, but apart from that there are another 14 great sessions on during the day across 3 tracks so there should be something there that takes your fancy, plus you’ll also have the opportunity for some hands on time with Windows Phone 7 development in the labs as well.
So, go ahead, check out the agenda and register before it’s all booked out. I’ll see you there!
This should be a fun week. Tomorrow and Wednesday I’ll be attending the Visual Studio 2010 launch and speaking at the Australian ALM conference (http://www.australianalm.com.au) with sessions on unit testing with VS2010 and lessons from agile implementations.
I’m also aiming to record a number of episodes for the Talking Shop Down Under podcast whilst I have the opportunity to collar a bunch of people in person.
If you’re going to be there, keep and eye out for me and say hello (and attend both the VIS03 and ALM05 sessions!). See you there!
I guess the picture on the left says it all, but just in case you have images turned off I’m speaking at the Australian ALM Conference coming up this April.
I’ll have two sessions that I’ll be foisting on an unsuspecting public, the first of which will be on Unit Testing in Visual Studio 2010 and the second of which will be on Lessons Learned from Agile Implementations.
I’m looking forward to the conference given it will be occurring in conjunction with the launch of Visual Studio 2010, that there are a number of international speakers coming along and that it will be held on the shores of Sydney Harbour at Luna Park. If you haven’t already booked then take a few minutes and go bug your boss to see if they will spring for a ticket for you. It will be well worthwhile, and may just change the way you approach software development.
Last night I was privileged to be the first speaker at the newly formed Sydney Architecture User Group put together by Paul Glavich (@glav) and Omar Besiso (@omarbesiso) and sponsored by Datacom.
There was a strong turnout and plenty of people in the audience willing to ask questions. I’ve uploaded my slide deck from last night to Slideshare in case you weren’t able to make it there in person or you just wanted to go back over it for yourself.
Close on the heels of TechEd Australia, Readify have announced the latest Dev Days events for both Sydney and Melbourne.
When we last ran these we had multiple tracks which presented tough choices on what to see at times, so we’ve changed things around and will now run separate morning and afternoon tracks instead. It means you can now get to everything, or just come for the half day session you are interested in and go to the beach for the other half of the day (or do some work if you must).
I'll be presenting the morning session in Sydney, covering Software Quality and Application Lifecycle Management split across two subjects:
In the afternoon, Tatham Oddie (MVP) will be covering Building for the Web with .NET through three different presentations:
To find out more or to book just point your browser to http://readify.net/training-and-events/rdn-dev-days/. See you there!
I attended the QCon conference in London earlier this year and during it I was lucky enough to attend one of Linda Rising’s workshops on Influence Strategies. Recently I presented my own take on her content at the Oz Virtual Alt.Net group, and here it is for your enjoyment.
P.S. The credit for the good content goes to Linda, anything dodgy in there is all me.
Let’s just say, for arguments sake, that you’ve run across a piece of code that is tightly coupled, i.e. there are lots of hard links between classes, it’s hard to test, changes are difficult, the code breaks when it shouldn’t, etc. Let’s also say, for arguments sake, that you want to improve the design of that code and make it somewhat more maintainable so that you don’t spend the rest of your natural life trying to keep the code from completely falling apart.
How would you do that?
In this screen cast I’ll walk through a sample application, show where the tight coupling occurs and how to remove it. In the process I’ll also be cover a bit of unit testing vs integration testing, mock frameworks, and inversion of control containers (Unity in this case).
Hopefully you get some value from it.
Download the WMV (93Mb, 44mins)
Double click for full screen
References:
For those interested in the Visual Studio add-ons they saw, I am using:
Finally, the video is hosted at http://silverlight.live.com.
Last night I did a presentation on Rhino Mocks 3.5 at the Sydney ALT.NET user group. I demoed the new AAA syntax (arrange, act, assert) as well as doing a run through of some of the more advanced usages of Rhino such as using mocks to test events and event handlers, the ability to throw exceptions to see how your class handles them and the use of Rhino from VB.NET.
A big thank you to everyone who came and made it such a great evening.
P.S. The demo project I used last night is available for download here.
Some of you may be aware that Readify have been running a series of free developer sessions for some time now known as the Readify Developer Network. Past RDN sessions have covered a wide range of topics and have been presented by various people from within Readify, including many of the 10 MVP's we have on board.
Well, it's pleasing to announce that while we are continuing to run the regular RDN sessions we're now also launching an extension of RDN this month called the RDN Dev Day.
Think of it like a one-day tech conference featuring content across 3 tracks presented by 3 of Readify's team, including Hands on Labs to help you get to grips with the latest .NET technology.
The 3 presenters for the inaugural sessions will be Mitch Denny, Paul Stovell and myself with the tracks being:
The dev days will be happening in Brisbane, Perth, Sydney & Melbourne over the coming weeks. Brisbane on July 25th, Perth on July 29th and Sydney & Melbourne in mid-August. Note that I won't be at the Perth Dev Day, so some of my sessions will be presented by Mitch.
Here's the agenda so you know what's available.
| AGENDA | |||
| Registration 8:30am | |||
| Welcome and Key Note 9am-10:30am | |||
| Key Note: The .NET Roadmap for 2009 & Crystal Balling - What will .NET look like in the future? | |||
| Morning Tea 10:30am | |||
| BREAKOUT SESSIONS | PRESENTERS | ||
| Times | Mitch Denny (MVP) | Paul Stovell (MVP) | Richard Banks |
| 10:55-12pm | Team Development with Team Foundation Server (I) | Introduction to WPF | Introduction to Agile Development |
| 12:10-1:15pm | Team Development with Team Foundation Server (II) | Introduction to Silverlight | Test Driven Development |
| Lunch 1:15pm-1:45pm | |||
| 1:45pm-2:45pm | Adding Manageability and Scriptability to your Applications | Hands on Lab: WPF | Introduction to Agile Development [Repeat] |
| Afternoon Tea 2:45pm-3pm | |||
| 3pm-4pm | Hands on Lab: Setting a Team Project in Team Foundation Server | LINQ in Depth | Planning & Estimating in Agile Projects |
| 4:05pm-5:15pm | Managing the Database Upgrade Process with DBPro and Team Foundation Server | Hands on Lab: WCF Basics | Agile Q&A |
Please note that demand is expected to be high and registrations are only open for a short period of time, with Brisbane and Perth open now so get in early and book yourself a spot today. I'm really looking forward to presenting and I'd love to see you there!
UPDATE: In case it wasn't clear, only Brisbane & Perth registrations are open at the moment. Sydney & Melbourne will be available in the next few weeks. Sorry for any confusion.
Unfortunately Mitch has come down ill (get better, mate!) and won't be able to present at SBTUG - The Sydney Business & Technology User Group - tomorrow night. Craig has kindly let me step in and cover for him and I'll be doing my Agile Agile presentation so feel free to come along and be a part of the action.
I hope to see you there, and bring your questions!
P.S. Thanks Craig for the kind words.