Latest Entries »

    I had a job interview today and I blew it. Well, from my point of view it’s them who blew it but I’m sure it’s the same for them.

    The interview was with a the MD and CEO of a well-known company that had developed a social networking solution based on Drupal.

    It started out like any other interview when the MD asked me about my background and my career development so far. We then talking about project management, my experience with agile and my opinion of agile methodologies. I certainly didn’t hide the fact that I believe agile is far superior to waterfall in virtually any situation, which resulted in a bit of a back and forth between the CTO, me and the MD. The CTO said he believed that agile only worked on projects with a medium sized budget and that it didn’t work with either high nor low budget projects due to scalability issues. I replied that I had heard these arguments many times before but that I didn’t believe they were true. I then gave them the example of DSDM, which manages to be wholly prince2 compliant while staying faithful to all agile princles. However, the MD stressed that they always choose the right methodology for projects and the fact that I disagreed with the CTO was a indicator that I may not be a good fit for their company.

    I really didn’t know what to say. A voice inside of me wanted to scream “wtf!?!”. My mouth, however, formed the words “Fair enough, thank you for you time”. When I finally left the building, I was so happy that it didn’t work out.

    If that’s the way a company deals with dissent rather than embracing diversity I seriously don’t want to work with them. It’s obvious to me that they don’t get agile there. Agile is about the way you look at people and treat them and life’s too short to waste your time helping companys that don’t want to be helped.

    Agile project management methodologies have been around for almost a decade but it’s not until the last few years that it’s gained critical mass amongst the software development community. The web develpment community, though, has so far somewhat defied this trend and keeps resisting what many developers simply call “common sense practice”. I have often been told by drupalistas that agile just wouldn’t work for them or sometimes even that agile isn’t mature enough.

    However, agile – and scrum in particular – is now slowly picking up momentum among web devs; especiallly within the Drupal community. Curiosity about the new kid on the block is growing and I’ve been increasingly asked about possible ways to get started.

    My main advice used to be to stay away from half-hearted implementations of any agile methodology – not knowing which elements to mix is likely going to lead to sub-ideal results. If you want to try this – my advice is to find an experienced agile coach to help you. However, after a while I came to realise the insistence of many agilistas to go the whole way is one of the reasons why agile adoption is low.

    That’s when I started to change my approach and told people that there are 4 hard simple steps to get them started on their road to agility:

    1. Change your mindset and embrace change
      I often found that while decision makers want to buy into agile, once they realise the significant changes that need to be implemented in order to be agile they backpedal. Being agile means trusting people to make the decisions they are best qualified to make. It’s one of the cornerstones of agile and while It may sound simple It is often the first point of failure when starting the transition to agile. Be prepared for this change and its consequences.
    2. Increase communication
      Make sure everybody in your team talks to each other. It’s impossible to be agile if people don’t do that. It doesn’t matter if they don’t just talk about work – in fact, I believe you should encourage that. This will help getting little (and big) details that would otherwise fall under the radar to be communicated and keep everybody up-to-date on who is doing what. As a welcome side-effect, it should also help the team to form a sense of “we” and increase morale.
    3. Trust your developers
      Who is most likely to know the particulars of a task? The answer is almost exclusively: the person who does the job. And if this isn’t reflected in your process something is wrong. It doesn’t matter how many people think adding Facebook integration only takes 2 weeks – if the person developing the feature thinks it will take him 4 weeks chances are it’s going to take longer than the originally estimated 2 weeks. At the beginning the estimates from your developers are going to be off but estimation is an art in itself. With experience the accuracy of their estimates are going to increase and within a few sprints they are going to be spot on target!
    4. Do things in iterations
      Things are best done in bite-sized chunks. This holds true for food as much as for any kind of software development. In scrum they are called sprints but whatever you want to call them, they are iterations. They allow for some breathing space in between and more importantly, reflections. Use the time to look at what went wrong and how to avoid the same mistakes in the next iteration. It’s also a good idea to consider what went well and make sure they can be replicated in a sustainable manner.
    5. Involve the community and contribute back
      Ok, I know I originally said there are only four points and to be honest, this point isn’t strictly speaking part of any agile methodology. However, being agile is all about inducing a sense of we and foster intra as well as inter-team co-operation. Besides, it makes perfect business sense to maintain a high profile within the Drupal community.

    This article was posted by me on atchai.com on 22 August 2010.

    Watch this brilliant parody on the wildlife documentary genre of video of a plastic bag and its perilous journey to the Great Pacific Garbage Patch.

    If this ever happened to me, I would totally freak out!

    Not sure what I would do if this ever happened to me but I’m sure I’d simply freak out and RUN! I have seen way too many horror films to seriously believe that something that sneaks up on you like this can have a happy end.

    I’ve been a member of planetromeo.com / gayromeo.com for about 8 years now and they are my preferred gay community site. Unlike other sites like gaydar.com, they are not solely focused on making money using a traditional sex sells approach. On Gayromeo, the community aspect is important, too!

    Every year on easter, they have a easter egg hunt. Spread totally randomly across their site, any easter egg you find will give you some kind of benefit. And every year, I spend at least 2h of my life hunting them all down!

    I thought this year I could give other people like me a helping hand by listing them all below:

    1. Yellow U egg: Settings – user interface
    2. Yellow U egg: Top users with footprints – Really Sweet
    3. Pink S egg: Webcam escorts worldwide; at the bottom of the page
    4. Brown P egg: Main pic who you have wished happy easter
    5. Pink P egg: Manage your photos – create new folder
    6. Pink P egg: Show all benefits – download porn movies
    7. Blue C egg: Planetromeo foundation main page

    Jackie Chan has been greasing up a lot recently, preparing his big slide into some communist arses. Already famous for remarks saying that HK and Taiwan are too free and thus chaotic and that Chinese people need to be controlled and ruled (太自由了就变成香港今天這個樣子,很亂。而且變成台灣這個樣子,也很亂。。。我們中國人需要管的), he is now taking it to a new level. Especially hilarious is the claim that Chinese citizenship is the hardest to obtain in the world (中國籍是全世界最難進的籍).

    In a failed attempt to circumvent Hulu’s IP geocode detection I setup Squid on my Slicehost server. While I totally underestimated Hulu’s intelligence (it’s much easier to deceive the BBC’s iPlayer), I’ve now got a working proxy server running on Ubuntu 8.10. Here’s a quick manual:

    1. In the command line, type in: sudo apt-get install squid
    2. Then type sudo nano /etc/squid/squid.conf to edit the file
    3. Add the following lines to the top of the file:
      acl computer src 127.0.0.1
      http_access allow computer
      visible_hostname computer
    4. Save the file by pressing: control o, then close nano with control x
    5. Last, restart squid: sudo service squid restart