# Monday, 08 August 2011

When people think about Kanban, they usually get the impression that Kanban is either an inventory control mechanism or a system to manage an assembly line of workers. This is due to Kanban’s historical roots as part of Lean Manufacturing and the Toyota Production System.

When I talk about Kanban, especially in reference to using Kanban with software development, I stress the importance of flow; how you pull items through the production system while limiting the work in progress. My favorite thing about Kanban is the Kanban card itself. Kanban gets its name from the card; Kanban translated from the Japanese means “signal card”. According to Lean definitions a Kanban card contains information about a part used in production. It is a signal that tells someone upstream to order more of that part, or move more of that part (from inventory to a production queue for example), or build more of that part. In essence a Kanban card is a visual signal that triggers an action to happen in the workflow.

Kanban has evolved to be used outside of the manufacturing world and has started to gain acceptance in software development. Kanban is also being used in operations outside of manufacturing and software. In his book, Kanban, David Anderson described how Kanban is used to do crowd control at the Imperial Gardens in Tokyo, limiting the inventory or “work in progress” (visitors.)

IMG_20110806_123850I had a similar experience this past weekend in Japan. I was on a short weekend vacation in Tokyo with my wife. What had started out as a trip to watch some professional Japanese Baseball, slowly was evolving into a shopping trip for my wife. Hot, tired and trying to avoid shopping for shoes, I suggested we duck into the local Starbucks. As my wife snagged us a table, I tried to order by pointing, smiling, and hand jesters. Somehow I was able to order my old reliable a Tall Soya Chai. After I paid, I was handed my receipt (never walk away in Japan without first taking the receipt) and a strange looking card.

I did not really know what this card was for, but it did say “Soymilk” in English as you can see from the photo. I was intrigued and figured that maybe it was information about the Soya Milk that they use or maybe it was something about the organic certification.

 

Then I figured that it was probably some rock star Japanese targeted marketing, the Soya Milk company probably paid Starbucks to place an advertisement for their soya milk so you can buy it for use at home. I decided to flip it over since, this being Japan, I figured that there was probably a bar code for my Android phone to scan and I can see the ad. I wanted to see if there was a link to buy it, with a discount, with one click. (I’m sorry, but this is how my mind works.)

To my shock, when I turned it over, I realized that I was holding not a marketing ad, but a real-life Kanban card! The back of the card read in both Japanese and English: “Please hand this card to our Barista at the hand off.” It went on to say at the bottom: “We sincerely serve our soymilk beverages to our customers by using this card to prevent milk allergy incident.”

IMG_20110806_123858

Wow! As someone with a milk allergy and someone who teaches Kanban, I was blow away. I have been drinking Soymilk Chai for almost 10 years and have been to tons of Starbucks around the world and never have been given anything to signal to the Barista that I received the correct beverage. (Actually I find that the Barista’s in New York consistency screw up my order.)

Now you may be thinking, “Steve, this is a stretch. Kanban is about work in progress and just in time delivery, not coffee.” At the surface you are correct, but Kanban is about using a physical visual signal card (Kanban Card) to trigger an action in a workflow. Usually this trigger is to order more inventory. Sometimes that inventory is car tires (as in the assembly line in Toyota) and sometimes it is people (as in David Anderson’s visit to the park.)

In this case, Starbucks in Japan (I went to several other Starbucks to be sure), uses Kanban to manage the ordering, making, and drink pick-up workflow by verifying (or limiting the work in progress) inventory of Soya beverages made. In the “Soya” case, the cashier starts the workflow by processing the Soya request and gives the Kanban card to the customer and alerts the Baristas to the order. When the customer hands the Kanban card back to the Barista, one Soya beverage is removed from the queue; the number of Kanban cards must equal the number of Soya beverage inventory at the counter. In essence, the Customer “pulled” the work (the Soya beverage) through the system and the Kanban card is ensuring quality.

Remember, a Kanban card is about a visual signal that triggers an action in a workflow. The Soya Milk Kanban card signals to the Barista that they must remove one Soya drink from the inventory of drinks in front of them. (If you have ever been to Starbucks, you know that the Barista may have 5 or even 10 drinks in front of them in “inventory” at any given time.) When you look at this system as a whole, it is pretty simple, yet brilliant. Maybe we can start to use visual signal cards as part of the QA process in software development. I left Japan inspired by Starbuck’s embracement of Lean manufacturing and Kanban for quality!

PS: I tried to bill my employer, Telerik, for the drinks I consumed in Japan this weekend on an expense report, saying it was “market research”. When my expense report was rejected, they told me that the accounting department is now using a Kanban system to maintain quality and my expense report was flagged. Winking smile

posted on Monday, 08 August 2011 03:33:04 (Eastern Daylight Time, UTC-04:00)  #    Comments [1] Trackback
# Thursday, 14 July 2011

Thursday, July 21, 2011
WPF Validation - Techniques & Styles

Subject:
You must register athttps://www.clicktoattend.com/invitation.aspx?code=155685 in order to be admitted to the building and attend.
Of all the things that WPF gives us, a validation framework is not one of them. There are a few different ways of capturing validation information and providing rules for validation and there are many ways of displaying broken validation rules. In this session, I'll show you what WPF offers in the area of validation, how to include validation in your View-Models when using MVVM, and a few different styles for elegantly reporting validation errors to the user.

Speaker:
Miguel Castro, IDesign
Miguel Castro is an architect with IDesign with over 26 years of experience in the software industry. He’s a Microsoft MVP, member of the INETA Speakers Bureau, and ASP Insider. With a Microsoft background that goes all the way back to VB 1.0 (and QuickBasic in fact), Miguel speaks regularly at numerous user groups, code camps, and conferences in the US and abroad. He has also been featured on the technology talk shows, .NET Rocks, .NET Rocks-TV, Microsoft’s ARCast, and The Polymorphic Podcast on numerous occasions. He specializes in architecture and development consulting and training using Microsoft technologies. Miguel is also a regular author with CoDe Magazine and a proud father of a very computer savvy 7-year-old girl.

Date:
Thursday, July 21, 2011

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 Thursday, 14 July 2011 02:27:10 (Eastern Daylight Time, UTC-04:00)  #    Comments [1] Trackback
# Tuesday, 05 July 2011

A few weeks ago I was in the Telerik cafeteria at our world headquarters in Sofia, Bulgaria, and a colleague walked up to me and asked: "Is Silverlight dead?" I replied: "No, but it has seen better days."

Since Silverlight's absence from last year's Professional Developers Conference (PDC) in Redmond, WA, the infamous "our strategy has shifted" comment made by Microsoft Server and Tools Division President Bob Muglia, Scott Guthrie's move out of DevDiv, and the recent reorg of the XAML team, the community has been in an uproar assuming that Silverlight is dead. So the community has voted, Silverlight is dead and HTML5+JavaScript is the future.

First a few words on HTML5 + JavaScript

Many people in the IT industry assume that HTML5+JS is the future of software development. While it would be easy to say HTML5+JS is the absolute future of software development, HTML5+JS still has its limits coming from its roots as a rendering platform with some scripting, communication attached. While I feel HTML5/JS will be huge and have a place in every developer’s toolkit (just as HTML4+JS (AJAX) does), to build true LOB applications, you will need more power, just as you do today.

HTML5+JS is finding its sweet spot with media, interactive content apps on the web (think Google Maps) and cross platform apps for mobile devices. While Microsoft is fully embracing HTML5+JS, I can never see them making it their main development strategy; Microsoft would never cede its development strategy to a standards body or a 3rd party. Realizing this, Microsoft is going to have a development platform that embraces and extends HTML5+JS, just like .NET/ASP embraced and extended HTML5+AJAX.

I think that all of the recent focus on HTML5+JS by Microsoft is to hook the non-Microsoft developers who know nothing about Silverlight or .NET on the Windows 8 Tablet and get them building apps to compete against Android and iOS. I believe that what will evolve is that for the developer ecosystem is that HTML5+JS will primarily be used for building "apps" on the Tablet, but not for "real" line of business applications on the Web, “native” Windows, and XBox. 

Is Silverlight Dead?

I will admit, when Steven Sinofsky and Co were showing off the new Windows 8 operating system and all of the HTML5+JavaScript developer hooks, I was tempted to join in the "Silverlight is dead" chorus. After some deep thought, I realized that rather than killing off Silverlight, Microsoft may have something else in store for us. If you read in-between the lines and take with a grain of salt what the blogs say, it is possible to draw some conclusions about the future of XAML and Silverlight. 

One popular blog talks about a new native user interface library, DirectUI, that builds on top of the native Direct2D and DirectWrite APIs that were introduced with Windows 7. According to the blog, a new platform code named "Jupiter" is part of Windows 8 and is a "Native XAML" runtime that runs on top of DirectUI.

If the blog about the Native XAML and DirectUI/Jupiter project is true, then re-org of the XAML team makes complete sense. In case you missed the leaked news, the XAML runtime team at Microsoft is moving to join the Windows team, the XAML runtime team for Windows Phone 7, Xbox, and browser plug-ins is moving to the Windows Phone 7 team, and the XAML tools team will remain in the Microsoft developer tools division. 

To me, this looks like Microsoft doubling down on its XAML strategy, not abandoning it. By putting the XAML runtime team under Windows, Microsoft is making XAML part of the core operating system. This is huge. Anything included as part of the Core OS is treated as royalty inside of Microsoft. It also means that any XAML based application (either in WPF or Silverlight) will run natively as part of Windows, opening up the door to even faster performance.  (History buffs may recall that this was the original vision of XAML, aka Project Avalon, that was presented at PDC 2003. Better late than never? ;))

The Future: Native XAML

I see XAML as a native part of Windows 8, Internet Explorer 10, Windows Phone 7, and Xbox- the common thread that unifies development for the Microsoft stack, even more so than .NET (which does not fully run on all of these platforms) If HTML5 gets fragmented, as it surely will, I can one day even see a native, hardware accelerated runtime of XAML being released for the Mac (there already sort of is one), Android, iOS, and maybe even Linux sometime in the future. 

Notice that I have not been saying "Silverlight" or "WPF,” but instead “XAML.” It is more than possible that WPF and Silverlight will merge into "Silverlight+" or something like that, but XAML is the star. Since the XAML runtime has moved to Windows core and is no longer part of .NET, a "Silverlight" app that is deployed on the web, can run natively on Windows and take advantage of the local system and hardware, blurring the difference between WPF and Silverlight. It’s a natural evolution since the WPF and Silverlight teams at Microsoft were really one big team at this point. 

Since the Silverlight brand is popular and has a cool name (something Microsoft never seems to do), I have a feeling that Microsoft will leverage the Silverlight brand when releasing "Jupiter". I expect to see one native XAML runtime and development environment ship as part of Windows 8, effectively merging WPF and Silverlight. 

I don't see Silverlight as being dead, but rather reborn bigger and better. Instead of being its funeral, the Build Conference will be Silverlight and XAML's graduation party.

At Telerik, we are also going to double down on our XAML strategy. Since the beginning, we have always had only one XAML team with one XAML code base, so our WPF and Silverlight share the exact same codebase and our Windows Phone 7 tools are a subset of that codebase. We see Native XAML as a massive opportunity and will continue to support our XAML tools now and in the future. We’ve recently released a beta of our XAML controls that features a Persistence Framework and DataServiceDataSource as well as some spectacular Data Visualization controls. Our XAML tools, including Windows Phone 7, will ship the Q2 release later this month. We have our Q3 release scheduled later this year which should include some great new charting capabilities, new DataSource controls, and a ZIP compression library.

We will continue to make improvements to our XAML tools, including our Windows Phone 7 controls and our Facebook application, telerik fdeck, built on top of WPF and look forward to Native XAML’s long future.

posted on Tuesday, 05 July 2011 09:29:15 (Eastern Daylight Time, UTC-04:00)  #    Comments [7] Trackback
# Friday, 01 July 2011

As most of you know I do a lot of speaking in the Middle East. Many people, including my Mother tell me that I should not go to the Middle East since it is “dangerous.” Someone forwarded this to me, it was a session I did in December 2007 for the Cairo, Egypt .NET User Group. I did almost die right before the meeting, but not to terrorists. Winking smile Fast forward to 9:50 for the story. Enjoy!

posted on Friday, 01 July 2011 16:42:44 (Eastern Daylight Time, UTC-04:00)  #    Comments [1] Trackback
# Monday, 06 June 2011

Thursday, June 16, 2011 
What's new in ASP .NET MVC 3.0

Subject: You must register athttps://www.clicktoattend.com/invitation.aspx?code=155683 in order to be admitted to the building and attend. 

Whether you are contemplating adding ASP .NET MVC to your toolbox or have already been using ASP .NET MVC 1 or 2, there is something for you in this session. John will present the major new features in ASP .NET MVC 3, which include the Razor -based views, sessionless controllers, new SEO enhancements, new helper methods and Dependency Injection enhancements to name a few. In addition, John will illustrate how to incorporate IIS Express into your development efforts. Time will be allocated for general questions you may have regarding Visual Studio, general development topics, etc.
 


Speaker: John Petersen

John Petersen has been developing software for 20 years, starting with dBase, Clipper and FoxBase + thereafter, migrating to FoxPro and Visual FoxPro and Visual Basic. Other areas of concentration include Oracle and SQL Server - versions 6-2008. John is the Philadelphia Microsoft Practice Director for CEI America (www.ceiamerica.com), a Microsoft Gold Partner. From 1995 to 2001, he was a Microsoft Visual FoxPro MVP. Today, his emphasis is on ASP MVC .NET applications. He is a current Microsoft ASP .NET MVP. In 1999, he wrote the definitive whitepaper on ADO for VFP Developers. In 2002, he wrote the Absolute Beginner’s Guide to Databases for Que Publishing. John was a co-author of Visual FoxPro Enterprise Development from Prima Publishing with Rod Paddock, Ron Talmadge and Eric Ranft. He was also a co-author of Visual Basic Web Development from Prima Publishing with Rod Paddock and Richard Campbell. In 2004, John graduated from the Rutgers University School of Law with a Juris Doctor Degree. He passed the Pennsylvania and New Jersey Bar exams and was in private practice for several years.


Date: Thursday, June 16, 2011 

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 Monday, 06 June 2011 15:49:21 (Eastern Daylight Time, UTC-04:00)  #    Comments [0] Trackback
# Friday, 03 June 2011

They Keynote on Kanban I did at both the PMI day and ITCamp in Romania as well as the TechEd North America breakout session is available on slideshare. Enjoy!

posted on Friday, 03 June 2011 00:02:42 (Eastern Daylight Time, UTC-04:00)  #    Comments [1] Trackback
# Friday, 13 May 2011

Next week I will be headed to Atlanta, Georgia, for my 10th TechEd North America, and my 21st TechEd of my career worldwide. I will be doing three breakout sessions this week, all on the agile methodologies.

There are over 200 sessions at TechEd, however, my Agile Estimation session, so popular last year at TechEd Berlin, will be live streamed, so if you can’t join me in Atlanta, join me on the live stream, it will be fun. Here are all of my sessions.

DPR202 | Agile Estimation (Live Streamed)

Breakout Session | 200 - Intermediate | Development Practices & Architecture

Speaker(s): Stephen Forte

Tuesday, May 17 | 10:15 AM - 11:30 AM | Room: C305

 

DPR306 | The Agile Buffet

Breakout Session | 300 - Advanced | Development Practices & Architecture

Speaker(s): Joel Semeniuk (This is listed at Joel’s session, but we are doing it together)

Wednesday, May 18 | 10:15 AM - 11:30 AM | Room: B309

 

DPR203 | Yes, We Kanban!

Breakout Session | 200 - Intermediate | Development Practices & Architecture

Speaker(s): Stephen Forte (This is listed as my session, but Joel is doing it with me)

Thursday, May 19 | 1:00 PM - 2:15 PM | Room: B309

posted on Friday, 13 May 2011 09:17:59 (Eastern Daylight Time, UTC-04:00)  #    Comments [0] Trackback
# Thursday, 12 May 2011

Thursday, May 19, 2011
Building N-Tier Applications With Entity Framework 4

Subject:
You must register at https://www.clicktoattend.com/invitation.aspx?code=155176 in order to be admitted to the building and attend.
The first version of the Entity Framework (EF) did not support entity objects detached from the object context, making it difficult or impossible to use EF in any serious n-tier application. The situation is vastly improved with the release of .NET 4 and the new Entity Framework, which supports a number of strategies that enable and simplify n-tier development. In this demo-packed session, Lenni will show you how to work with EF in disconnected and service-oriented architectures. You’ll see a number of scenarios up close, along with the code that makes it work. We’ll begin with simple cases of attaching disconnected objects to the context, and then move on to richer scenarios involving basic WCF services, and higher-level abstractions with WCF Data Services and WCF RIA Services. You’ll also learn how to create POCOs (plain old CLR objects) and Self-Tracking Entities using the specialized T4 templates now available in Visual Studio 2010. Attend this talk, and learn how to build n-tier applications with Entity Framework 4 today!

Speaker:
Leonard Lobel, Sleek Technologies
Leonard Lobel is the chief technology officer (CTO) and co-founder of Sleek Technologies, Inc., a New York–based development shop with an early adopter philosophy toward new technologies. He is also a principal consultant at Tallan, a Microsoft National Systems Integrator. Programming since 1979, Lenni specializes in Microsoft-based solutions, with experience that spans a variety of business domains, including publishing, financial, wholesale/retail, health care, and e-commerce. Lenni has served as chief architect and lead developer for various organizations, ranging from small shops to high-profile clients. He is also a consultant, trainer, and a frequent speaker at local usergroup meetings, VSLive, SQL PASS, and other industry conferences. Lenni is also lead author in the new MS Press book "Programming Microsoft SQL Server 2008". He can be reached at lenni.lobel@tallan.com.

Date:
Thursday, May 19, 2011

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 Thursday, 12 May 2011 08:50:58 (Eastern Daylight Time, UTC-04:00)  #    Comments [0] Trackback