Category Archives: General

Lean times for online gambling

Infoconomy’s publication Information Age, November 2005, Lean times for online gambling, highlights a Lean/agile success story.

Mention of “emphasises face-to-face collaboration over documentation”, “product management team sits side by side with programmers so they can see what is needed as they go along”, “Daily five-minute morning meetings review yesterday’s achievements and the day’s plans”.

It’s a short article, but picks up on a few important points.

On contractor value, internal vs external development

Earlier, I wrote about my thoughts surrounding what is essentially outsourcing of a given function…thoughts that were firmed up after I had been reading Joel On Software.

I’m pleased to see Richard Jonas follow it up in his Internal or External posting. I have to agree with Richard’s comments, the decision to “in-source” or “out-source” on a project-by-project, or function-by-function, basis has to be made using all the information available (I can’t think of situation where this wouldn’t be true, although we all see such decisions being made without such consideration). And, it is important to note that some projects/functions are inherently meant to be outsourced.

My original posting was prompted (apart from via Joel), by a letter in Computer Weekly dated 20th September 2005 on the subject of “Do contractors offer better value for money?” The author notes that contractors rates of pay are typically twice that of permanent employees. He goes on to state that hidden costs such as bonus, pension, employer’s national insurance, recruitment fees, cost of human resources, accounts, payroll, taxes, holiday and sickness actually make a contractor better value of more flexible. Are these costs really hidden? Surely most businesses know exactly how much it costs to have an employee sit at their desk carrying out their function? No? All these hidden costs, the opportunity cost of having somebody else sitting at the same desk carrying a potentially more profitable function, etc. Surely? Clearly there are two sides to scenarios like this, the author of this letter sits on the side of contractors, whereas I seem to sit on the side of permanent employees…

On the premise that hiring a contractor is analogous to outsourcing a project/function, let’s follow that notion for a while…

Are contractors better value and more flexible? Insofar as the contractor doesn’t [usually] get embroiled in the internal politics that some many permanent employees do (although not through choice I might add), the contractor is free to focus on the task in hand, they can spend 90%+ of their working day on the project/function. Therefore, on the surface, they appear more productive that permanent employees. They’re getting the job done faster, possibly better, but not necessarily cheaper – twice the cost remember, folks will see that as being “more expensive”, unless they are able to understand that the contractor may have taken less time to complete the piece of work (although the work is unlikely to be completed in 50% of the time it would take a permanent employee to complete).

Unless the contractor is able to “hit the ground running”, it’s very likely that some mentoring will be required. Mentoring is often a service delivered by a permanent employee…their costs must be factored when assessing contractor value. Indeed, there’s often an element of re-work involved if a mentor or supervisor is involved. Despite best efforts, I’ve seen the work of contractors being “finished off” by permament employees. Similarly, I’ve seen mentors/supervisors grimace at how long recently in-bound contractors take to complete a known to be simple task (this is more obvious where the mentor/supervisor would normally have performed the job the contractor was brought in to do).

Where the function/project involves the development of a piece of software, it’s very rare (in my experience) that the ultimate end customer actually uses the software the day they are issued with it. The day that they are issued with it may well be the contractor’s last day, in which case who fixes the customers snags? This is less of problem where the customer has wanted to or has been involved in the development process all along, something which is very desirable but rarely happens in traditional software development shops. Often the mentor has to “pick up” the customer’s snags and fix them. This is a double-edged sword. The mentor is nowhere near as familiar with the code-base as the contractor. This will lead to increased start-up time, i.e. the snag will take longer to fix. It will also lead to reduced quality, the mentor may think that they have fixed the snag without realising their fix may have repurcusions elsewhere (yes, practicing test-driven development and having a suite of tests would help, but we’re talking about traditional software development, not agile!)

Contractor flexibility is evident as a suitably qualified/skilled contractor will lend themselves to any platform, any language and their curriculum vitae will be a work of honesty, not fiction. However, the business may find itself paying a contractor to learn a new skill that puts the said contractor in a more marketable position for their next contract. Not good. Similarly, the said contractor completes the function/project then moves on to a new contract. Whatever the contractor had to learn in order to complete the function/project was a skill that went with them…that may well have been a potentially proprietary skill that would have been better value if it remained “in house”.

I’m standing by my original thoughts: if a piece of work, a function or project is considered “core” to your business, subject to the decision making process noted above and in Richard’s post, it should be kept in-house, i.e. internal. Proprietary intellectual skills that give you a business advantage, give you a means of adding value, give you the edge, should remain in-house.

Managing Iterative Development Using Scrum

I delivered this session at the UK’s first DeveloperDeveloperDeveloper day on 14th May 2005. My slide deck and elementary backlog spreadsheet are available here.

I’ve recorded a blogcast (my first) that demonstrates how the product backlog spreadsheet works. I had a cold whilst recording this, hence the occasional cough’n’splutter! I’m hosting the blogcast myself for now, just until I see what happens to the bandwidth (if it moves, I’ll update this posting). Product Backlog Spreadsheet – the blogcast!

Also available over at here: http://www.blogcastrepository.com/Dev/Contrib/Cmurphy/ScrumBackLogExample_CAM.htm

The Art of Preparation…

Now, you’re probably going to think that I’m going way off-topic here, however stay with me, there is method in my madness.

Preparation is everything. I’m not talking about big upfront design, huge specifications or huge requirements documents. I’m talking about the basic preparation that we (not just software developers) need to do in order to do a good job.

If my memory serves me (and MSN Search confirms that it does), Sir Robert Baden-Powell, founder of the scouting movement coined the phrase and motto: “always prepared”. Preparation is something you can either do too much of, in which case cost increases for no perceived benefit, or you can do too little of it…and things go from bad to worse. Knowing when you’ve prepared enough is key… it’s similar to Antoine de Saint-Exupery’s famous quote:

A designer knows he has achieved perfection not when there is nothing left to add, but when there is nothing left to take away.

However, there is a fundamental difference between perfection and preparation: You need not achieve perfection, for the customer may accept something that is less than perfect. However, if you fail to prepare sufficiently, you may not have that luxury, your customer may have seen you flounder early in the project and may not have the tolerance to accept a product that is less than perfect (despite the fact it is virtually impossible to deliver such perfection).

A slight aside
A long time ago, 1991 to be exact, I took six lessons in preparation for the IAM driving test. This is a driving test that you can actually fail and still drive away from. What caught my attention, even in 1991, was the amount of preparation that the test expects drivers to go through each and every time they enter a vehicle with the intention to drive. For example, there’s a whole “starting drill” and a “stopping drill”. During the drive, each and every drive, IAM drivers are expected to provide a running commentary of what they see and what the can expect to see (granted it’s best to make this commentary audible during the test in order to avoid a barrage of questions like “did you see X?”, “were you aware of the dustcart?”, etc.) A lot of folks have asked me what the commentary was like…so rather than create a new one (which wouldn’t be difficult in this day and age, MP3 players, etc.) I remembered the bits’n’bobs my instructor gave me…

My instructor provided me with a few things: a couple of heavily photocopied pieces of paper and an audio cassette that had to be returned. The audio cassette was a regular compact cassette that you and I might have recorded the “Top 40” on when we were a little younger (showing my age now, hey!) There wasn’t any evidence of copyright on the cassette, so I made a copy of it, and now I’ve converted it to an MP3. So, if you’ve ever wondered what the IAM driving commentary sounds like, you can listen to a short drive here [6.5MB]. (I have more commentary, send me an e-mail if you would like it.)

While you’re listening to that, here’s what those two photocopied sheets contained – the starting drill and the stopping drill (remember, do this every time you choose to drive somewhere):

STARTING DRILL

  1. Check The Handbrake For Tension.
  2. Check Doors Secure
  3. Seating Position
  4. Check Mirrors
  5. Seat Belts
  6. Static Brake Test
  7. Starting The Engine
  8. Primary Auxiliaries
  9. Windows
  10. Secondary Auxiliaries
  11. Mirror/Gear
  12. Mirror/Signal
  13. Shoulder Checks
  14. Moving Brake Test

STARTING DRILL – expanded

  1. Check The Handbrake For Tension. Do this by locating the handbrake with your left hand, take a firm grasp. press in the release button with your thumb and take up the strain ensuring the handbrake is on. then release the button, leaving it in the on position.
  2. Check Doors Secure. Take the hand furthest from the door, place it on top of the door at the window. nearest the opening edge, pull first then push. (The reason you pull first is to prevent an insecure door from opening into the path of another road user). Then ensure that your passengers secure their doors and report same to you.
  3. Seating Position. Check your seating position by placing your left foot against the bulkhead, this being the furthest your foot travels during the clutch pedal operation. Then with your arms flexed at the elbows, slide your hands from the ten to two position to the twelve o’clock position and then down to the six o’clock position to ensure your steering movement will not be restricted. Make sure you are not stretching or are too cramped and have a good accessibility to the controls. If you have to move your seat, warn any passengers behind you before moving. Do this even when moving forward.
  4. Check Mirrors. Check the rear view mirrors. The internal mirror is adjusted by using the thumb and index fingers of both hands, placing one at each corner of the mirror, taking care not to place any unnecessary strain on the mirror stern or of smudging the glass. line up the top of the mirror with the top of the rear window. The check that the external mirrors afford you a good view to the rear.
  5. Seat Belts. “The wearing if seat belts in this vehicle is now compulsory and as such must he used”. Demonstrate how to locate, fit and check them by locating the belt with your hand furthest from it, and pull some of the webbing. Then transfer it yo your other hand, pull out more webbing and at the same time locate the holder with your first hand and then insert the buckle into the holder. Whilst still holding the buckle and holder check it is secure by giving it one firm pull. Also ensure that all slack has been taken up in both straps and neither are twisted. Also indicate at that time the method of release. Then get your passengers to locate fit and check their seat belts in the same manner and report on the same. (Make sure they do it properly)
  6. Static Brake Test. Carry out a static brake test by depressing the brake pedal with your right foot for three or four seconds, to ensure that there is pressure in the system, and that it can be maintained. Report on the same.
  7. Starting The Engine. Take a grip of the gear lever by wrapping your fingers round it so the top of the gear lever just shows between your thumb and index finger. Depress the clutch. move the gear lever into neutral and once across the gate. With the clutch depressed start the engine. Release the clutch pedal slowly ensuring there is no breakdown in transmission linkage which might cause the vehicle to surge either forwards or backwards.
  8. Primary Auxiliaries. Now from left to right and top to bottom. select any minor auxiliaries which might be required at this stage, eg. heating and ventilation controls, rear screen de-mister and sidelights. Raise the engine revolutions to 1500 (fast idle) and get off your instrument panel from left to right, and top to bottom. Return the engine to normal tick-over speed.
  9. Windows. Ensure all windows are closed and have your passengers check theirs and report on the same.
  10. Secondary Auxiliaries. Select any major auxiliaries required. such as windscreen wipers. dipped headlights. etc.
  11. Mirror/Gear. Check internal mirror and in there is a suitable gap to the rear, select your moving off gear.
  12. Mirror/Signal. Check internal mirror again and if necessary signal to road users your intention to move off.
  13. Shoulder Checks. Carry out deep left and right shoulder checks prior to moving off ensuring that you explain the reason for doing so.
  14. Moving Brake Test. immediately on moving off report that the hand brake warning light has gone out(if applicable) and that your first consideration will be a moving brake test which will be carried out by building up the speed of the vehicle to 20mph in 2nd gear and then braking down to 10mph without depressing the clutch. Select a flat and level stretch of road with no inherent dangers and after nominating a suitable point. carry out the brake test. If on a hill the vehicle should be braked down from 25mph to 15mph. Then give a short report on the efficiency of the brakes. If the brake test cannot be carried out at that time, outline the alternative methods of carrying out the same. i.e. by braking early and firmly at the approach to the first hazard or by braking 10mph off your speed whilst travelling at a speed up to but not exceeding 50mph.

STOPPING DRILL

  1. Always ensure that you pick a safe place to stop.
  2. Prior to stopping, check the relevant mirrors and put your car on course early.
  3. If stopping completely off the main road, complete the full system. i.e. features 1-6 (from here) prior to leaving the main road. If, however, it is merely a parking area adjacent to the road or at the road side then continue through with feature 2 and in the last few yards prior to stopping depress the clutch with the left foot and ease the pressure off the foot brake.
  4. Immediately prior to the wheels stopping revolving, remove your right foot from the foot brake and then gently reapply thus preventing nose dip.
  5. Thereafter, and not against the ratchet, apply the hand brake.
  6. Move the gear level into the neutral position.
  7. Remove both feet from the brake and clutch pedals.
  8. From the right to left switch off any major auxiliaries and thereafter from left to right cancel all minor auxiliaries.
  9. Switch off the engine.
  10. Check your mirrors and if it is safe, depress the clutch pedal with your left foot and engage a suitable parking gear.
  11. Check your mirrors again and if it still safe remove and stow your seat belt in a neat and tidy manner not allowing the buckle to fly back and hit the glass. Ensure passengers do likewise.
  12. Again check you mirrors and look deep over left and right shoulders into to blind spots at the rear of the vehicle. Always tell your passengers to do likewise before they leave the vehicle.

So preparation prior to driving is important, it has health and safety implications. Similarly, preparation after driving is important too. There’s preparation pre and post-drive: projects should have a similar pattern, i.e. some preparation at the start and end of the project.

[Incidentally, these drills were scanned from its original A4 format using OmniPage 12.0]

Spam: recognition

Two things:

1. I know this is spam
2. I know the kind of folks who this is targeted at

Anyway, a lot of folks have asked me “how do I know if something is dodgy?” It can be a difficult question to answer as a lot of IT “things” are intuitive, it’s obvious. But end users (friends too) don’t want to hear that, they want to know what they can look out for.

Sometimes it’s easy, sometimes end users (and friends) visit dodgy sites, downloading toolbars on they way. Here’s a tip, if a web-site opens a pop-up window and offers you a great new search toolbar, ignore it, click on the red close icon in the top left of the pop-up (or, better still, shut the machine down). The same goes for anything that offers to rid your machine of adware, spyware or other such nasties: it’s very likely that your machine was relatively free from such things…until you click “yes, please scan my computer for adware, etc.”

I’m working on a rather lengthy article/blog posting that covers my suggested security tips, but to keep my writer’s block from setting it, I thought I’d push this out now.

Here’s a typical example of a dodgy e-mail…my comments are in bold italic…they should be enough to get you started.

Return-path: < rmoore @lotto.nl> there’s a space after the ‘moore’ and before the ‘r’
Received: from punt-3.mail.demon.net by mailstore
for id 1E7Big-0000Uk-Lm;
Mon, 22 Aug 2005 12:48:06 +0000
Received: from [194.217.242.77] (helo=anchor-hub.mail.demon.net)
by punt-3.mail.demon.net with esmtp id 1E7Big-0000Uk-Lm
for ; Mon, 22 Aug 2005 12:48:06 +0000
Received: from [217.158.187.220] (helo=drake.uknoc.co.uk)
by anchor-hub.mail.demon.net with esmtp id 1E7Big-0002rC-Ik
for ; Mon, 22 Aug 2005 12:48:06 +0000
Received: from [84.246.8.20] (helo=rmoore@lotto.nl) no space
by drake.uknoc.co.uk with smtp (Exim 4.52)
id 1E7Big-00087e-RE
for ; Mon, 22 Aug 2005 13:48:07 +0100
From: “Director Moore”
To:
Subject: Congratulations: Vernus Millionaire Lotto winner !!! Sounds like a famous name UK-based gambling group…
Mime-Version: 1.0
Content-Type: text/plain; charset=”iso-8859-1″
Date: Mon, 22 Aug 2005 14:48:09
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname – drake.uknoc.co.uk
X-AntiAbuse: Original Domain – scottishdevelopers.com
X-AntiAbuse: Originator/Caller UID/GID – [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain – lotto.nl
X-Source:
X-Source-Args:
X-Source-Dir:

VERNUS MILLIONAIRE LOTTO
23 RIJNWEGSTRAAT,
AMSTERDAM,NETHERLANDS

TO WINNERS IN OUR PROGRAM PROGRAM? Surely PROGRAMME?

Good day,

This is Mrs Rita Moore the Director of vernus Millionaire Lotto in the NETHERLANDS. Vernus Millionaire Lotto is an independent lotto

Suddenly, vernus is lower-case, previously it was sentence-case
Surely The Netherlands?

organization in the Netherlands that is conducting several online lotto programs on the internet. However,we wish to congratulate you

it’s organisation here in Europe, thank you

over your success in our computer balloting sweepstake held on 20th August,2005 in which your email address attached to ticket number
LNT456780909893 and drew the lucky numbers 4-10-12-55-25-87,batch number 4978/NL and consequently won the lottery in the 1st category.
This is a millennium scientific computer game in which email addresses were used and it is a promotional program aimed at encouraging
internet users;so you do not need to buy a ticket to enter for our online lotto program. Note that this program was largely promoted
and sponsored by a group of philanthropist, industrialists from the internet ware industry and some other big multinational firms who
wish to be anonymous. Therefore,you have been approved for a lump sum amount of U.S

Throughout this e-mail, there is no space after each comma: there should be! If this was legit, the use of language would be spot on.

$1million dollars credited as Bond into your security file LOTTERY REF NUMBER Amt/nt/423275/01 with our security agent. This amount
is from the total prize money of $15,800,000 shared among the seventeen international winners in categories C with serial number:
IL/PLW/18-C0547671754.
This email is not one of those numerous lotto email scams you might have received in the past which always require you to sign out a
blank cheque or give out your bank information in order to perpetrate their illicit lotto scams.

The give-away. If you believe this, please cut up your credit cards now!

Please note that this winning is very
real and legitimate and your exercising good faith in this our lottery program will enable us remit your winning funds to you in your
preferred mode of payment without any further delay. Therefore,to confirm the legitimacy of our lottery program, the below website is

The Dutch speak and write better English than some of us…

one of the websites we are running over the internet concerning our lottery programs in the Netherlands.

http://www.lotto.nl/lotto/execute/intro?node=lottointros&default=lottorootnode&ad=0

However,to begin your claim,being non-netherlands resident or citizen,you are required within two days to officially notarize your

uh oh, you want me to go to The Netherlands in person? Surely you’ll just bash me over the head with a baseball bat, take my passport, my Euros, my cards, etc. and leave me with nothing but a sore head?

winning claim at the Dutch Court of Justice in the Netherlands to sign the Release Order and the clearance papers that will enable the
paying Creft Consulting Agency release your winning funds to you. But in case you cannot come to the Netherlands within the stipulated
two days,do inform your claim officer to make proper arrangement regarding your claim notarization. Once your claim is fully notarized
and a copy of the Notary receipt from the court is forwarded to us,we will provide you with your Award winning Certificate. Please for
more information concerning the claim of your winning funds,we advise you to forward a confirmation email to your claim officer at the
paying Creft Consulting Agency and as well follow their claim instructions. Below is the contact details of your claim officer:

MR.CURTIS LUCAS
(PAYMENT DIRECTOR)
CREFT CONSULTING AGENCY
AMSTERDAM,NL

Wot, no street name and postal district?

TELEPHONE: +31-622851045
EMAIL: snipped@fsmail.net

fsmail.net – hang on, a consulting agency, I think not!

Conclusively,vernus Millionaire Lotto is not a scam organization therefore this mail should not be treated as a scam scheme or be
taken for granted,we are backed up by the appropriate lottery law in the Netherlands and only the successful winners in this our
online lotto program receive this congratulation mail and because you won that is why this mail is being directed to you.

That’ll be right. Not a scam, not to be treated as a scam scheme…yeah yeah. Pull the other one, it has got bells on.

Remember that all prize money must be claimed not later than 7 working days. After the last day, all funds will be returned as unclaimed.
Congratulations once again from our team of staff and thank you for being part of our promotional program.

Sincerely,
Director
Rita Moore
(Lottery Coordinator)

This mail was sended with unregistered version of Zmei Mail Sender.Visit http://www.zmei-soft.com for free download of Zmei Mail

“Sended” – wrong tense, another giveaway!

Unregistered? What? A huge commercial lottery outfit like this? Surely they would have their own domain and their own e-mail software. More evidence.

Sender.

If you receive an e-mail with any of these characteristics, I suggest you delete it without so much as a second glance (I take no responsibility if you delete a legit lottery winning notification!)

Better still, I can recommend a program that can weed out such spam and prevent it from getting into your mailbox in the first place: check out MailWasher Pro. It “sits ahead” of your e-mail client (application) and uses known databases of spam to intelligently mark incoming e-mail as either legit or possible spam: it’s a boon if you’re still on dial-up.

Technorati Tags: , , ,

Back in business again…

My old 40gb IBM Deskstar hard drive finally gave up the ghost on Sunday. It had been threatening to do so for a while now – even a low-level format earlier this year failed to map out the bad bits that caused it to make the kind of noises hard drives shouldn’t. I can’t say I’m all that bothered by its loss, it was slow, had a small capacity by today’s standards and it ran like a boiler (so much so, I could afford to keep my radiator turned off).

So, being the prepared kind of guy I am (more about preparation in later posting), I had the replacement hard drive arrive on the Friday before the Sunday. I’m sure there’s some prophecy to take into account here, but no, for real, I knew it was going to happen so the new drive was all ready to be installed. It’s a nice 250gb Maxtor Diamondmax 10 with 16MB cache – boy is it fast. Considering most drives have 2mb or 8mb caches, this drive should fly. And it’s really quiet too.

Anyway, the purpose of this post was to mention an RSS feed reader for Outlook: I’ve moved away from TheBat, largely for performance problems, and also because I’ve got way too much e-mail to manage so I figured a clean start in a new e-mail client would help. And I can synchronise Outlook’s schedule with my PocketPC, which is good – I need to get even more organised.

The RSS reader is intraVnews. It integrates with Outlook, so any blogs or RSS feeds that you read regularly appear in the same format as Outlook’s e-mails. First impressions are very favourable. Previously I used RSS Reader, then RSS Bandit, then Omea – none of which “floated my boat”. Omea suffered from performance issues. RSS Reader was a bit of a memory hog. RSS Bandit was fine, and I’ll be revisiting it soon. If I choose to stick with intraVnews I’ll write a fuller commentary here.

Joel#1: Better, Faster, Cheaper

In an earlier posting I mentioned that I had been reading Joel On Software and that I might make the odd reference to it. Well, here we go…

For me, Chapter 35 (you can read the original posting here) has something very important to say:

If it’s a core business function — do it yourself, no matter what.

Actually, that’s a succinct way of putting it: the remainder of this post merely pollutes the eloquence of Spolsky’s quote (sorry!)

Spolsky suggests that we pick our core business competencies and goals, and do those in-house. Of course, this does suggest that you’re capable of identifying your core business competencies in the first place (although I’m sure that there are plenty of consultancies who will offer to help you identify them…for a fee and a retainer). What this means, in a nutshell, is this:

1. Keep all the good stuff that you do close to you, i.e. in-house

2. All the bad stuff that you have to do in order to do the good stuff, get somebody else who is good at it to do it, i.e. outsource it or find ways to do it better, faster, cheaper (more here)

Identifying the good stuff is simple: it’s the stuff that makes you money – it’s the stuff that’s on the invoices that you send to your clients. Invoices – that’s important too: don’t classify your invoicing process as part of the bad stuff. It’s a process that should be lean, agile, flexible and very efficient. The earlier your invoice goes out, the sooner you’ll get payment in (I know this is obvious, but I’ve read about some organisations who don’t understand this concept).

The bad stuff is anything that costs you money, and it’s something that you should optimise as much as possible. If you are able to reduce the cost of the bad stuff, it’ll make the profit margin on the good stuff even sweeter. This means that you’ll have to identify bottlenecks: any process that involves a single-point-of-failure (this might be a single person being responsible for dealing with too many requests, or it might be a process that involves double or triple handling of decisions/information) is a candidate for outsourcing or optimisation (faster, better, cheaper). It’s important to recognise that outsourcing the bad stuff might not be cost-effective, e.g. don’t outsource your IT function

However, it’s also important to recognise that some of the good stuff relies on the services and knowledge from secondary functions (these functions often produce a “value add service” that augments the client offering, sometimes to the extent that the good stuff can’t take place without the value add service). Once you’ve identified these secondard “good” functions, you may wish to start doing more of them (which should equate to either more profit or more client satisfaction: both are good, but there is a trade off – you need to get the balance right).

An example
If you are a hypothetical company that specialises in building industrial weighing equipment (perhaps for weighing a lorries and trucks), that’s your primary function. Your secondary function might be developing software that incorporates some intelligence into the weighing process, it might know about a lorry’s unladen weight for example. The secondary function might also extend into the client’s own management information system, perhaps feeding it with important information that can be used to verify the lorry owner’s credit worthiness, generate an automatic invoice (I told you they were important), post to ledgers, etc. You might think that it’s not part of your primary function, but the value add from being able to integrate with the client’s system is part of the good stuff – it’s something that should be nurtured and extended.

Spolsky’s closing paragraph presents a health warning that may have more truth in it that you believe:

The only exception to this rule, I suspect, is if your own people are more incompetent than everyone else, so whenever you try to do anything in house, it’s botched up. Yes, there are plenty of places like this. If you’re in one of them, I can’t help you.

If that rings a bell with you, then I too can’t help you. Sorry.

Joel On Software

At my recommendation, a good friend and colleague purchased Joel On Software, and, after reading it himself, he lent it to me (I had, of course, received the recommendation myself via other sources, hence I didn’t have my own copy)

It’s jolly good read. I won’t review it here, but will make reference to some of its more catchy points over a series of postings.

Now that I’ve had my grubby paws on a physical copy of the book, I’m off to Amazon to place an order for my own copy!

Praise for WordPress 1.5.2

eWeek praised WordPress 1.5.2 for its “good administrative capabilities, extensive customization options and easy-to-use end-user posting interfaces…”

The article also touches on the concept of corporate blogging, but doesn’t go into much detail, choosing to spend much of its editorial content on what is essentially a positive review of WordPress. In my opinion, there are two facets of corporate blogging. Firstly, there is the employee who blogs about his working life. Secondly, there is the executive who blogs about what he and his company do/are doing. Unfortunately, both are sensitive to politics, confidentiality…the former (employee blogging) is more likely to happen sooner than the latter (executive blogging). However, both have the opportunity to bring a company closer to its client-base and to act as an new form of marketing device.

Luckily, Mark has written some good advice that falls into the corporate blogging arena.

As regular readers of this blog might already know, I’m a great believer in the power of the blog. It’s an excellent marketing tool and it’s fair to say that DeveloperDeveloperDeveloper 2 (October 22nd 2005) has received a great number of sign-ups simply because of blogging – no marketing has been performed whatsoever!