Monday, November 23, 2009

continuous integration

Add to Delicious Digg this links to this post -

Countinuous integration is the last buzz word... keep reading it everywehre.

What is continuous integration
Continuous integration is a software development process, which ensures that bugs which have been detected earlier are not coming back into the code un-noticed.

It relies on a few principles:
  • use of a version control: each time someone carries out a commit, a new build a done automatically in the background
  • automatic build: as seen above, a build can be automatically triggered.
  • automatic testing: the bug raised and fixed previously must have a matching unit test which will automatically test whether it is still fixed or not.
Continuous integration and PHP
A few tools can be useful to get started with "continuous integration".

Test Driven Development (TDD)
The idea behind TDD is to write the test before starting coding. The objective of the code should be to get the test passing.

This can be nicely applied to continuous integration: whenever a bug is raised:
1) Write the unit test for it, which currently fails
2) Write the fix.

The idea is that the tester could actually build the unit test**, so that the developer can still focus on development.

Note **:It is worth considering integration testing also, using selenium RC for instance.

Labels: , ,

Tuesday, August 25, 2009

Debating the role of innovation

Add to Delicious Digg this links to this post -

Providing innovative products and services is top priority for over 80% of marketing directors in the technology sector. Although a study from Forrester (Being Innovative Means Beyond The Hype) indicates that the way innovation is managed by these companies is usually not process driven, and do not support innovation efforts with proper management.

The definition of innovation according Chris andrew (author of the article) is:
Innovation is a combination of both invention and commercialisation.
This definition insists on the fact that to be innovative, an invention needs to have commercial value.


Companies such as Google or 3M take innovation very seriously. Members of engineering development teams at Google for instance are actively encouraged to allocate and spend 20% of their work time (one day per week) on projects that interest them.

I think that this model can work for for SMEs as well (interesting discussion here), and is worth considering. For a web development/design company, this can include: working on improving production processes, developing plug-ins for open source software or work on open source projects, developing new services, setting up micro websites or online social communities, etc...

There are many challenges to address...

- ensure that staff don't become too "passionate" about this side projects, and end up spending more than 20% of their time on them
- try to fit in these projects into short term strategies, whereas they should on the contrary contribute and be in line with comapny's long term strategy
- running the scheme for a couple of weeks and then forget about it as soon as new product/services deliveries are due.
- etc..

... However I would find it difficult to encourage big corporations improving the way they manage innovation if I could not demonstrate that it can have a very positive impact on my own company's bottom line.

Labels: , ,

Tuesday, February 24, 2009

Testing :: in phases

Add to Delicious Digg this links to this post -

Was reading Matt's blog at Aroxo, and found an interesting little summary of how testing should be conducted before releasing a site live:

Test type

Description

How many people

Over-the-shoulder The main sticking points in the system. Where the system confuses users.
Start when functional testing at 80% readiness. Earlier with mock-ups also possible.
10-15
Task-driven testing How well the system stands up on its own.
Start when the major usability holes uncovered in OTS testing have been fixed.
Start with 20-30 keep growing invites to 100 or so
Goal-driven testing End-to-end flaws across the system.
Start when functional testing at 95% system readiness with a slick UI.
150-200
Beta testing The marketing points for the site, highlights future developments. If there are enough users it may also reveal performance issues
Start when the system is 99% ready.
250+ including members of the public

More information there >>

Labels: ,

Wednesday, October 15, 2008

production tools/applications

Add to Delicious Digg this links to this post -

Had an interesting meeting with Mike Karliner yesterday. We went through some of the tools he is extensively using in his production process. Some were very familiar (such as subversion which we use as version control internally), some not. The list below gives a pretty good toolset for anyone looking into rolling a production process - and everything is open source:

1) Version control
Subversion: The Subversion project arose out of frustration with the limitations of CVS (Concurrent Versions System). Subversion is designed to be like CVS, but to fix its flaws. A key improvement in Subversion is atomic commits. This means that when you commit a changed project, either all the changes succeed or none, like a database transaction.

2) Version Control UI for windows
Tortoise: TortoiseSVN is a cool/efficient/friendly SCM / source control software for Microsoft Windows.

3) Project management / Bugs tracking:
Trac: Trac is a web-based software project management and bug/issue tracking system. It provides an interface to Subversion and an integrated wiki.

4) Data storage

FreeNas: FreeNAS will allow you to turn just about any computer in to a full-featured NAS, complete with a easy to use web-based configuration utility.

5) Server's/applications monitoring
Hobbit monitor: Hobbit is a monitoring solution for servers and network devices and allows you to write or use extensions to monitor just about anything that responds over a network connection. A central server controls and collects the monitoring and displays the results via a fairly easy to use web interface. It will track history and trends (via rrd) and provides a built-in reporting tool. If there is an issue (that you've defined), such as a down host, the interface will turn red and will performs any alerting actions that you've defined, such as sending an email or sms message.

6) Traffic analysis

Cacti: Cacti provides a fast poller, advanced graph templating, multiple data acquisition methods, and user management features out of the box. This allows you to build up your own analytics tool, combining data at will, and building very custom reports.

7) External bugs tracker
Mantis: if you are deaing with clients, or have an external team of testers, this tool will let you track and report on bugs fixes and software updates.

Labels: ,

Tuesday, April 22, 2008

SEO should get in bed with PR

Add to Delicious Digg this links to this post -

As a SEO consultant, I am often asked whether we can help companies increasing the exposure of their sites on blogs, online social networks or online news websites. I usually answer that increasing the exposure of a website is online PR, not SEO, and that it is not something I specialise in.

I came to realise this morning that the difference between online PR and SEO is very blur at the moment, and people feel that they need to depend on a SEO company to manage their online exposure.

This should not be the case.

SEO requires technical skills, in order to optimise the HTML of a site, format the content in order to make it semantically relevant for chosen keywords, and submit the site to online resources.

Online PR requires a good understanding of the business and a good network of relevant journalists/bloggers/media owners who will take on a press release and push it forward a large volume of viewers.

traditional online PR mechanism

SEO and online PR don't share the same objectives

SEO's objective is to drive long term traffic, whereas online PR's objective is to drive short term traffic.

Now, if you are interested in increasing your traffic overall, the solution is simple: Get the 2 of them in bed together!

The picture below illustrates the concept. Instead of running SEO and online PR as two separate marketing strategies, SEO and PR should be combined in order to maximise return on investment.

 online PR combined with SEO mechanism

The situation is a bit similar to the situation a few years ago when website owners depended on web design agencies to update the content of their website. Then came in content management systems, which now reconciles web design and web content management.

Companies should not rely on SEO agencies to run their online PR campaigns.

It is now time to consolidate SEO and online PR agencies, and release tools allowing PR agencies to combine their activities effectively with search engines optimisation. There is no such tools on the market at the moment.

I believe that someone coming up with such a tool would revolutionise the online marketing industry, the same way CMS revolutionised the web design market a few years ago.

Labels: , ,

Saturday, September 08, 2007

cost effective web design process

Add to Delicious Digg this links to this post -

Clients and sales propects often ask me: how can you be so cheap compared to your competitors?

Let's give some pointers: the key is to identify each step of the process and address is with a different resource.

The usual process we follow for building websites at Jazar are:
1) Information architecture: how is the information going to be organised, navigation, sitemap, etc ..
2) front-end design: look and feel, html/css templates, javascript
3) backend integration: intergation to the content management system, adding specific modules (polls, shopping cart, etc .. )
4) Testing
5) release
6) finalise the build and release process for maintenance purpose

It can be a complex workflow for large websites, but depending on your expectations, a simple site should never cost more than £1000 to build (no custom development, simple information architecture, no software release process, no expensive maintenance):

step 1: Infornmation architecture
You should already know which products and/or services you want to present on your site. Just look at the way your competitors organise the information:
1) Check our their sitemap
2) Duplicate it, replace their products/services with yours
3) Try to find something which you can improve, and modify your sitemap accordingly (nothing wrong with taking copying, as long as you add 5% of your own creativity - no need to reinvent the wheel)
4) Submit the brief
-------------------------
FREE

step 2: "front-end design"
You can pretty much divide this step into 3 sub categories: graphic design, html/css integration, javascript add-ons.

If you don't have staff or freelancers available, you can always use online resources:
1) graphic design: www.sitepoint.com (budget: £250)
2) html/css integration: http://www.psd2html.com (budget: £200)
3) Javascript add-ons: don't need for a simple website.
-------------------------
Total: £450

Step 3: CMS integration
We typically charge £450 for CMS integration. This gives you then the ability to manage the content of your site later, without depending on us to do the work for you. We are not taking any risk here, just setting up the tool for you. No subjective output, no particular testing required, we outsource most of it, so Jazar is still making decent margins...

You end up with a site worth £900 - and you have paid £900 for it. Don't laugh - I have seen quotes ranging from £2000 up to £25000 for the same brief! The Internet is very new market, and it is challenging to really know what you buy - and it is quite challenging to know how much your website is really worth.

So, thanks to my little article, you start getting an idea about how to assess what you should pay for your website. Is it helpful? Of course it is. But the real question should be: what do you want to do with your website, and how much should you be ready to pay in order to reach your objectives?

With a £500 car, you will probably be able to go and do your shopping for a while, drive around to go and see your friends around, or even drive away for the week-end. But you'll never be able to qualify for a formula 1 race.

That's pretty much the same idea with websites - don't expect to generate many sales leads with a £900 website - you'll probably need to invest a bit more in information architecture, custom development and marketing.

Running out of time now to go through this, but will probably carry on offline (on our corporate site), since this post could turn very quickly into a sales pitch...

Labels: , , , ,