# Tuesday, August 24, 2010

I recently read Kanban by David J Anderson. David is credited with implementing some of the first Kanban agile systems at various companies. In Kanban, he gives a great overview of what Kanban is, how it grew out of the a physical manufacturing process at Toyota, and offers practical advice on how to implement Kanban at your organization. David also shows you how to set up a Kanban Board and provides several ways to model your system and manage the board.

In addition, David walks us through what the Lean movement is and how it relates to agile software development. He makes a very convincing case for tracking work in progress (WIP) and basing your system around that. Kanban attempts to limit WIP for better throughput. David freely admits that there is no actual scientific evidence as of yet that proves smaller WIP increases productivity and quality, however, he offers up his case studies as well as others.

image

What I found very helpful is that David reviews the popular Scrum agile methodology and pokes some holes in it. He shows some of the weaknesses of time boxing (the “sprint”), estimating,  and the daily scrum and offers up alternatives via Kanban. David reminds us that agile is a set of values, not a set of rules. (Some people using Scrum today don’t like any change, they are so invested in Scrum that they forget that Scrum is about change.)  Scrum forces you to throw out completely your current system and replace it with Scrum. Kanban allows you to keep your existing process and make changes, changes that revolve around communication, WIP, and flow. Kanban will let your current methodology evolve, not complete revolutionize it.

I used a crude, early version of Kanban a few years ago at my startup in New York. (A blog post will come on this next month.) I also used Scrum pretty extensively over the past few years and realize that neither system is perfect. Kanban is more flexible and Scrum (in my opinion) is easier to get estimates to managers who value “deadlines”.  (What managers don’t?) There are strengths and weaknesses of both and David points this out in his book. A few people mix and match and use a “Scrum-ban” system. Personally I have seen the best success with Kanban and doing system maintenance and Scrum for greenfield start-ups with new teams.

If you are practicing any agile methodology or want to improve your current system, read Kanban. It is worth a try, even if you only implement a few ideas from the book.

posted on Tuesday, August 24, 2010 3:35:54 AM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] Trackback
# Monday, August 16, 2010

I will be speaking at my 15th Software Developers Conference in the Netherlands on October 25th and 26th. For some reason the Dutch keep asking me to come back, even though I make fun of the Dutch pretty much full time. The SDC is special for me; the very first international conference that I ever spoke at was the SDC in 1998. I have been back every year (except 2000) and even did a few of the smaller one day conferences. Over the years I have done some crazy things, including showing up for my session after just coming back from the Red Light District in Amsterdam. (Hey what happens in Amsterdam, stays in Amsterdam…) Richard Campbell and I once did a session called “Mid-evening Technical session with Beer.” The abstract said “Bring beer and hear Richard and Steve talk about the latest technology.”

image

This year I will be doing a Scrum v Kanban v XP v Whatever smack down that will really be a Q&A lead by Remi, Joel, and me. I will also be doing a RIA Services 101 talk, no slides, just demos.  If you are in Europe this fall, swing by.

posted on Monday, August 16, 2010 4:03:16 AM (Eastern Daylight Time, UTC-04:00)  #    Comments [1] Trackback
# Friday, August 13, 2010

Thursday, August 19, 2010
Building Windows Phone 7 Games in 3D with XNA Game Studio 4.0

Subject: 
You must register at https://www.clicktoattend.com/invitation.aspx?code=149726 in order to be admitted to the building and attend.
Why would you be forced to buy a Mac and learn yet another language to write mobile games? The truth is you can reuse your finely honed .NET and C# skills to write games that will run on Windows, Xbox 360 and the hot new kid on the block: Windows Phone 7. Enter XNA Game Studio 4.0. Join ActiveNick in this session as your fast track to the world of mobile game development where we jump right away into the fun stuff. We’ll go through a quick recap of XNA Game Studio and dive right in. No, we won’t be building no Atari 2600-style 2D games, let’s mess around with the cool 3D stuff. We’ll cover designing games for mobile phones, adapting desktop & console XNA code for Windows Phone 7, tapping into the phone hardware, discuss media assets and the Content Processing Pipeline and basically cover as much demo code as the evening will allow. Forget SharePoint and Entity Framework, this is the kind of coding you signed up for when you decided to go pro as a coding geek.

Speaker: 
Nickolas Landry, Infusion
Nickolas Landry is Practice Manager in New York for Infusion Development, a Microsoft Gold Partner which offers quality software development services, developer training and consulting services for large corporations and agencies in the North America, the UK and Dubai (www.infusion.com). Known for his dynamic and engaging style, he is a frequent speaker at major software development conferences worldwide, a member of the INETA and MSDN Canada Speakers Bureaus, and a 6-year Microsoft MVP on Device Application Development. With over 18 years of professional experience, a software architect by trade and a career almost entirely dedicated to Microsoft technologies, Nick specializes in .NET mobility, Bing Maps & Location Intelligence, High-Performance Computing (HPC), Game Development with XNA, and Smart Clients. He wrote multiple articles for CoDe Magazine and several .NET mobility courses for Microsoft, has been a technical editor for many books, and holds several professional certifications from Microsoft and IBM. www.twitter.com/ActiveNick

Date: 
Thursday, August 19, 2010

Time: 
Reception 6:00 PM , Program 6:15 PM

Location:  
Microsoft , 1290 Avenue of the Americas (the AXA building - bet. 51st/52nd Sts.) , 6th floor

Directions:
B/D/F/V to 47th-50th Sts./Rockefeller Ctr
1 to 50th St./Bway
N/R/W to 49th St./7th Ave.

posted on Friday, August 13, 2010 3:42:24 AM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] Trackback
# Thursday, August 12, 2010

This coming October, I will be speaking at DevReach in Sofia, Bulgaria. DevReach is a great event and will be entering its 5th year. It is a two day event with A list speakers (excluding myself of course). World famous Scott Stanfield is the keynote speaker this year and there will be some great BI content presented by Andrew Burst.  Joel, Remi, and I will be leading a Scrum/Agile/KanBan/Scrum-but “smackdown” talk/discussion. At only 200 euros, it is the best bargain in Europe! You can register here.

I have spoken at all previous DevReach events and will keep speaking there until they tell me they don’t want me anymore. DevReach is special to me, at the first DevReach, I was able to play a very small role in helping the conference founder Martin Kulov recruit some speakers and plan the event. I also met for the first time at that first DevReach, my current employer, Telerik.

I liked it so much, I stayed. ;) Watch out, it could happen to you….

posted on Thursday, August 12, 2010 6:41:58 AM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] Trackback
# Wednesday, August 11, 2010

Microsoft recently released a CTP of the cloud based SQL Azure management tool, code named “Houston”. Houston was announced last year at the PDC and is a web based version of SQL Management Studio (written in Silverlight 4.0.) If you are using SQL Management Studio, there really is no reason to use Houston, however, having the ability to do web based management is great. You can manage your database from Starbucks without the need for SQL Management Studio. Ok, that may not be a best practice, but hey, we’ve all done it. :)

You can get to Houston here. It will ask you for your credentials, log in using your standard SQL Azure credentials, however for “Login” you have to use the username@server format.

image

I logged in via FireFox and had no problem at all. I was presented with a cube control that allowed me see a snapshot of the settings and usage statistics of my database. I browsed that for a minute and then went straight to the database objects. Houston gives you the ability to work with SQL Azure objects (Tables, Views, and Stored Procedures) and the ability to create, drop, and modify them.

image

I played around with my tables’ DDL and all worked fine. I then decided to play around with the data. I was surprised that you can open a .SQL file off your local disk inside of Houston!

image

I opened up some complex queries that I wrote for Northwind on a local version of SQL Server 2008 R2 and tested it out. The script and code all worked fine, however there was no code formatting that I could figure out (hey, that is ok).

I wanted to test if Houston supported the ability to select a piece of TSQL and only execute that piece of SQL. I was sure it would not work so I tested it with two select statements and got back one result.  (I tried rearranging the statements and only highlighted the second one and it still worked!)  Just to be sure I put in a select and a delete statement and highlighted only the select statement and only that piece of TSQL executed.

image

I then tried two SQL statements and got back two results, so the team clearly anticipated this scenario!

image

All in all I am quite happy with the CTP of Houston.  Take it for a spin yourself.

posted on Wednesday, August 11, 2010 6:16:33 AM (Eastern Daylight Time, UTC-04:00)  #    Comments [1] Trackback
# Tuesday, August 10, 2010

Google and Verizon unveiled on Monday a proposal that would create two internets: an open one that we know and love today and another one that is more expensive with dedicated pipes and has premium content and services. In theory it would work like this: if you wanted something like YouTube in 3D HD quality with special content (like new movies, etc), that content would only be available on a different set of pipes, pipes you would have to pay for. This will  lead to a tiered, less open Internet.

As expected Net Neutrality supporters went nuts. As reported by Wired, Free Press Political Adviser Joel Kelsey said:

Google and Verizon can try all they want to disguise this deal as a reasonable path forward, but the simple fact is this framework, if embraced by Congress and the Federal Communications Commission, would transform the free and open Internet into a closed platform like cable television. ... It’s a signed-sealed-and-delivered policy framework with giant loopholes that blesses the carving up of the Internet for a few deep-pocketed Internet companies and carriers …

I am torn on this issue. I consider myself to be a free market libertarian. I know what Friedrich von Hayek would say: let Google and Verizon do what they want, tiered pricing is a way to deal with scarcity.

von Hayek is right, there are only so many fat and fast pipes on the internet (scarcity) and if people are willing to pay for premium content and services, like cable TV, then the market should allow for that. The theory also says that there will be positive externalities and the innovation will trickle down to the free/open/other internet. This was the case with cable TV, cable started with HD TV and innovative programming and “regular” free TV caught up.

On the other hand, the Internet is more important than cable TV. The Internet is a platform for business and entrepreneurship. The internet is also a platform for social change (and political protest in some countries.) Living in China I already live in a tiered environment. When I am home in Hong Kong, I can do whatever I want. When I travel 30 minutes north to Shenzhen, I am on the less open, firewalled internet. I see how people use the internet to create businesses and social change here in Hong Kong and how that does not happen in China. (Don’t be fooled about online entrepreneurship stories in China, it does not exist as it does in more open countries.)

While my example of China is a politically charged one and one that deals more with censorship, the internet is a great way to level the playing field. With cloud computing and cheap skilled software programming labor in developing counties, just about anyone can start a business today and be the next Google. If only certain applications and services were available over the “premium” internet, innovation, entrepreneurship, and social change will all suffer.

posted on Tuesday, August 10, 2010 4:38:20 AM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] Trackback
# Monday, August 9, 2010

Last Thursday I did a Scrum session at VSLive on Microsoft’s campus in Redmond, Wa. I lectured for about 30 minutes and then we went for a Q&A, just how I like it. Actually we really had a true conversation, people commenting on each other’s questions and comments, etc. Here is what we talked about:

  • The Agile Manifesto and how it is just four items
    • The Agile Manifest is about values, not rules
    • The values of the Agile movement: communication, delivering business value, collaboration, embracing change
    • How some agile practitioners are not really agile, they forgot the core values and are too rigid
  • Other agile methodologies like XP and Kanban
  • Where scrum came from: Japan and Harvard Business Review (1986)
  • The Scrum 101 stuff: the daily scrum, iterations, the team, backlogs
  • The world’s greatest project management tool: Microsoft Excel
  • A little on velocity and agile estimation
  • A lot on testing, where to put testers
    • One guy had his testers outside of the sprint-and it worked for him
    • One guy thought about staggering the testers one week behind the dev sprint (we had mixed reviews on that)
  • It is ok to change Scrum!
    • How the inventor of Scrum wants my head for that bullet ;)
    • The best approach is a “buffet table
  • Lean processes at Toyoda and how it relates to software development (a la  Kanban)

Glad that we had a conversation rather than a straight lecture.

posted on Monday, August 9, 2010 8:41:18 AM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] Trackback
# Thursday, August 5, 2010

Yesterday I did the “Building RESTFul applications with the Open Data Protocol” session at VSLive on Microsoft’s campus in Redmond, Wa. We had a lot of fun, we did the following:

  • Looked at some public OData feeds listed at Odata.org
  • We randomly picked a feed, the City of Vancouver street parking feed, and consumed it
    • We also discovered that they have weird primary keys
    • we also discovered the FireFox consumed the OData feed much faster then IE (this on Microsoft’s own network!)
  • Saw how to create a feed automatically from SQL Azure tables
  • Consumed a feed in Microsoft PowerPivot
  • Build a feed on the fly using the Entity Framework and WCF Data Services
  • Consumed that feed in ASP.NET and Silverlight
    • Also looked at Query Interceptors and Service Operations briefly
  • Talked about security, both at the service level and at the IIS/ASP level
  • Made fun of the previous speaker
  • Showed how you can create a feed using 3rd party tools

I wrapped up the talk with a discussion about when you would use OData compared to other technology, such as RIA Services. My rule of thumb was that if you are building an application that you control and your users will consume, you should consider technology such as RIA Services (if you are using Silverlight) or ASP.NET, MVC, etc. If you want to expose parts of your application as a data feed and let others consume it and build applications around it then consider OData.

You can download the slides and code here.

posted on Thursday, August 5, 2010 9:25:53 AM (Eastern Daylight Time, UTC-04:00)  #    Comments [1] Trackback