Microsoft Azure DevCamp Resources

I had a great time co-presenting with Diego Lizarazo at today’s Azure DevCamp in Alpharetta. Nice to be back in the saddle, sharing tech info with a receptive, interactive audience! My session was on Azure Cloud Services, and here is a list of relevant links to the topics I was discussing. Enjoy!

Esteban Garcia headed to ATL to talk ALM and Agile–don’t miss it!

This is a big deal. One of my colleagues, a superstar in the ALM space (he’s an MVP and a Ranger) Esteban Garcia is flying in to ATL just to speak at the Atlanta .NET users group next week! The meeting starts at 6:00 at the Microsoft office in Alpharetta, and includes refreshments.

Here’s a summary of his talk:

Team Foundation Server 2012 introduced a lot of new tools to support your team’s agile development practices.  This session will cover the new Backlog, Sprint Planning, Task Board, Code Review, My Work, Suspend, Feedback management, Exploratory Testing, Storyboards, and more. We’ll explore these features and give you tools needed to become more productive while collaborating with your team to build better software faster.

Plan to stay after for some beers and such at a local watering hole!

Atlanta Code Camp–Call for Speakers

Once again the local developer community in Atlanta is heating up with activity with the upcoming Atlanta Code Camp. I’m privileged to be part of the group putting together this huge event, and now we finally have a date (August 24) and a location (Southern Poly) firmed up.

Code camps are a great opportunity for developers to learn from and share with each other. It’s basically a free event, but what you’ll learn will be (hopefully) quite valuable to your career and personal development.

But to have a free learning event, we first need people willing to share their knowledge. That’s where you come in! We want to hear from seasoned presenters, as well as folks new to the presentation world.

I did presentations for over 8 years during my career at Microsoft, and the first ones really were the toughest to do. But after a while it got much easier. You’ll find the audience at code camp is pretty forgiving of nervousness and the newbie speaker. As long as you have an interesting topic you’re passionate about, put a reasonable amount of work into your material, and can think on your feet should your talk not go exactly as planned (which will most likely happen), you’ll do great!

So click on over to the speaker submission page and tell us what you’d like to talk about! Your fellow speakers are just as eager to get to know you as you are to meet them. Spread the word to your friends and colleagues, too.

Think you can’t do TDD with web technologies? This webcast will change your mind.


Here’s an unexpected treat. A couple of ALM gurus here at AgileThought are presenting some free webcasts for Microsoft over the next few weeks with some very compelling topics. These guys are top notch!

Join Esteban Garcia and Eric Landes as they share their expertise in what is typically a challenging but very useful area of software development. You’ll be delighted with how easy it wll be to incorporate their teachings into your approach to software projects, and with how much it helps you get things done!

Client Side Intelligent Design: When and how to use client side Test Driven Design tools like Qunit and Jasmine while integrating them with ALM!

TDD started out meaning Test Driven Development.  Now smarter developers than us replace the word Development with Design.  That change shows how testing drives the design of our applications.  With HTML 5 becoming a standard utilized by many enterprises, the idea of driving your JavaScript development using TDD is now possible.  Even better, you can integrate this with your ALM strategy.  When and how should you use this tool?  We will show that there is a reason to automate JavaScript testing, and a reason not to!

With the appropriate Test Driven JavaScript incorporated in your application, can you integrate this seamlessly with your ALM tool?  We will show how you can automate builds and capture work in work items to make sure this this activity works across your lifecycle.  Using TFS, we will show how to utilize this with QUNIT and Jasmine testing frameworks.  Get ready to intelligently Test Drive your rich client interfaces design!

Register now for this webcast on Thursday, May 16 or Thursday, May 30

In addition to that topic, catch this additional webcast on manual testing to full automation.

From Manual Testing to Full Automation with Visual Studio ALM

Microsoft Test Manager helps testers define and execute system test cases. These tests can be executed as exploratory and scripted test cases and you can use action recording to manually re-play test cases in the future.  But it doesn’t stop there!

Coded UI Tests help your teams leverage manual test cases by automating them and then they can be added to automated builds and executed in a Virtual Machine that mimics your deployment environment. We will cover
the following:

  • Create a test plan and test cases
  • Create an action recording for a test case
  • Convert your test case recording into a Coded UI Test
  • Add assertions to the Coded UI Test
  • Associate your Coded UI Test to a test case in MTM
  • Create a test plan for with an associated lab environment
  • Build, deploy, and execute test cases on your lab environment

Register now for this webcast on Tuesday, May 28



Sooner and later

Put your hand on a hot stove for a minute, and it seems like an hour. Sit with a pretty girl for an hour, and it seems like a minute. THAT’S relativity.

That’s one of my favorite quotes from Albert Einstein. Regardless of how things are, it’s how we perceive them to be that is the most important, and all of our perceptions are relative. Something is brighter than something else, or darker. Warmer or colder than some reference temperature. There are no absolutes in perception. And for those of us that deal in the engineering world (software or otherwise) that’s sometimes tough to wrap our heads around.

It’s a challenge in software. We deal with this all the time in thinking about things like application startup times. It’s why we have splash screens and little spinny icons. People feel as if things are happening faster if there’s something happening, even if it’s not directly related to what they’re waiting for. But is this always the case? When we press an elevator button, it lights up, but nothing tells people how much longer they’ll have to wait for the elevator. Should it?

In the software project I’m working on, we were discussing a non-functional requirement around what the performance must be when the app is transferring files. We wanted to make sure that when files were being uploaded and downloaded, it didn’t bog down the user experience. We were having a hard time expressing the requirement, until my colleague simply said that the acceptance criteria should be that there would be no perceptible difference in application responsiveness when transferring files compared to when not transferring files. At first blush this seemed too subjective, but again, since this is a perception thing, and it’s relative, it seems to be the best way to capture it.

It’s a challenge too when working on software projects. Think about a time you struggled to implement some complex functionality or fix a bug, or waited for a build to complete, or a test to run. Feels like it took “forever” which it clearly didn’t, or you’d still be working on it or waiting for it. Think about implementing a feature where the code just flew from your fingertips. Maybe the actual work took the same amount of time, but the second one felt faster. Then we’ll say things like “I should have figured that out sooner” or “I was expecting that to take more time”. Relativity.

It’s a challenge with kids. I always tell new parents “the days will crawl by but the years will fly.”

It’s a challenge in life. When I first left Microsoft I thought the first thing I would do is set up a blog. I was hoping to get this blog started sooner than later. I was hoping to run out of ideas later than sooner. Not having any ideas for the topic of the posts, or even why I am blogging, made me put it off. Feels like forever since I wanted to start, and now that I did, it seems that I got this blog up and running in no time at all.

When you think about doing things, it always seems you are doing them both sooner than you expected, and later. That dichotomy is part of the human condition, I guess.

What do you think? Better comment soon, or you’ll forget to. But don’t comment too soon, think about it for a while. :)