End To End testing

I truly believe in TDD (Test driven development).  Nevertheless I think that just TDD and refactoring don’t imply that the developers are writing first time right code.  TDD will only test the case the developer has thought of.  It’s a coding practice that is helping in improving the design but it’s not a guarantee for perfect quality.   

On the project we are currently working on, we’ve planned some end to end testing sessions. Each testing session’s goal is to test a couple of stories. We hope that these tests will be helpful to better understand what our end-users really want.   As we don’t have a dedicated QA team the responsibility of the tests is handled by our usability team.  They invited some end users for testing sessions. We already do a lot of tests but this is the first time we are organizing formal end to end tests during the development process. 

Although the first testing session will be held tomorrow I’ve the feeling that the investment we made by preparing these tests is already paying off. Usually a couple of weeks before the delivery date a lot of pressure are put on the head of the team.    The sessions are motivating the team to deliver a complete set of features at regular moments in time.  Because we organised these tests all over the development period we’ve divided the delivery of the product into small releases. The developers are therefore making regular sprints and this is improving our productivity and quality. 

Knowing that the fearless end-users are coming to evaluate our product stimulates us to deliver more quality.  It helped us discover bugs sooner because someone else that is not as close to the code check that the code is doing what he expects.

22:15 Écrit par Geoffrey Vandiest dans Web | Lien permanent | Commentaires (0) | Tags : testing, xp, tdd, usability, end to end |  Facebook |


Web technology cocktail

Interoperability between PHP & .Net


In my team, we are currently testing a new type of architecture. We decided to mix technologies and uses PHP for the front-end of our application and WCF for the business tyre.

One advantage of PHP over .Net is that there are a lot more PHP developers available on the market and they are usually cheaper as their ASP.NET colleagues. Most of the developers working on the web started their career as webmasters. They learned programming on PHP because of the simplicity of the PHP language and the fact that Microsoft never made a product that was appealing to them. For most of this type of autodidacts it’s really hard to master an OO platform as ASP.NET of JSP. So in my opinion despite the fact that ASP.NET or JSP are far more advanced and proposes a better set of tools, PHP will remain for a long time the most used web platform. For the same reasons I predict that it will be very hard for Microsoft to sell his “expression” suite to webmasters.

The PHP language is very flexible and easy. The entering cost was really low, in a couple of days we where able to master the language. We found a very effective way of interoperate both technologies by using wsdl2php.

Nevertheless I’m a bit disappointed over PHP because we are missing a good development environment. For the moment we are using Zend Studio and it really sucks. The auto completion is not working properly and we were unable to configure it for remote debugging or for source control. We use a distant development server because the application will be deployed on linux clusters and we wanted to have the same development environment as our deployment environment. Zend is really bad with this type of configuration.

It’s like we are back to the stone age of development; no debugger, no source controller. Because of that we are forced to phone to all members of the team to know who is working on what. Our code is full of "echo" and "print_r" statements. Bugs appears because someone else has saved some new files on the server that are incompatible with the current version of the files.

PHP is a nice little platform but it really miss an IDE as VS.NET 2005 IDE and other tools that boost up productivity and quality.

13:20 Écrit par Geoffrey Vandiest dans Web | Lien permanent | Commentaires (0) | Tags : interoperability, php, asp net, wcf |  Facebook |


MySpace or how to handle 40 Billion page views

An article about how the guys working for MySpace manage to handle 40 Billion page views a day!



22:28 Écrit par Geoffrey Vandiest dans Web | Lien permanent | Commentaires (0) | Tags : page views, myspace |  Facebook |

Web 2.0 or the self organizing web

Till recently I thought that Web 2.0 didn’t mean anything but last year I had the opportunity to participate at the SAF summit in Redmond.  Their I talked to people like Michael Platt who is primarily focussed on everything that is in connection with the Web 2.0 hype.  Now I’m convinced that we should (re-)think our business and techniques to be part of the revolution that Web 2.0 will be for our industry.  We are at the beginning of a new era, a time of rapid evolution in the IT industry that will cause considerable changes.    This disruption is underway but the baseline of what will happen in the future or who will be the new leaders have not yet emerged.  Specifically online media companies like Skynet are facing big opportunities but before realizing these opportunities we’ve to rethink our business if we want to survive.


I believe that moving forward advertising based companies, like ours, will be one of the pillars of the new revenue models with great profit potentials.  I also believe that the market will localize and that the future belongs to local companies because the advertisement in the future will grow horizontally. Advertising based companies will attract more and more little companies and local players as Skynet have a big advantage towards big multinational players.


Web 2.0. is mostly associated to new technologies like Ajax, REST, Mashups but in fact it is the least relevant part of it. In fact I have to confess that I hate the Ajax hype.  For me Web 2.0 is more about the web organizing the knowledge generated by the web. It is partially about organizing content and communication in accordance with a new paradigm. But what are the components of this new paradigm? I believe that Tagging is one of them.  Tagging is a great example of how Web 2.0. enables the web to self organizing itself.  


Tagging could change the way we organize our advertisement and could be an incredible value differentiator towards our customers. By allowing users to bookmark our content we get also a way to know our self and the content we own better.  Tagging could be a way to generate knowledge around our content and make invisible connections appear.  We should think about different ways of letting the user tagging all types of our content on our site (pages, rss feeds, music, video’s).  This will increase the user experience because the user will be able to retrieve more easily content by the way he organized the content for his own.  This will also give the user the ability to retrieve content by the way other users has tagged the content. This intelligence could be an immense asset for our customers.  Think about the way we could organize their advertisement campaigns by using the intelligence that the users have created for us.  We could also re-unify the people and the content by making links between tags describing people and tags describing content. 


Also for direct marketing tagging could mean a revolution in the way we organize new services.  It seems obvious to me that we should re-invent the way we qualify our users.  Let them decide how they describe themselves; don’t format the answer like we do now! 

12:30 Écrit par Geoffrey Vandiest dans Web | Lien permanent | Commentaires (0) | Tags : web, web 2 0, tag, tagging, ajax, web 2 0 tags tagging |  Facebook |