Tuesday, 15 July 2008

Best Practice Applied In Wrong Context - Example 1

A friend of mine was ranting the other day. He had just done an iteration retrospective with his development team wherein they took a look at their quality metrics and discovered that "quality" had actually dropped off even though his team had spent more time than ever before on the client's official Quality Process.

I discussed this further with him and we agreed that quality is a mostly subjective concept when it comes to software ... we agreed that it can't be objectively meaasured ... we agreed that it can't be artificially injected "to meet the required metric" ... we agreed that it is something that Software Quality Assurers infer based on monitoring the various metric trends that make sense in the particular environment/context that the software is being developed in/for.

So with all this agreeance I asked him to explain further.

This story is probably a symptom of why I think there is so much cynism in the software industry. Read on if you dare!

It turns out that the client has a well worked out, well defined Quality Process that they are extremely happy with. This Process is guaranteed to prevent massive loss of life/income/spiralling out of control costs/etc etc - you can imagine why a large company invests huge amounts of time and money in creating a bullet proof Quality Process: manage risk, whatever that risk is.

Okay ... so why is my friend ranting? His team followed the process, passed a bunch of procedural milestones apparently and everyone was happy. Yet when he and his team look at the metrics they defined for how they measure quality, they noticed that the number of issues had risen, that some important tests had not been run early enough in the iteration to find issues that they could then respond to before the end of iteration. There were known open issues, and the were issues that had been addressed, but had not been signed off. There was waste accumulating that had not been a problem before.

How did this happen? The people whose responsibility it was to run the tests, to provide the early feedback had been too busy ensuring the team met the Quality Process requirements - they had been documenting, and reviewing and getting documentation reviewed and spending a large amount of time away from the product they were responsible for delivering. They were going on a tangent from users' needs.

And it showed.

There is no happy ending here - key client representatives (project stakeholders, but not users) have to ensure that their organisation's process is followed. Even if they know, and everyone else knows, that the process is not adding value, and that indeed, as above, the process is actually diminishing value. And it appears often that several times a group of client representatives need to experience failure and pain before they will attempt to address a badly formulated, or in the example above, placed, process. Sometimes, regrettably, these lessons are learned during retrenchment phases.

Yuck!

Basics of Web Site Optimisation - Rule 3

This post is mainly aimed at small to medium businesses that are just starting out and are keen to get something going, or have just gone live. I can't tell you how many times I have taught people over the past few years just a handful of strategically important things. So...here goes again, this time in a way that I can now simply refer to. As for my credibility - I would rather not divulge that here, read my Web Site Optimisation Rules and you decide. They are, after all, common sense, and common knowledge....like most things I blog about!

My number 3 rule: Choose or move to a good web site/domain name

Reasoning:
1. A great deal of emphasis is placed on web site / domain names by search engines when they rank your site
2. A great site name is easy for visitors to remember, to type, to tell their friends about, and their friends will also be able to spell!
3. A great name does not get easily confused with another site
4. Choose carefully when choosing .com or .co.uk/.za/.ch/.etc! Where are your visitors? What are you providing? Where would your visitors EXPECT you to be? Your domain name suffix also sets up expectations for visitors who do not know you at all and are trying to distinguish you from your millions of competitors!
5. Similar to my previous rule regarding good page and sub-directory names, the closer to English and your "market speak" your site name is, the better it will do, eg, bad:
http://www.baddayatwork.com, versus
good:
http://www.good-day-at-beach.com
6. Try and make sure each of your web pages' content somehow relates to your domain name - you do this by either creating very small web sites that are very focussed, or by choosing broader domain names that can be more easily applied to the different types of content on each page
7. One day when you busy swapping links with valuable online partners, the closer your domain name is aligned with theirs (or broad enough) the better it will be,
eg, bad:
valuable partner's site is all about pencils, eg http://www.pencils.com, your site is named:
http://www.erasers.com, versus
good:
http://www.pencil-erasers.com
best:
When the search engines look back from pencils.com to your pencil-erasers.com and vice-versa, they will identify a cluster of related sites, and thus rank both your sites higher!

As a final note - it does matter, and it does not matter what domain name you eventually choose. But in the initial stages it helps to have a good one. After your site is well known, after you are receiving enough enquiries as you can cope with, then it really does not matter. How many sites have "bad" names yet are now household names - yahoo, google - these are not (or were not) common English words before they became very well known web sites! And in my industry it is common for the "guru's" to create site names based on the concatenation of their first and last names - just look at the list I read on the right of this page to see what I mean!

And that is my Rule 3. I will be uploading the others as time allows!

Thursday, 10 July 2008

Basics of Web Site Optimisation - Rule 2

This post is mainly aimed at small to medium businesses that are just starting out and are keen to get something going, or have just gone live. I can't tell you how many times I have taught people over the past few years just a handful of strategically important things. So...here goes again, this time in a way that I can now simply refer to. As for my credibility - I would rather not divulge that here, read my Web Site Optimisation Rules and you decide. They are, after all, common sense, and common knowledge....like most things I blog about!

My number 2 rule: Good page & sub-directory names

Reasoning:
1. What is "good"? Good is quite hard to explain concisely. It is a collection of decisions that combine to effectively target your audience, as well as search engine spiders. "Good" should align as closely as possible to how your target audience would think, and how they would submit keywords and phrases in order to find your content, in order to find what you are offering. This is very hard to do - there is a branch of study called "Information Architecture" that is working on this, as are the real search engine scientists. It is simplist for me to illustrate with clear examples..

2. Examples of bad names:
http://your.site.com/i.html
http://your.site.com/b/a/d.html
http://your.site.com/bestpracticeagilesoftwaredevelopment.html
http://your.site.com/agilesoftwaredevelopmentbestpractice.html

3. Examples of good names:
http://your.site.com/best-practice/agile-software-development.html
http://your.site.com/agile-software-development/best-practice.html

4. I chose the good example carefully as I also wanted to illustrate some of the subtleties involved in choosing good names. And this is where Competitive Advantage and a bit of luck truly takes its course. I can imagine someone using a search engine would enter things like:
"best practice for agile software development"
"best practices of agile software development"
as well as
"agile software development best practice"
"agile software development best practices"

Depending on your research, depending on how you interact with your industry, depending on how you speak to your clients and how they in turn speak to you, these are factors that determine how you should name your pages and sub-directories. Of course, if you have a new web site, and you have not had much exposure to your target client base, then you are playing the guessing game, which is okay! Do not panic - make sure that you realise that, and reduce your risk by running experiments and monitoring the results! (see my previous rule about how to measure your web site ROI very simply)

5. Did you notice above that I also replaced the spaces in potential search phrases with "-" in my page and sub-directory names? As much as possible your web site structure must reflect natural language usage....

6. Did you also notice that well chosen sub-directories quickly give visitors insight into what other content might be in a particular sub-directory? Make sure your themes in each of your well structured sub-directories are consistent. Consistency, relating things that are similar, linking them, and linking to external related sites and external related sites linking back to your pages are things that all add up and count in your search engine rating against your competitor web sites. (synergy!)

And that is my Rule 2. I will be uploading the others as time allows!

Monday, 7 July 2008

Basics of Web Site Optimisation - Rule 1

This post is mainly aimed at small to medium businesses that are just starting out and are keen to get something going, or have just gone live. I can't tell you how many times I have taught people over the past few years just a handful of strategically important things. So...here goes again, this time in a way that I can now simply refer to. As for my credibility - I would rather not divulge that here, read my Web Site Optimisation Rules and you decide. They are, after all, common sense, and common knowledge....like most things I blog about!

My number 1 rule: No email addresses on the web site

Reasoning:
1. SPAM, SPAM, and more SPAM. Any email address on the web site, which is not sitting on some kind of island (most people with a web site actually want to be found...right?), will be picked up by the email scraper web bots that spammers (or their suppliers) use and will subsequently be mail-bombed by them (even though it is illegal)
2. If it happens to be a personal email address, then frequently all the above spamming, or other events such as the person being on leave, or being absent, or leaving the company, will result in potentially very important emails lying in an Inbox for an unacceptable amount of time, and result in a bad image of the company (unacceptable web time is getting less and less almost daily it seems - I would say 1/2 hour these days is pushing the limit for modern web users). The result of closing a spammed-to-death email address account is also a very painful IT process, especially if it is tied to the user's LAN account as frequently is the case.
3. If it happens to be a organisational email address (eg info, help, request), this is slightly better than number 2 above, at least more than 1 (non-administrator) person can access the account should they need to, and such "1 way" email accounts can be created and deleted and easily replaced as they become spammed-to-death.

So what is the better way? I recommend using a standard HTML form (or a handful of them, as per your needs - based on the categorisation of queries that you are hoping will be submitted via your site)

Reasoning:
1. Forms, via the web server behind them, can be set up to email a organisational email address very easily - same benefit as having an email address on the site!
2. You can put a few very simple fields on the form that will help with eventual processing of the query (very useful once things start getting busier, trust me I have a couple of T-shirts on this one - things, if they go as planned, get very busy much quicker than someone can be found to assist!)
3. You can add some very lightweight validation to the form to assist clients to give you the information you need in as few correspondences as possible (again, the busier you get, the less time you have for this, the more time clients need to wait between first submission, and final conclusion)
4. Forms can be submitted by anyone who is browsing your site, whereas email facilities might not be available to someone browsing your site from their phone, internet cafe, library, free kiosk for instance
5. Many people are using web based email accounts these days, and it requires some effort to get your email address over into their web mail client
6. The fastest way to actually get a client to submit something usable to you has to be a competitive advantage - fewer distractions, fewer potential glitches, fewer context switches, fewer Window switches, etc!
7. You get automatic Return On Investment (ROI) tracking as forms can have unique names, and submitted forms can also have unique names. This allows you, by hand, or with basic web traffic reporting systems, to see how many visitors (not visits!) your web site received, how many times your enquiry form was opened (= number of people who considered sending you a query) and compare those figures with how many actually submitted the form - how many times the submitted form was opened. (= visitors that wanted to become your client). e.g.: 1000 visitors, enquiry form opened 100 times, submission form opened 10 times would mean that 1% of your traffic resulted in sales leads. Possible interpretations would be that SEO is attracting the wrong kind of visitor, and/or the enquiry form is too difficult to be used or does not inspire sufficient confidence to be submitted, etc.
8. In all online systems I have worked with or advised, there is always a manager who also wants to have some idea of the amount of work coming in, and how quickly it is processed, and an ability to be able to do something if something goes wrong. Forms can be posted to multiple email addresses - or the email server can create backups and/or copies - all online, all at the manager's finger tips: in his/her Inbox (or rule-based sub folder)
9. The email server can also send auto-responses to the client so long as an email address is entered into a field that can be easily processed (this is good as the potential client will then give you more time than average to follow up with a real response, especially if you send the vital information that the submitted form has been received, will be processed, as soon as possible, between office hours of 8:00 to 18:00 GMT+2, for instance) (and thank you for your submission, we appreciate you, very very very much! thank you, thank you, and by the way, here is another backup email address you can reply to if you do not hear anything within 1 working day, quoting this reference number) (the email server and/or script doing the emailing can also generate the reference tracking number for you)

Nice, I think. This approach has always worked very well for me. Perhaps for you to.

What to do if you absolutely still must have an email address on the web site? And, to be honest, everyone using the forms method above, still does..
1. Create a tidy image of an organisational address, and use that instead
2. It is possible to get "clever" with some javascript to essentially fake or provide the user with a clickable html version of the email address on demand which spam bots can't get to, or less "clever" to generate and then paste into their email client. (there are plenty of places to download and customise such scripts or any javascript programmer could put it together (or download it) for you in a few minutes)

That's the way I do it. There is another way some use:
3. Obfuscate (lightly scramble) the email address so that the scraper-bots can not detect that it is an email address and use that. People try all sorts of techniques, but I am unsure how effective they really are - eg joeATsoapDOTcom, joeRemoveThis@soapRemoveThisToo.com

And that is my Rule 1. I will be uploading the others as time allows!

Wabi-sabi

I stumbled onto "wabi-sabi" and thought "Yes!" that's a new saying for me, that would fit in nicely with this blog! It has apparently even been used in Agile and Wiki discussions! (no guessing where I found it!)

According to our great source of free intelligent information wikipedia on the matter, it has Japanese origin. According to the entry, a 'Richard R. Powell' summarized its meaning by saying "[wabi-sabi] nurtures all that is authentic by acknowledging three simple realities: nothing lasts, nothing is finished, and nothing is perfect."'

Furthermore, the deeper meaning is also expressed by 'Andrew Juniper' as "if an object or expression can bring about, within us, a sense of serene melancholy and a spiritual longing, then that object could be said to be wabi-sabi."

I like it!

Thankyou for supporting!

Tuesday, 1 July 2008

Cool way of visualising Eclipse's history

Here is a little video visualising the various Eclipse players over the years checking source files, documents and images into the repository. It makes for a few minutes interesting viewing! Eclipse Code Swarm (short version)

Monday, 23 June 2008

What does it really take to secure a chip-n-pin debit card?

I've just had my second chip-n-pin debit card blacklisted within a year due to failed overseas fraudulent cash withdrawal attempts!

The fraudsters are stealing enough of my highly secure chip details, plus identifying my darn PIN when I enter it (VERY) carefully. Luckily for me, I have not changed many of the places that I normally use chip-n-pin in the past year so I have to only stop using it at 2 large trusted and very popular retailers, 1 local convenience retailer, and 2 places where I occassionally get food.

My instinct at the moment is that the theft is occurring inside 1 of the 3 retailers. Lovely stuff!

It occurs to me that the only thing left to do, is not to use chip-n-pin anywhere but at a highly secure ATM, and the cashier inside a bank, on a floor or two above ground!!

But what I don't fully understand is that it seems the thieves are happy to walk away with just 1 entry per location per day/week/month, thereby leaving the bank investigators no pattern that they can use to crack these networks. And these networks must be very well connected with some tiny electronic goodies, some fairly secure channels of communicating with each other in some non-pattern-recognisable manner, and some even more intricate chip programming and card producing facilities. There must surely be some way of looking at enough of the data the banks hold on these things and discovering some patterns - humans are just not capable of not having patterns!

Anyway, whatever the banks are doing so far is working - they apparently rejected these 2 withdrawal attempts due to the fact that they were not consistent with my usage pattern.

Hmmm ... "pattern" has now come up 4 times in this entry. Perhaps the recommendation for chip-n-pin users is actually: create a distinct very small pattern of usage - I do not believe at this time that the law will stop the thiefs, and it is only a matter of time before they're generating all the valid numbers and PINs they can dream of (maybe they already are...then I can actually use mine again!!??!?).

Grrrr!

A smarter SMART for even better collaborative Objectives (including OKRs)

My favourite coaching tools: SMART Acronym Another Update