Category: Development Processes

The business of Ruby

This article is based on a presentation I gave at the recent Rubyfuza conference, which was addressed at Ruby developers. The title of the presentation was ‘The Business of Ruby’ – specifically because it was given at a Ruby conference. However, it had very little to do with Ruby. In fact, it had very little to do at all with any programming language, any framework or any specific technology. I didn’t write any code or show any interesting snippets, explain the latest incarnation of this or that gem or plugin.

I wanted to step out a bit. Get to a higher level and talk about the people that usually cause developers the most stress (and no, I don’t mean Project Managers). I mean clients. Customers. The people that we are ultimately building our software for. The real people that (again, usually) don’t speak “geek”. These “real people” never seem to be interested in developers fancy, elaborate code or their highly elegant software architecture. The people always seem to be more focused on the design and how easy it is to use the systems or applications that we build. Because, at the end of the day, you have to admit that clients are the ones that are paying our bills, so we need to satisfy them.

Twitter and Facebook down

Yup – it’s true. Twitter has experienced one of the longest outages in years, while Facebook has been experiencing intermittent disruptions for a number of minutes (becoming hours) already today.

The reason for Twitter’s down time is a “denial of service” (DoS) attack according to their status blog.

The reason’s for Facebook being down/disrupted are less clear, but there is some speculation that it is because of the flood of Twitter “refugees” who suddenly went onto Facebook because they could not access Twitter.

At WWW we do wonder if this is in any way related to a substantial Twitter API change made yesterday, although it is unlikely to be directly connected? And the question – “what would the motive be to attack Twitter with a DoS?” The best answer we could come up with is “a hacker who wants to brag to his friends that he was able to bring Twitter to it’s knees.”

We also had to chuckle imagining the Social Media crowd and “Twits” rushing to Facebook and then probably to RSS readers to get their regular information “fix.” Will be interesting to study the traffic flow patterns when things return to normal…

Project failure rate still high. Agile is the answer.

scrum-cycle.JPGA recent study shows how a disturbing number of development projects still fail due to poor upfront analysis.

I think that this oversimplifies – the devil is in the detail. From experience it is about far more than just “the wrong scope” (I’m referring to the project requirements as the “scope”) – it is also about “scope creep,” “scope change” and underlying business change which inevitably results in “scope change.”

If you want to scope a big development at the start of the development, you are going to have a tough choice when the inevitable scope change requests come. Either, enforce the “letter of the law” by referring to the brilliant/bullet-proof requirements documentation you created upfront OR allow the changes and “donate” the work required to the paying client.

Neither option is reasonable. Someone is going to lose out in either case.

There is an answer. It’s called Agile Development. At WWW, we use a particular methodology called “SCRUM.

The Agile Manifesto puts the issues squarely on the table.

In simple terms: Work in smaller chunks. Deliver business value often. Collaborate with the software owner/sponsor very closely throughout the process. Accept that change is inevitable in software development – accommodate and encourage it. Ensure that everyone on the development team trained and mandated to maximize business value on behalf of the software sponsor/owner. Everyone on the team is both developer and analyst.

4 Web Resolutions for 2008

Happy 2008Off we go! Another year of discovery, excitement, change and quite possibly some daunting challenges awaits our brave developer hearts once more. As we walk bleary-eyed to our desks again, fresh smells of coffee filling the office, it’s an excellent time to refocus – amongst other things – on our technical goals; how we’d like technology to help us grow, but more importantly, what we can do to help technology grow.

PayPal: Good news for South African eCommerce

PayPal LogoSouth African online buyers can now receive quotes in Rands and make credit card purchases through PayPal.

“Just the other day, I found out that South Africans can now get PayPal accounts and link them to a local credit card. When you buy something, the amount is deducted from your credit card and the system even tells you much it will be in rands.

The only major snag with PayPal, for us South Africans, is that you currently cannot withdraw the funds from your account into a local bank account.” Full article: http://www.ioltechnology.co.za/article_page.php?iArticleId=4128440

For receiving the funds into a business, you still can not deposit into a South African bank acount, but this can be solved through offshore options.

Insight, Process, Growth – an Agile Story

WhiteWallWeb* this article is loosely related to a real case but is primarily concerned with highlighting some principles about the value of great systems and well run projects.

White Wall Web (WWW) is involved in development projects that have a far greater affect on companies, industries and the economies of the countries in which these companies find themselves than I had ever previously realized.It has become apparent that the development of software solutions is possibly far more than just automation of a paper based processes to meet a business’s requirements or drivers. I will use a business case to explain this further.

AJAX Fight Night

Introduction

First up, I have to mention that my first experience in the programming world was with C# .NET. I thought that I would never move to another language never mind leaving the .NET framework.I started working at WhiteWallWeb and the oddity language PHP4. Coming from a completely object oriented approach to the scripting PHP4 pattern really shocked my system – “How clever must you be working with 4000 lines of “if’s” and “else’s” with the occasional “switch case”?” When PHP5 arrived I was back in my comfort zone. We’ve even built our own framework – Muffin. Working with PHP’s unique multiple array structure with the JSON library and the Prototype JavaScript library made me think I was invincible.
Then Ruby on Rails came along…

Project Management and Time Tracking Tools Research

Over the past year we have endeavoured to discover and consolidate the tools that we use to manage project planning, tracking and reporting.
We have a variety of contractual relationships with clients. This adds complexity to consolidating tools across the company especially since each of these relationships has its own project planning, tracking and reporting requirements…