Monthly Archives: June 2008

Understanding Requirements


According to one of the most widely cited studies for IT project failures, the “Chaos” Report by the Standish Group, approximately 31% of all software projects are cancelled before ever being completed. Even more startling is the fact that in the 1995 study, only 16.2% of the 8,380 projects surveyed were completed on-time and within budget.

Fast-forward to Chaos statistics from 2007 and we see an improvement in these figures: 35% of all projects were successful, while 19% were failures. Fortunately these numbers have improved over the last decade or so, although the success rate of software projects in general is still unacceptably low. Why is it that such a large number of projects fail?

According to respondents in the first study above, ‘Incomplete Requirements’ is the number one reason why software projects are impaired and eventually abandoned. There are a number of other important reasons listed, including ‘Lack of User Involvement’, ‘Lack of Resources’, and ‘Unrealistic Expectations’, but generally speaking the issue of inadequate requirements has been a longstanding pain point within the software development industry. I am certain that like most software developers you too have experienced the frustration of requirements issues at some point, maybe due to those all-too-common reasons such as insufficient research during the requirements gathering phase, or misunderstandings in communication between the customer and the development team.
Oftentimes development teams fail to understand requirements because of documentation that is vague or open-ended. Unclear requirements leave a lot of room for interpretation, meaning that the customer, managers, developers, and any other parties involved may understand requirements differently from each other. As a consequence a development team’s interpretation of a system may be different to what was envisioned during requirements analysis, and again different to what the customer expected.

The truth is that requirements analysis is an inexact process, and that scope issues are going to surface in most software projects. While these types of issues cannot always be avoided we should try our best to ensure that we understand all requirements in as much detail as possible and as early on in a project’s lifecycle as possible, to minimize the likelihood of these issues jeopardizing project success.

Exception Logging in SharePoint 2007


“Exceptions generated by user interface elements like webparts and controls can be simply displayed on the screen, however, exceptions generated by services like MOSS timer jobs and workflows can be quite tricky to handle.

They need to be logged full exception details and stack trace so that user can find out the cause of the exception.”

Read more

Showing Progress in SharePoint via Code


Here’s an interesting post on how to show an “Operation in Progress” page in SharePoint from code.

How to Remove ‘/Pages’ from SharePoint URL’s


If you’re building an Internet facing site in SharePoint you may be interested in removing the ‘/Pages’ portion of the url and the .aspx extension.

From the article:

“By using it, you can refer to your pages using for example: http://mycompany.com/Division/About instead of http://mycompany.com/Division/Pages/About.aspx.”

Deleting Content Types in SharePoint 2007


One of my esteemed colleagues recently had some trouble deleting content types from SharePoint. This is how he managed to get it done eventually:

“This blog post was very useful, but I ultimately had to go the unsupported route of physically removing the content type (delete from contenttypes where contenttypeid = <Binary../>) from the content database (please backup the DB before doing that) and after that, the updates worked fine.”

SharePoint 2007 Web Services


As a refresher, here are the SharePoint web services:

http://msdn.microsoft.com/en-us/library/ms445760.aspx

Windows Mobile 7


News of Windows Mobile 7 may be old, but I’ve only just come across it so I had to write a post. I love Windows Mobile.

Here’s an article detailing the features in WM7, and here are some screenshots:

Master Data Management in SharePoint 2010


We know that Microsoft’s new master data management (MDM) product, codenamed ‘Bulldog‘, will ship with the next version of SharePoint Portal Server, although so far there have been no clues as to exactly what form it will take. It seems like MDM is a term that we may become more familiar with in the near future – the Master Data Management Roadmap mentions that:

“MDM will be integrated with the core Microsoft Office Business Platform suite of applications such as PerformancePoint, Dynamics, Microsoft Office Excel and Microsoft Office SharePoint Server as well as key third party applications.”

That’s all fine and well, but the question most people will likely ask when reading this is, “What exactly is master data management?”

In a nutshell, master data management is about bringing together an organization’s disparate data stores. A typical organization may have a support system, an ERP system, a CRM system, a sales & marketing database, a product database etc. and the goal of MDM is to consolidate all of this data (and associated metadata) so that it can be viewed, managed and searched from a central and secure location. Wikipedia notes that, “Bulldog aims to create a centralized data source and keep it synchronized, and thus reduce redundancies, across the applications which process the data.”

There is a hell of a lot more to MDM than the brief description above so if you’re interested, read the MDM overview, or browse some of the articles on Microsoft’s MDM site.

Required Fields in Content Types


A colleague recently had an issue with setting a field to required in his content type. He couldn’t figure out why it would not apply, so after a bit of investigation we discovered that one has to input the value of the Required attribute in UPPERCASE for it to work, e.g.

<FieldRef ID="{guid}" Name="My Field" Required="TRUE"/>

I’m not sure if all boolean values in an elements file have to be uppercase, but it seems like a strange rule that could have been managed better in stsadm.

Enhanced Content Query Web Part


As we all know, the Content Query Web Part (or CQWP) allows you to query and display data from multiple lists in a site collection. If you’re planning to use this component in one of your projects, why not try the *drumroll* Enhanced Content Query Web Part instead.

Follow

Get every new post delivered to your Inbox.

Join 97 other followers