31 January, 2006

Remove delay when opening web part gallery

Just a handy little tip that will speed up the process of modifying your SharePoint sites.

When you're adding web parts to a web part page in SharePoint you first open the web part browser pane (eg. via 'Modify Shared Page' -> 'Add Web Parts' -> 'Browse'). At this point there is a long delay before the web part browser comes up. This is really annoying when you're designing a page and need to open this gallery frequently.

This delay is caused by SharePoint populating the Online Gallery by going to Microsoft's servers (btw, in the Web.config file you can change that to point to your own online gallery). In many deployments, however, the web parts in the Online Gallery are never used. The good news is that you can easily turn this off.

  1. Go to the SharePoint Central Administration site on the server.

  2. Click Configure virtual server settings and select the relevant virtual server.

  3. Click Manage security settings for Web Part Pages under Security Settings.

  4. Disable the Online Web Part Gallery and press OK.

Now try and add web parts to a web part page again and see how quick the web part browser opens up.

22 January, 2006

Face the unpredictable nature of software solution development

I am often amazed how many people and organisations have not kept up with time and still have not fully adopted an agile or adaptive approach to software development. They may claim to follow an iterative process but to a large extend they still work in silos and effectively maintain conflicts between various groups involved in the project.

One of the most notable of these conflicts is the one between the people in the business defining the requirements and the development team trying to satisfy these requirements. Too many technical people still believe they can expect a signed off set of predictable requirements they can work after. The biggest problem with a signed off set of requirements is that project quality is measured by conformance to the plan rather than how well the software meets the true (ever changing) business requirements.

In today's economy, the fundamental business forces are changing the value of software features rapidly. Hence, in most cases it's practically impossible to define a stable set of requirements. Furthermore, I think most people have noticed that it's very difficult for business people to really understand what they need from software. As the entire software development project depends strongly on the requirements, you cannot work after a predictable plan.

Rather than trying to apply (misuse) all sorts of processes to software development that all aim to predict outcomes, realise the unpredictable nature of solution development and learn to deal with it! Letting go of predictability doesn't mean you have to revert to uncontrollable chaos. Instead you need a process that can give you control over unpredictability. This is where the agile approach comes in.

Following the agile approach, one of the key aspects of dealing with the unpredictability of requirements is to have continuous and effective communication between the development team and the people in the business. In other words, stop working in silos.

On his website, Martin Fowler is keeping an article up to date on The New Methodology for software development. It is very well written and he does an excellent job in explaining why you cannot treat software development as a highly preditable engineering project.

02 January, 2006

Fundamental book on Business Process Management

If you work with BizTalk or in any other way are involved with Business Process Management (BPM) systems, there is a fundamental read that I can highly recommend.

Martyn A. Ould's "Business Process Management: A Rigorous Approach" gives you all the essentials in the space of BPM. The theory behind BPM is explained rigorously and lots of practical examples and guidelines are presented.

The book examines BPM and approaches to identifying IT solutions involving BPM without reference to particular products or technologies (such as BizTalk).

If you've worked with BizTalk for a while and been occupied with the technical challenges of designing and implementing solutions, this book is an excellent opportunity to take a step back and get a good understanding of an area where BizTalk is being leveraged more and more.