Archive for April 29th, 2010
A new feature in Silverlight 4 is the ability to consume REST/POX (XML) services in a strongly-typed way, using the same programming model as the desktop framework. That includes WebGet/WebInvoke attributes, UriTemplates and body styles. By default, only XML is enabled, but there are extensibility points which can be used to enable the consumption of JSON and Raw services as well (i.e., the full web programming model of the desktop framework).
The issue is that the Expression Blend Add-in Preview for Windows Phone (April Refresh) is not compatible with Blend 4.0.20408.0, which was the public RC (release candidate).
Tim also shows how he extended the SMF implementation and created a player to suit his specific needs (including not using DVR, among other features). He cracks the code open and shows how he extended the SMF to add custom features so the video does not start until it has a chance to buffer (about 3 seconds). Tim also added the ability to pass a parameter to the SMF player to indicate if it should automatically load the video or if the video should use smooth streaming.
There has been much deriding of both Scrum and the word “certification” in the past few months. It has become quite vogue to look down on formal training of any kind it seems, particularly among the ALT.NETerati. I get it, and I think several of the criticisms are deserved. Some aren’t.
- I am a Professional Scrum Developer Trainer. That is: I have been certified by Microsoft and Scrum.org to teach others about Scrum and modern engineering practices on the Microsoft platform. More information about all of that is available here and here.
- I teach for a living. Mostly Visual Studio ALM along with topics I believe are focused on making better software craftspeople.
- I have watched teams get it wrong (and sometimes right) for about 20 years now. That admission makes me feel very old.
A Bit More Background
Choosing to enter the Microsoft and Scrum.org program and be part of the certification process for developers was not an easy one for me. Indeed, as several people I irritated with my waffling for over 6 months will attest, it was a decision I spent a long time considering. In the end, I obviously elected to become an instructor for certification courseware and this in this post I will tell you why.
I first practiced Scrum in or around 2003/4, if memory serves. I didn’t see it done well for several years after that.
On paper, everything sounded just spiffy when I studied Scrum and considered bringing it to my team and organization. Who wouldn’t want the benefits it promises of frequent feedback, clear accountability, and no-nonsense shipping of product? To get started we hired Jeff Sutherland to come in and teach the original Certified Scrum Master course offered through the Scrum Alliance. I was baffled that at the end of the 2 day discussion to receive this thing called a “certification”. My colleagues and I actually joked about it at the time as being proof that we didn’t fall asleep in class. As Ken Schwaber pointed out to me in an interview recently, we probably could have nodded off and been fine, actually.
My team struggled a great deal trying to use Scrum well. I won’t bother including the long list of mistakes we made, but we eventually got traction and settled into a cohesive rhythm. After we figured things out, Scrum became an amazing vehicle for delivering product, which was the original intent.
To my knowledge, Scrum is still used today in that organization. At the time of my departure was in fairly healthy shape.
Looking back on Scrum’s contribution to my professional life and its contribution to our industry as a whole, I am humbled. Scrum as an idea has done more to drive agile software development than perhaps any idea other than the original manifesto itself. TDD ranks right up there, but fewer CEOs have heard of TDD. There are a lot of reasons Scrum has won the marketing war, but the simple fact is that our profession is a better place for the presence of the Scrum framework and the people who provided stewardship to it, Ken Schwaber and Jeff Sutherland.
I know good and well that other techniques are very effective. Kanban is a wonderful way for many teams to operate. Feature Driven Development is a powerful model for the teams who need to formality of it. And of course, the gaping hole left by the absence Extreme Programming reminds us that zealotry has its costs. Scrum, as it advertises, is not a silver bullet. It won’t fix anything, in fact. Only people of good intent who come together and try to do something well can make that happen. Scrum can merely provide the rules of engagement.
Scrum is popular for several reasons. When it comes to the mechanics of the framework:
- It is easy to understand.
- It is easy implement and follow the basics.
- It can show dramatic return in a short period of time.
- The first Scrum in an organization is a highly visible Kaizen Blitz.
With all of those benefits, Scrum is plagued by the same problems as every other process or methodology framework in the world.
- Human beings are the ones who try an implement it.
- Human beings are the ones who try an implement it.
Scrum is great when wielded for good. It is the lowest barrier-to-entry agile technique I know (excluding engineering practices, like TDD and CI). Teams who currently live in plan-driven organizations derive great benefit from Scrum and so do the organizations themselves. Scrum can be very, very effective.
I chose to work with Scrum.org specifically because I know from experience there are more shops out there that need to change than those who don’t. I believe most of those shops cannot handle something like Kanban. [See this for more] My professional life as a trainer is focused on helping developers love our craft again. Those of us who got a thrill from lighting up a pixel many years ago have just been beaten to hell and back since deciding to do this for money. Although Scrum is only one arrow in the quiver, Scrum as a great vehicle for improving people’s professional lives.
Ken has readily admitted that using C-word in the beginning of the Scrum Alliance has resulted in a complete and total mess. Primarily because certification involves a demonstration of something, typically knowledge. Unfortunately that requirement was never required to obtain a Certified Scrum Master “credential”. We can all recognize this is not a credential in it’s current form as offered by the Scrum Alliance, but merely a roster of class attendees. ‘Nuff said.
I also see there is value in demonstrating knowledge through a genuine certification process. For example, we all take driver’s tests. I look for ASE (Automobile Service Excellence) certified mechanics to work on my car. I trust a BMW certified technician to work on my motorcycle. What is a university diploma if not a certification award?
In almost any field, it is impossible to certify competence. Certification can demonstrate knowledge, but not ability, talent, experience, or wisdom. It is exactly for this reason that I never got hung up on a college degree as a hiring manager but went to great lengths to try and know a person. A college degree did show me what that person experienced, though, because I basically know what it means to get a university degree. There is value in that credential because it had to be earned.
Given the current state of the industry, there are 3 logical progression paths for Scrum certification.
- Change nothing and remain a mockery.
- Drop the certification word and idea altogether.
- Add meat to C-word by actually testing for it.
Scrum.org is taking the 3rd option and I am going for that ride. My reasons include:
- Working for change within a system is typically far more effective than pushing from the outside.
- Scrum as an idea continues to help teams and individuals improve.
- I respect the people involved in the stewardship of Scrum.org.
- “Certification” means a demonstration of knowledge by a taking a test in this crowd. Not perfect, but a good start.
- I believe the teams and other trainers I work with have the best interest of the craft at heart. Really.
On The Future of the Craft
In the last 60 years of programming computers, we have have learned that developing in small batches and delivering incrementally works. Scrum gives us a model for doing exactly that, and it will still be helping teams until the next great thing is found. Now that I know Ken a bit better I can say that Scrum itself will likely evolve to incorporate whatever works better.
Ridiculing certification or Scrum may well be the in-crowd thing de jour, but I see that Scrum addresses a core need in our industry, and genuine certification has its own benefits. Lean offers some wonderful directions for us, and shows all the signs of providing a path forward. But, let’s not forget that Scrum is an inherently Lean idea.
But I digress.
Another time, perhaps.