Category Archives: Agile Software Development

How to Start (and Build) a Software Career

As I had mentioned in a previous post, we are now actively hiring software developers to our development center in Tel Aviv, Israel.

As part of the interviewing process, we see software developers (and other candidates) look at various alternatives, and having a hard time to decide on a potential direction for their software career. The decisions are naturally harder for young developers who haven’t yet established some career path; but, I’m sometimes surprised to see senior engineers who seriously look at options very distant from one another, such as (as one example) building security devices vs. building web applications.

Here’s my two cents on things to look for in starting (and building) a career in software. Some of the considerations below are specific to engineering positions (developers and testers) but many are as applicable to additional roles such as product management, project management, product marketing and at times sales.
Continue reading

Advertisements

Developing a SaaS product? Scrum is NOT for you.

As I had mentioned in a previous post, I believe that software-as-a-service vendors must adopt an agile development and release methodology to release software on a very frequent basis.

Interestingly, we at WebCollage have been recently hiring engineers to our Development Center in Tel Aviv (here’s a short promotion to our careers page). Perhaps not surprisingly, many of the people we interview have touched the Scrum development methodology in some way or form. Given the ubiquity of Scrum, it’s surprising how little discussion there is on why Scrum misses the mark when it comes to developing SaaS applications or web applications in general.

Like many software organizations, we had used Scrum in the past, and here’s why we feel it’s not the right tool for SaaS vendors.

Continue reading

Taking a “Product Debt”? Be Ready to Pay Interest

Last week I attended a conference kindly organized by Outbrain, a start-up company located in Netanya, Israel. Outbrain’s VP R&D, Itai Hochman, described their engineering philosophy, which includes—among other things—avoiding “broken windows”. The Broken Windows Theory (popularized by the decline of crime in New York in the 1990’s) suggests that having broken windows in a neighborhood quickly escalates into more severe crime. The engineering analogy would be that unattended “issues” in the product would similarly result in more global deterioration of quality.

The broken windows metaphor is appealing. But, a metaphor from the economics world—that of a debt—may provide a few more tools to handle product gaps.

In many parts of the world, it is common to take loans to finance large purchases, such as a house or car. Interestingly, most people can typically pretty easily understand the concept of a loan, or debt. There’s the net cost of what you want to buy (say $100,000). Rather than paying the net cost upfront, one pays some down payment (say $20,000), and then pays back the remaining portion in installments over a period of time (say $2,000 monthly). The eventual sum paid incorporates some interest, which means that the overall price paid is higher than the net price. Most people get the concept, and can even handle the math with some basic calculators.

What’s interesting is that when creating software, a similar phenomenon occurs. And, as the recent economic meltdown has proven, taking more debt than one can afford can have a detrimental effect.

Here’s how the analogy works.

Continue reading

How SaaS and Agile Software Development coevolve as a disruptive innovation

Agile Software Development is continuously gaining momentum in the last decade since the introduction of the Agile Manifesto in 2001. Software-as-a-service (and cloud-based web applications in general) is also gaining momentum in the last decade, roughly during the same period. Is this a coincidence?

Time and again, the technology landscape exhibits parallel fast advancement of synergetic technologies and methodologies.

For example, in the late 90’s, my colleague Elan Dekel has started a company called EarthNoise, offering a video sharing website. Sounds familiar? In 1995, a company called YouTube was founded with a similar idea. It was acquired in 2006 by Google for $1.65b. EarthNoise, on the other hand, went out of business as early as 2001. In the four years that passed, broadband internet access became popular, and so did digital video cameras. The three areas—video sharing, digital cameras and broadband internet—evolved hand in hand to create a new phenomena—user generated video on the web. The ability and desire to share videos online drove increased adoption of broadband internet and digital video cameras (and yielded brand new products such as the now-defunct Flip). The increased consumer demand for broadband and cameras drove down prices and accelerated technology advancement. This in turn increased adoption of video sharing sites. Now, video sharing sites are an inseparable part of our lives.

Arguably, the success of the iPhone is—similarly—largely due to technologies that co-evolve with smartphone advancement: 3G connectivity, Wi-Fi connectivity, touchscreen technology, low-consumption processors and—at least to a certain degree—HTML5.

I would assert that software-as-a-service and agile development methodologies are likewise coevolving and drive each other’s adoption. It may not be obvious, but this creates a spiral effect (or—in Geoffrey Moore’s terms—a tornado) of disruptive innovation that will eventually displace many of the software development paradigms.

Here’s why.

Continue reading