Apr 27, 2012

Book Review–Running Lean by Ash Maurya

I found this book to be very thought provoking. Several years ago I worked as an independent consultant and really enjoyed it. But I always only sold my time. I think most people who do have a entrepreneurial spirit understand that to really succeed you must leverage this and sell something more.

This book focuses on how to approach the creation of a product with constraints placed on you and your team. It is pretty common to have minimal resources when starting a business. This includes money, people and the ‘right ideas’. Below are some of my thoughts about each of these limited resources and some of what I took away from my reading of the book:

1) Limited Money: The author talks about how it can be difficult to raise money to fund your startup – but follows up with this actually being an advantage. Here is a quote that I particularly liked:
"Constraints drive innovation, but more important, they force action. With less money, you are forced to build less, get it out faster, and learn faster."
Having “too” much money could actually keep you from the hard driving and tight focus that is required to actually get a product out the door.

2) Limited People: Another issue the author talks about is the limited people that are typically available to a startup. This often means that you (and others) will need to fill multiple roles on the team – often with each role being something that would be a full time job. This again helps to keep a focus on doing the most important tasks, and knowing that some things simply will not get done. Be sure that understanding your customer (#3 below) is not one of the things that you let slip!

This is where you will call up any and all learning from your past about prioritization, organization and effectiveness. You will need to decide how best to schedule your days, weeks and months to maximize the efficiency of the work you do. The author calls out that he has found scheduling customer interviews on Mondays and Fridays to less effective than doing this midweek. Also, if you are actively building the product you will want to be sure to have some blocks of time that you can get in ”the flow”. Here is another section out of the book:
"Activities that flow typically have the following attributes:
  • They have a clear objective.
  • The need your full concentration.
  • They lack interruptions and distractions.
  • They provide clear and immediate feedback on progress toward the objective
  • They offer a sense of challenge."
The author has found that early mornings are often best for him to achieve this flow – I find that late nights currently work better for me.

3) The ‘Right Ideas’: The author brings out the point that it is very easy to focus only on your desires and experiences when working to create a product – but cautions against this and talks strongly about the need to work very closely with your targeted customers. Be sure that you have an understanding of the pain points of your target customers and that you are not too focused on only your experiences or your desire to implement some fancy technology! Again a few quotes from the book should help illustrate the authors thinking:
"Given the right context, customers can clearly articulate their problems, but it’s your job to come up with the solution"
"Customer Discovery is about exploring what you don’t know you don’t know"
In this section of the book the author also quotes Henry Ford “If I had asked people what they wanted, they would have said faster horses.”)

A large portion of the book really lays out a plan to be sure that you have a very open conversation with your users (or potential users) and to ensure that you learn from them what their ‘real problem’ is and validate your solution to that problem.

I really enjoyed reading this book and highly recommend it if you have any thoughts of starting a company or building a product. But even beyond that, I think that it can open your mind to some new ways of thinking and delivering whatever product or service you deliver – even to your employer.

A final quote from the book that sums things up pretty well (in my opinion):
"Running Lean is a systematic process for iterating from Plan A to a plan that works, before running out of resources."
You can find the book on Amazon here:
http://amzn.to/mgerickson_RunningLean

Or find the product page for the book on the O’Reilly site here:
http://oreil.ly/mgerickson_Oreilly_RunningLean

Disclosure: I was given a copy of this book to review by theO’Reilly Blogger Review Program

Apr 18, 2012

VS 2010 / TFS / Source Control–Unable to Access Database

So somehow I’ve now been bitten by this issue twice in the last few months… so it’s time to post about it (if only for myself) so I can resolve the issue faster next time.

 

In both cases this has occurred after disconnecting from the network and working without connectivity to TFS. After re-establishing connectivity I attempt to open the solution again, and get the error “Source Control – Unable to Access Database”. I’ve tried several things including deleting the workspace, and all local files, recreating the workspace and getting files locally again, but nothing works.

 

So the solution: Close Visual Studio and run regedit. Navigate to:

 

HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\10.0\TeamFoundation\Instances\<server>\Collections\<name>

 

You should see a value named Offline with a value of 1.

 

Modify this to be 0.

 

Restart Visual Studio 2010 and things should run!

Mar 29, 2012

Some thoughts on UTCC Spring 2012

It’s been about 2 and a half weeks since the latest Utah Code Camp and I’m finally getting around to writing down my thoughts (though I did tweet about it live during the event!). As always the organizers did a wonderful job – and there were also some great sponsors! Attendance at code camp was the highest ever – Utah Geek Events is reporting it was over 400 people! It appears that very soon the venue will need to change as the attendance is pushing the limits available to us at Neumont University. There was, in my opinion, a nice mix of platforms and technologies covered in the sessions and I very much enjoyed each session that I attended!

The organizers, sponsors and speakers are critical to the success of a major event like this, and as I mentioned above they all came through wonderfully! But to be truly successful I believe requires more than that – it requires a lot from the attendees too. It is obvious to me that the attendees have helped to publicize the code camp and encourage others to attend – the camp has gotten bigger each time. The attendees also participate in the event – interaction with speakers during sessions, networking in the halls and sharing with each other during lunch and other breaks all help to make the event better. I’ve presented sessions where, even with several people attending, there was almost no interaction with them – this is definitely not how I like to present. I thrive on the interaction with the attendees and feel that this makes a better presentation, and a better overall event.

So in the end I want to thank not just the organizers, sponsors and presenters of the code camp, but I also want to thank all who attended and participated – each and everyone helped to make the event bigger and better than ever before! And it leaves me wanting more… we’ll see you in the fall!

If you haven't taken the time to at least try out a user group or a code camp please consider it. It is a great benefit to you and to the overall community of developers! I think you'll find it worth your time!

Mar 12, 2012

Utah Code Camp Spring 2012

Saturday was the Spring 2012 edition of the Utah Code camp – and it was great! The camp has consistently grown with each meeting. We meet twice a year, once in the spring and again in the fall. At Saturdays event there were well over 300 people in attendance. I realize that is no where near as large as some code camps, but it’s great to see the growth here. The event has been held at Neumont University, but things were pretty cramped this time… It might need to be moved to a different (larger) facility in the near future. Bat as problems go that is a pretty good one to have.

There was a very wide variety of sessions to choose from and each session that I attended was great! I hope that those who attended my sessions were also pleased. There were about 50 sessions presented. It is a lot of work to put together such an event and to prepare and deliver sessions – I want to send a big thank you out to all those involved in making it a great event!

Coming out of the event I’ve got a few things that I was to spend some time focused on:
  1. Play with programming the Kinect – thanks Scott Golightly for a great intro session
  2. Build some Windows 8 applications – thanks Jerry Nixon for sharing the passion
  3. Dig into Server-Sent events and Web Sockets – thanks Jason Staten for a thought provoking look at the topics

As always there were far too many sessions that I would have liked to attend and not enough time. I’ll have to grab the presentations/materials from others off the web site at http://www.utahcodecamp.com/Downloads. I’ve posted materials from my sessions there, and added my talks to my SpeakerRate profile – If you attended either or both please take a minute to rate them for me at: http://bit.ly/mgericksonSpeakerRate.

Mar 8, 2012

Setup for ‘Build Your First Windows Azure Application’ at #utcc

I’ll be presenting a hands on session at the Spring 2012 Utah Code Camp this Saturday (March 10th). While you will be able to just watch me do the work, the intent of this sessions, and how you will get the most out of it, is to actually participate and build an application along with me. With this in mind the following should be installed on your computer before 11:30 (Mountain Time) this Saturday!

Please feel free to ping me with any questions! (mention @mgerickson on Twitter might be the best way to get me).

First you will want a subscription to Azure. This will not be totally necessary as we will likely only test our application locally in the Cloud Emulator, but you’ll want the experience of deploying and running it in the cloud. If you do not already have a subscription you can get a free 90 day subscription here: http://bit.ly/mgericksonAzureTrial

Next you’ll need some software:
  1. Visual Studio 2010 (note that VS 11 will not currently work for this). Visual Studio 2010 Professional or higher will work fine, or you can also get the free Microsoft Visual Studio Web Developer Express 2010 edition from here: http://bit.ly/mgericksonVSWebExpress
  2. SQL Server 2008. The most straight forward way it to be sure you have the Express edition installed (http://bit.ly/mgericksonSQL2008Express) but a full (Enterprise, Standard, Developer) edition will also work.
  3. IIS7 – be sure it is configured for ASP.NET and WCF HTTP Activation, Static Content, IIS Management Console and HTTP Redirection
  4. IIS URL Rewrite Module 2.0 (http://bit.ly/mgericksonURLRewrite2)
  5. Windows PowerShell
  6. Windows Azure SDK for .NET (best way is to use Microsoft’s Web Platform Installer – launch from here: http://bit.ly/mgericksonAzureNetCenter)

You download all the bits and see instruction to manually install everything here: http://bit.ly/mgericksonAzureSDKNov2011

We only have 60 minutes to get our application built and running, so it will be an overview and will move fast, but I hope you plan to join us and have some fun in The Cloud!

Mar 5, 2012

Getting Ready for Utah Code Camp Spring 2012

It’s March and that means that we are getting ready for the Utah Code Camp Spring 2012 event. This year the code camp will be held this Saturday (March 10th 2012) again at Neumont University. This is a great facility and they are very kind to host many community events!

Check out the schedule for the code camp here: http://www.utahcodecamp.com/Schedule

I am working on finalizing my two presentations.
1) Just before the lunch break (11:30 to 12:30) I will be presenting ‘Build Your First Windows Azure Application”. This will be a hands on session – so if you are coming to it please be ready! I’ll have another post no later than tomorrow with the details of what will need to be installed to participate in the session, but you are welcome to just watch me too!
2) In the last session of the day (4:00 to 5:00) I will be presenting “Are You Certifiable?”. In this session we will be talking about the merits of developer focused certifications and laying out a plan of action to attach a new certification if you have the desire – hopefully this will be a very interactive session with people sharing their thoughts and their experiences!

Overall this is a pretty big, and full, code camp. Based on the current version of the schedule there are 9 rooms (one only has two sessions scheduled) and 6 sessions for a total of 50 sessions to choose from!
I’m sure that I will have a hard time deciding which sessions to attend, but here is a first cut of what I’m thinking:

Session 1: Windows 8 for Developers (alternate choices are: Introduction to jQuery; Advanced Team Foundation Server 2010 Programming)

Session 2: Programming for the Kinect (alternate choices: Test Driving Javascript; Agile Development Primer; Code Katas Continued: Practicing your Craft)

Session 3: No choice here, I’m presenting Build Your First Windows Azure Application (I’m sad to be missing: Building HTML5/JavaScript applications in Windows 8; It’s All Geek to Me)

Session 4: Polling is for Chumps (WebSockets & Server-Sent Events) (alternate choices: The Browser Is the Platform; Simplify Testing with Test Doubles; Identity Federation with Windows Azure Access Control Service)

Session 5: Branches and Merges are Bears, Oh My! (alternate choices: CSS Best Practices; Randori: Group Practice)

Session 6: Again, no choice here. I’m presenting Are You Certifiable? (I’m sad to be missing: Linq (From the Inside); The Future of JavaScript; Rocking WebForms with jQuery; Transforming traditional portals to social intranets; Ask a DBA) – great sessions in this last of the day slot!

Some very hard choices there, I really wish that I could see all the sessions!

Thanks to everyone involved in the code camp – it is a lot of work and it is a great event.

Hope to see lots of friends, and find new ones on Saturday!