This is my personal blog - stuff not directly connected to my work goes here - some of it's a little spicy, so watch out for heartburn. Of course if you're lucky you'll find something valuable in the mix of product development, Agile development, innovation, technology and marketing that I write about.

Saturday, July 31, 2004

Two of the guys at the Microsoft Portal event mentioned that their companies exlusively did .NET development in C#, which was also the language used in all of the labs. I'm familiar with VB.NET, but hadn't really bothered doing much with C#, we hadn't seen the need to at my previous workplace, and theoretically there is no difference which language you use in .NET as it is all compiled to MS Intermediate Language anyway.

However, the guys I talked to mentioned that changing to a less familiar .NET language was thought to help programmers remember that .NET is a completely new paradigm, and make the mental shift to it.(Note: Clayton did mention that with v2.0 so close to release programmers who haven't made the shift yet might as well wait for it so as to not have to re-learn everything a second time)

So I bought a C# book for myself (C# Complete from Sybex, a very good deal as it includes the most relevant chapters from all of their other C# books for a third the price of any one of them) and sat down to read it this weekend.

I had barely noticed that we were using C# during the portal labs - partly because the code was already written for us, and partly because when you can program in VB6, VB.NET, LotusScript, Lotus Notes Formulas, JavaScript, VBA, PHP, ASP, Java, HTML, XSLT and Omnis7 then its easy to forget which one is strongly typed and which isn't, which ones requires characters to end a line and which don't and which ones are case sensitive and which aren't.

C# is case sensitive (which I hate, and like Java) and is strongly typed (which I like), it is also object oriented (which is good), requires semicolons (;) to end a line (mostly, another common point with Java, and Lotus Notes Formulas), and you try code and exceptions are thrown (also Java like).

So far I've yet to form an opinion as to whether I would like to program in it. It would certainly make me stop and consider what I was doing, but the decrease in productivity would take a while to overcome. Of course, I probably won't ever program in it, but it is always a good idea to know the tools your team might use.

Speaking of which, I really want to try Whidbey out, and aren't we overdue for a new version of Visual Studio?

Friday, July 30, 2004

Due to the interviews I am now doing, and the fact that we eschewed formal management certifications at my previous workplace (due to a perceived low ROI), I have been looking for ways to describe how we managed projects to recruitment consultants - who are usually just looking for the right buzzwords (and quite rightly too, after all they can't be experts at everything). Unfortunately, I can't just say I'm PMP or PRINCE2 certified or that we based everything on PMBOK*.

What we did do was spend the last five years hammering out our proprietary methodology, based upon our collective Price Waterhouse Urwick and Andersen Consulting/Accenture experiences.

“Analysing this showed us that in many cases a task that had a 'generous' estimate given to it was not completed under budget, but in fact took up the whole of the time allocated. ”

In the last three years, we used Earned Value Management (EVM) methods to control our projects, which increased our ability to predict and control schedule and budget variances. We also played with Extreme Programming (XP) and other agile processes, but never approached them seriously.

We noticed that despite EVM's precision, we still did not always get the desired result. Projects still went over budget with alarming frequency (although we rarely went over the scheduled delivery date). Analysing this showed us that in many cases a task that had a 'generous' estimate given to it was not completed under budget, but in fact took up the whole of the time allocated.

Further analysis showed that this was a combination of people fitting other unplanned (and often nonchargeable) tasks into the time required for their project tasks, and people simply coasting or 'spinning their wheels' unnecessarily (e.g. over-engineering the solution because they had more time than required for the original design).

“Allowing buffer at the task level simply encourages people to use that buffer unnecessarily.”

The answer we were looking for, and had started to move towards, was Critical Chain Project Management, which removes buffer from individual tasks and allocates it to the project as a whole, thus concentrating resources on the task at hand.

Of course we had yet to perfect this method, but we had already recognised that:

People work better when they are not multi-tasking, and that the less time (not effort) we scheduled a project for, the less overruns we had. This also reduces issues with people working for multiple project managers, because they are more likely to be on one project at a time.

Project managers need to communicate better in order to ensure that people working across programs are available for the critical tasks whenever they might be able to start them - this required flexibility and honest appraisals of task criticality (sometimes the criticality to our company of that task/project would outweigh the criticality of another task that was more critical but for a less critical project).

Allowing buffer at the task level simply encourages people to use that buffer unnecessarily. It is much better to slim down the estimates they work to, and put buffer at the overall project level.

Buffering the scheduled delivery date will ensure that it is met, even if Murphy's Law hits the project.

Where we still needed to improve was in the way we calculated the size of and tracked the use of buffers. However, it is interesting to see how our proprietary methodology mirrored recent changes in PMBOK (i.e. the introduction of EVM in the 2000 edition), and even included ideas from new methods such as Critical Chain Project Management without any of us attaining formal project management certifications.

* You could say we did follow PMBOK, because the term is defined inclusively:

“The Project Management Body Of Knowledge (PMBOK) is an inclusive term that describes the sum of knowledge within the profession of project management. As with other professions such as law, medicine and accounting, the body of knowledge rests with the practitioners and academics that apply and advance it.”PMBOK Guide - 2000 Edition

Wednesday, July 28, 2004

Good bits: Individually many of these scenes are fine, and some of the fun and pathos of the previous films is retained here.

Bad bits: The girl dies, the editing is nightmarish and makes little sense, there is no dramatic tension built between scenes and the action and plot are so over the top that it is completely unbelievable (and that is from a fan of Desperado).

One of the questions I asked at the portal airlift was how can we bring InfoPath forms (so nicely integrated into SharePoint) to users who don't have InfoPath? I was hoping that Clayton could give us the lowdown on Microsoft's plans for InfoPath, particularly a free browser plug-in for InfoPath consumers (leaving the full version for designers).

Clayton had only heard the same vague rumours the rest of us had, but one of the guys from Unique World mentioned that they are developing InfoView:

InfoView is an easy-to-use tool that coverts Web forms, designed in Microsoft’s InfoPath, into ASP.Net forms which are viewable through a standard Internet browser.

This sounds very interesting as it opens up the use of InfoPath as a solution for any web form that requires some degree of workflow once it has been submitted.

Saturday, July 17, 2004

OK, I've now completed the second and third days of the Microsoft Portal and Integration Airlift, or at least the bits I managed to attend between stomach bug and need to pack boxes to move this weekend!

I'd like to post a lot of the new ideas that came out of it - but my wife has reminded me that it's VERY LATE and that I need to come to get to sleep right now! So I'll put some up tomorrow, or Sunday.

The gist of it will be that MCMS is interesting, but is much more interesting when mixed with WSS/SPS 2003, and that there are some vendor products that can make life much easier for WSS developers (Metalogix's Migration Manager) and that can offer some nice digital asset management features on top of WSS (Scene7 for SharePoint 2003).

There were also some SharePoint and CMS questions that Clayton Peddy answered, and some other questions (like license-free readers for InfoPath*) that other attendees pitched in on.

* If you're from UniqueWorld I would really like to find out more about that InfoPath reader for ASP.NET ...

Eric Lippert also has a great post about taking the blame for something you have done wrong. He credits his willingness to publicly do this on his father's restaurant business background, which made him teach his sons that how you deal with a mistake is almost as important as not making them.

From the self-analysis I've been doing as part of my personal Good.Bad.Like.Dislike* analysis I think this is a lesson I need to go through once more.

* Good.Bad.Like.Dislike is a tool my father uses to help people re-focus their efforts to better align their aspirations with their expectations. I might blog about this one day (or not ;-).

I came across Eric Lippert's blog again today, and (oh joy!) was reminded of a brilliant post of his that sorted out some rounding issues we had with MS Access 2000 for a payroll system where we had not accounted for VBA's wonderful Bankers' Rounding anomaly*.

* The 'anomaly' (or rather undocumented feature) is that when VBA rounds a .5 it rounds to the nearest even number above that decimal place - up or down. This leads to weird effects when you expect a bunch of numbers to round in the more 'normal' fashion, and find they don't.

Keeping on-topic with web design and Jakob Nielsen's recommendations, he makes the point that a key part of the web's UI is that links can show you when they have been visited. He recommends that visited links appear in a darker, more subdued colour* than the normal links.

I've recently come across two designers who have looked at using some of the features of CSS to make visited links even more obvious:

Both make the point that this method may not work for everyone, or for every link. For a start it can clutter up your body text and make it harder to read, but it can also confuse users as it is a non-standard implementation of the standard visited links UI paradigm (which is a big no-no according to Jakob Nielsen).

Jakob's got a point - I know that I get confused by these sorts of UI changes, and will probably ignore them when surfing for information. Once this sort of change has been adopted by enough sites, then it becomes a de facto standard and then it is OK to use as most users will be aware of what it means.

Another example of this sort of UI change is having some way of denoting when a link goes to an external site. The SSW website does this by placing a small blue globe and red arrow next to links that go away from their site. I found that confusing, but at least I wondered what it was before trying the link, and thus worked out what it was.

Perhaps the visited link UI change would work better if it showed me an empty checkbox next to the link before I clicked on it, and then ticked it afterward. At least that way the user would work out what it was a bit faster. (another idea was to strikethrough the text once the links is visited)

On the other hand, Jakob suggests that designers early adopt the Title attribute in anchor tags to show users more information about a link in a tooltip. Mostly this is because it doe snot harm users whose browsers don't support it, but also because it does add value to links. I've used it myself in the links above - did it work for you?

Jakob has a predeliction for annoying web designers by consistently calling for "plain vanilla" websites that are as usable as possible, and this is a fun attempt to take his usability guidelines and improve upon them using good design.

Monday, July 12, 2004

SMEs often assume that they are too small to attract hackers, and so get lax about their IT security, this news story shows how wrong that idea can be.

In this case al-Qaeda hackers used a small company's web server to host a hostage video - it means the company gets a lot of bad publicity, and would make you wonder how good the rest of their security is.

Friday, July 09, 2004

Matt Warren points out that Feeling Stupid is a typical part of programming.

“You feel stupid because you know many others have already figured it out, already understood and moved on, but you're still stuck trying to muddle through it.”

I regularly feel this way when perusing the fantastic coding exampels put up by others. Partly that's going to be because programming is less than 10% of what I do, it has been a long time since it was more than that. But it's also because there is always someone that knows more than we do.

This might be true of programming more than most disciplines, because it is an ever changing field of study. Matt describes it as this "discipline/art/science/voodoo magic thing that we do". Sometimes it seems like voodoo (pass the chicken Dave, I need to wave it over the keyboard a few more times), and sometimes it seems like art because a solution just feels right. Mostly it is a discipline, the study of which usually takes a back seat to the practice of it - which invariably leads to feeling stupid at some point.

Dustin Miller has this great post - Don't forget: Web Services/SOAP isn't the only path to XML from SharePoint. The key point is that the lists in WSS are exposed in their XML format by the owssvr.dll, so that you can view their XML in the web browser (of limited use) or use that URL as a source for the Data View web part in a different WSS site (kind of like a poor man's RSS feed).

We had a client recently ask about how to bring data from multiple sites into one summary site, and we had looked at building a custom web part for that purpose. This gives us some other options.

Note: At the moment this isn't working for me - it seems that the data view web part doesn't want to see this as a valid XML file.

The main problem with pull-quotes is how to come up with the right quote. Sometimes you may need to massage your article to create punchy content that is worth quoting. While this may seem a waste of time, it will help you create more easily read web content - which is always a good thing, right? ;-)

Wednesday, July 07, 2004

I went to see Troy the other night, my wife graciously allowing me the time alone as we didn't have a babysitter. It was an ... okay ... movie, not great, but it didn't suck the way I thought it might have.

Bad bits: Troy looks like it's made out of cardboard and foam, everywhere else looks small like a TV set. None of the women seemed real, although Rose Byrne is attractive enough. Also, they mutilated the plot, with lots of events happening out of order, or at the wrong place.

Tuesday, July 06, 2004

The researchers said graphing e-mail flow not only correctly identified communities within the organization, but it also provided insight into who the leaders of those groups were. It also helped to identify informal communities that arise when people need to communicate across departments or work collaboratively on projects. What's more, it took just a few hours to analyze the data and identify the groups and their leaders, the study said.

I wonder how long it will take before someone comes up with nefarious uses for this? Perhaps selling it to corporate bosses who want to know who is really the leader of the pack amongst their employees? Of course the results would be skewed if the employees decided to resort to untraceable email from outside the organisation for their more sensitive emails ...

On the other hand, the information they are reviewing seems pretty innocuous, after all it's just the To and From fields (perhaps also the CC and BCC, although the article doesn't mention them). I wonder if they could add date into the mix to track how relationships and patterns of influence change over time?

One of the frustrations we have had with SharePoint is that whilst the integration with Office 2003 and Windows XP is very nice, the functionality available from Office 2000 and Windows 2000 (which is what most businesses we know still use) is sub-optimal.

Being able to mal a drive letter to a document library takes the SharePoint document management solution to new heights. It will allow users to save documents to the library from any sort of Windows application, which is a great idea. Of course you still are left without the ability to populate meta tags when you do so, but you can work around that.

One recent post titled Success through setting process goals, covers the idea of making the perfection of the process our goal (a process goal), rather than just having the end result as a goal (a product goal).

He brings this to bear on how to get the career of your dreams (something I'm thinking about now as my retrenchment goes into effect next week).

What kinds of process goals could you set to achieve the career of your dreams? How can you be in the moment and keep your eye on the map?

I'm wondering again where my focus should be. By reviewing potential career paths through that lense of my strengths and weaknesses, like and dislikes I feel I can get where I want to be. So for me the process goal is to be as real and honest as possible with myself in this process, so that I get the most accurate view I can of where I can go from here.

Sunday, July 04, 2004

My pastor was saying this morning that when we focus on something bad in our past, that can make us reproduce that thing in our future. The example he gave was a person who focussed on being different to their alcoholic, abusive father - but who ends up reproducing that behaviour themselves.

His point was that it's not our emotional reaction to that past thing that matters, it's the fact that we focus on it that affects our future.

I was reminded of something I was taught during a BMW Advanced Driver Training course. The instructors pointed out that people's tendencies in a crisis situation, for example when losing control on a corner and skidding towards a tree, was to focus on the bad thing (e.g. hitting the tree) and that their efforts to avoid the tree failed, because you go where you are looking.

They taught us to drag our eyes off the tree and focus on where we want to go, because that gives a much better chance of actually getting there.

In a similar way athletes are taught that when competing they should focus on the result they want to get, rather than on their past results.

Sometimes it's tempting to dwell on past mistakes or "what if?" scenarios, but the reality is that they don't bear much relationship to our future. There is so much that each of us can and will achieve that goes way beyond what the limits of our past would indicate. So look forward to your future, and leave the past in the past!

Saturday, July 03, 2004

Here is an interesting blog for you; 800-CEO-READ Blog is a blog run by a bookstore for CEOs (or really anyone interested in business thinking, examples etc.) and they have a team of authors that write for the blog.

I would never have found this site if not for the trackback feature that Cliff Atkinson has on his blog. This is certainly something I look forward to having Blogger offering.

Friday, July 02, 2004

There are a number of great SharePoint bloggers around. As I am leaving my current workplace, I won't have access to the SharePoint sites we had created to track these bloggers' efforts. So for my own sake (and perhaps your interest) I'll list some of the better ones here.

The really nice thing is not that Jan has provided this web part free of charge, but that he is supplying the source code as well! That saves the rest of us a lot of time when we want something similar, but (inevitably) different in some way.

Maxim Karpov's What is SharePoint 2003? article is a great intro for anyone who doesn't yet have their head around what Microsoft are talking about when they say "SharePoint".

The short answer for those of you allergic to following links is that:

"SharePoint" is therefore a set of technology products, which allows us to manage our intellectual property (documents, presentations, etc.) and enables virtual teams to collaborate on the information. Technology has changed, but our need for managing and providing access to information is still with us!

Of course I already did know this answer, but Max explains it so neatly that it's a useful link to keep around.