The blogs of Black Marble staff

More sessions in Ireland next week

Just found out that Robert and myself are both now doing two sessions at the Irish Microsoft Technologies Conference next week.

13:45 - BI in SQL 08 (Richard Fennell)
16:45 - Microsoft Volta: Next Gen .NET Client-Server Apps (Robert Hogg)

10:00 - Overview of Business Process Automation and implementing an Enterprise Service Bus using Microsoft BizTalk Server 2006 R2 (Robert Hogg)
16:45 - What is Scrum? (Richard Fennell)

New style web applications

With the advent of Silverlight we are going to see more and more web delivered applications. A good example of what we can expect is the Microsoft HEROES happen {here} virtual launch site. If you did not make it to the event it is well worth a look with all the slides and videos of the sessions.

This site does makes heavy use of multimedia and it is maybe just me but I find it hard to find things, it look great but I don't like having to guess where the menu might be. In general I want information fast not see a intro video; but this could just be because I am a developer and not a designer. I think this is especially true of sites you go back to again and again. It strikes me that for sites like this search become the key if you are ever to find relevant material.

A heard about a site that bridges the old and new worlds of web delivery on the radio today, it is which is from co founder Brent Hoberman. It is Flash based as opposed to Silverlight, but that is not the point. It allows you to visualize rooms in your own house with a vast range of home furnishings. This site seems easy to use and navigation is simple - maybe this is a better indicator of the next step in web delivered applications. Well worth a look.

New release of VSTS Scrum Process Template

I see there has been a release of the VSTS Scrum Process Template for VS2008 on CodePlex, so adding a way to run Scrum projects with the current release of TFS without the fiddling required for eScrum.

It looks good, but is missing for me the best part of eScrum, the web site that allows quick updating of the Scrum project without the need for Visual Studio. If you are going to be doing Scrum you don't want to having to spend loads of time on the electronic scrum board administration.

When is Complete Complete?

Developing software is complex but breaking the problem down into smaller tasks makes the job easier. It is OK if you are the person who defines the work, splits it down and then completes it yourself as you fully understand what the problem is and when the problem is solved. This is not normally the way it works in the real world. Here the problem is defined by the customer; there is generally someone or a layer or people defining what needs to be done to solve the problem and then a group of developers who are actually implementing the solution. Once the problem and its solution are split between different people the concept of complete starts to become an issue. There are three points of view of completed:  Developers’ perspective, Team Leaders’ perspective, Customers’ perspective.

The customers perspective of completed is when the customer gets what they want. This is not necessarily what is in the requirements. One of the biggest problems with requirements is that the person or people who normally write them understand what they want and often assume that something will be like what they want without actually specifying what it is they actually want. These are hidden or implicit requirements.

The team leaders’ perspective of completeness is when the developers have told the team leader that the task is completed and the software has been built, deployed and is in a fit state to test or demonstrate.

The developers’ perspective dictates that something is complete when the item of work given to the developer is completed as close to the specified design as possible. If you are lucky the developer has let the team leader know which parts of the design have not been implemented for whatever reason.

These three perspectives often are not compatible with each other which lead to disappointment with the customer as things do not appear to be going to plan even though the developers and team leaders think things are going well. If you are not careful this could lead to a de-motivated workforce and an even more disappointed customer.

One of the secrets of a successful development is to align the three perspectives of completion. This generally lies with the team leaders or project managers. This layer of the development process, interfaces with both the customers and the developers and it is their actions that ultimately determine how successful the project is. For simplicity we shall assume that the team leader is handling this issue. It could easily be anyone of the senior members of the development team: the consultant, designer, project manager, team leader etc. It is the team leaders’ responsibility to fully understand what is actually expected to be delivered to the customer. If the team leader does not fully understand what is required then how can anyone expect to get what they want? The team leader must rely on fact and not hearsay or rumours. The team leader must understand the requirements and try to work out what the implicit requirements are and handle the delivery expectations of the customer. If there are features that the customer seems to be talking about that are not explicitly specified in the requirements then the team leader needs to get to grips with what the customer is expecting to be delivered. This will often contradict with what the development team has been contracted to do. This may require that the project manager needs to ensure that the scope of the project is managed and that additional work is charged accordingly (assuming that the customer and developers work for different organisations). It is the team leaders’ responsibility to make sure that the customer is aware of what is being delivered at each stage.

Once the team leader has aligned the customers’ expectations with the requirements the development team can now work to complete the tasks. To make sure that the team understands what they are expected to deliver the team leader must specify the minimum criteria for completeness. This is effectively a set of tasks which explicitly defines what needs to be done. This will include testing, preparing for a demo (including what features are required to demo) and building and deploying. The goal of the team needs to be specified so that all the development team understands what is expected from them. The team needs to be made responsible for delivering the demonstration and the whole team needs to be involved with its preparation. This means that whilst the demonstration is being prepared and the software is being built and deployed, any problems are resolved as soon as possible by the development team. In addition to this any short fall in specification needs to be identified as early as possible so that the customer can be notified and/or the problem resolved before the item is delivered as complete. It is the team leaders’ responsibility to ensure that all this happens, if the delivery is not successful then is it not acceptable for the team leader to blame any member of the team. They are ultimately responsible for the successful delivery.

Aligning the perspective of completeness of the customer, team leader and developer is one of the key to successful software developments. The team leader is the catalyst for this alignment and needs to be able to communicate effectively with the customer and the developer; to understand what is required and to communicate this to the development team.

MVC & Windows Workflow - Controlling page order - Part 1

Having read the article in MSDN magazine about the Microsoft MVC, I decided to have a go myself, I also though it would be a good idea to try to combine this with Windows Workflow and see if I can control the order of pages based upon the state of a workflow state machine. In Part 1 I build the MVC application with a simple model that determines the page order of a wizard type interface. Part 2, which is coming as soon as I manage to write it up and tidy up my demo :), adds the work flow element to the model. [download PDF source]

Irish Microsoft Technology Conference 2008


Both Richard and I are presenting at the Irish Microsoft Technology Conference (IMTC) 2008 on the 3rd and 4th of April l, in Dublin. Richard is presenting on BI in SQL 08  and I am presenting on Overview of Business Process Automation and implementing an Enterprise Service Bus using Microsoft BizTalk 2006.  The agenda can be found at, there are some great speakers lined up. What is noticeable is my title is somewhat longer than Richards and so by the time I have got past my title slide I suspect he will be on his first demo. In my talk I will be giving an overview of collaboration in the Microsoft Sphere , BizTalk and the ESB Architectural guidance package, if practice timings permit I will also be giving some demonstrations of the great tools BizTalk and ESB offer Business Process Automation.

I am also reprising our talk on Microsoft Live Labs Volta , next generation Web Applications, with a promise not to swap laptops halfway through and with working demos ;)

I hope to see you at IMTC 2008, if you need a reason why you should go to IMTC ,  listen to the near legendary Richard Costall below for a shameless plug IMTC.     



Windows Server 2008 , SQL Server 2008 and Visual Studio 2008 Launch event

Richard and I headed down to Heroes Happen Here event in Birmingham in preparation for our launch events in a few weeks time. Due to external pressures and Richards driving ( he won't spring for a helicopter ) we didn't arrive until a bit after the event had started ( I know , I thought they would wait , but its ok they have recorded the whole event so we did miss anything and I don't think they will mind if anybody else has a look ;) )

I did manage to see Eileen Brown do a great turn on OCS 2008 dispute almost insolvable obstacles ( loud music , no Internet ,somebody working at home who was not prepared for a video call i.e. in their pyjama's ) provided a great overview of OCS.

The guys from NxtgenUG ran swagilly fortunes and I respected the 50' exclusion imposed on us after the "incident" with some of our juniors getting a bit too competitive in Barcelona last year ;) , ignoring that Dave still came to say hello ( John seemed to spend all his time buried in cables )

it was nice to see a lot of the usual suspects , if it hadn't been for the need to drive home it would have been nice to chat some more.

if you didn't make the Birmingham event have no fear we will be putting on not one , not two , but THREE events to celebrate the launch of the 2008 wave products.

the events are in the Leeds Bradford area

10th April 6.00pm Windows Server 2008

9th April 6.00pm   SQL Server 2008 

8th April 6.00pm   Visual Studio 2008

good presenters , good food , great prizes and you , what could be better


Vista Service Pack 1

Incase you haven't seen , Vista Service Pack 1 is out and already available from Windows Update. well I am five machines through and not a hitch.

Service Pack 1 adds more than fixes , it offers significant performance and reliability improvements. it also adds a set of general improvements which I don't think are well announced

There are new cryptographic and random number generation algorithms , IIS is the same as its Server version and most importantly UAC has taken a bit of a kick and now behaves a lot better , HURRAH