Archive for the ‘work’ Category

Wild Wild Wiki

Saturday, May 17th, 2008

Wild Wild WestSites like Wikipedia have had a meteoric rise to fame (and potential fortune) over the last few years. There was a time when a random question was answered with a plain “I have no idea” now it’s generally a question of who can type in www.wikipedia.com the fastest.

In some ways, the prominence of Wikipedia has almost “sullied” the concept of a wiki. When someone says “wiki” it’s the first example that springs to mind, with all of the baggage that accompanies it. Some see Wikipedia as a resource of knowledge, others as a chaotic tangle of mis-truths and flame wars. Some of the fairly recent press on Wikipedia hasn’t helped this image.

This prejudice towards wikipedia spills out onto wiki’s in general, which has made selling the concept of a wiki to the corporate world something of a challenge.

Wiki’s allow communities of people to share knowledge and experience on relevant topics in a structured yet flexible manner.  In order to leverage the power of this collaborative resource, a level or order must be imposed on the evolution of a wiki.  Wikipedia benefits from a core group of dedicated administrators policing the site, re-writing, linking and trimming the articles entered from the collective conscious of the internet.  In a corporate environment where resources (people) are more limited in the time they can spend enforcing structure, sections of the wiki need to be organised in a consistent and logical manner.

Companies can greatly benefit from the wiki concepts.  Corporate Wiki’s can become vast stores of knowledge, all interlinked from article to article, allowing a user reading the policy regarding the Disaster Recovery policy immediate links to related pages on back-up procedures or fire regulations, etc.  Were these documents each stored in a static Word document, it would increase complexity.

When looking for advice on introducing a wiki into the business world, I trawled the web looking for some kind of “best practice” which would help me to define a structure and hierarchy which would encourage use and growth in a scalable and maintainable way.  The best resource I discovered in this capacity was WikiPatterns, an excellent resource of Patterns and Anti-Patterns, how you can get the best use out of them, or solve their issues as they arise.

I am currently working on a project to implement the Confluence wiki from Atlassian.  This is a Java based, fully supported enterprise level wiki.  In my own webspace, I plan to use MediaWiki, the open source wiki behind Wikipedia.

Getting Agile

Friday, May 16th, 2008

Scrum and XP from the Trenches

Recently I’ve been looking at escaping the standard “Waterfall” approach to projects and the development lifecycle. There are many reasons behind this shift, not just the “everyone works in an agile manner” thought, here is a small list;

  • Client involvement and “buy in”.
  • Easier incorporation of ideas and changes.
  • Ability to change direction to meet the changing demands of the client.
  • Reduction of risk.

I have had issue in the past of seeing the benefits of agile practices, mainly from reading and listening to preachers and evangelists giving sermons on agility from a highly theoretical, high level manner.  What I found lacking was an easy to understand, entry level discussion on what works, and what doesn’t.

Whilst at the qCon conference, I picked up a couple of books for free in print that InfoQ make available on their website.  One of these publications gave me that low level basic understanding and view of agile that I needed.

Scrum and XP from the Trenches

This book walks through the concepts of the Agile development methodologies from the perspective of a developer, the author Henrik Kniberg, has implemented many projects using the agile concepts, and through all the struggle and teething problems, has written his experience and approach down in an easy to understand way.  It is important to note that this isn’t a theoretical “how you should work” it’s his own experience of how they did work.

I have found it an invaluable resource and have encorporated many of it’s teachings into my current way of working.

The joys of XAMPP

Friday, February 8th, 2008

XAMPP is a great tool for web development. Its basically a complete web server environment, well, Apache, MySQL and PHP, so all the important stuff. If you need a Java Enterprise environment, there’s even a Tomcat plugin for it. Best of all, it fits on a USB key and can run straight from there, making it your own portable server, great for demoing that “Work in progress” web application.