Estimating costs in a software project is always difficult. In particular, within the realm of web applications, blindly relying on estimates can not only be difficult, but also detrimental to the success of a project itself (we’ll see why). Nevertheless, customers (be them small or big) expect to know development costs in advance. They just can’t afford or don’t want to put their blind trust in you. Especially when “the other company” can estimate a 2 man/year effort to the last detail. They must be the ones who know it all. You’re not up to par, and you just lost your chance for business. And, if you’re starting up, you’re most likely not in the position of skipping opportunities this easily. On the other hand, landing sh*tty contracts at the beginning might keep you stuck in a sh*tty market forever. Apparently there’s no way out. Not the best place to be.
When we started up our small development team, a couple of years ago, we were pretty much facing this situation. We had to think about some way to get out of this and improve our workflow. We’ve tried with incremental at first. But it failed. So we went on looking for something else. We’ve reviewed our process a few times, until we’ve reached our current model, which has given us a positive feedback so far.
In this talk I’ll share our real world experience of starting up from scratch, and trying to apply the concepts we’ve learned sticking with the Italian PHP and agile communities during the last several years. We’ll share how we managed to change our customer perspective, and be more eager towards the adoption of agile development methodologies.