I’m pleased to be getting an opportunity to see John Seddon present at the Lothian Quality Forum next week.
John is the author of:
Thanks to Clarke for the invite.
I’m pleased to be getting an opportunity to see John Seddon present at the Lothian Quality Forum next week.
John is the author of:
Thanks to Clarke for the invite.
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.
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.
Dust my credenza, here’s another blog to read: Dilbert.
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
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
STARTING DRILL – expanded
STOPPING DRILL
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]
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
forid 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,NETHERLANDSTO 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.SThroughout 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 isThe 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,NLWot, no street name and postal district?
TELEPHONE: +31-622851045
EMAIL: snipped@fsmail.netfsmail.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: MailWasher, MailWasher Pro, spam, recognising spam
Further to my earlier posting, it’s great to see The Business promoting the fact that “wireless” and its associated technologies are actually [remotely] useful. Remotely, of course, in more ways than one!
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.
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.
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!
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!