Like most web start ups we spent the early months of DabApps' inception envisioning an ideal world where we would be brimming with great ideas, developing our own apps 'straight off the bat', selling them like 'hot cakes' and enjoying our 'place in the sun' - ok, leaving behind the cliches and idioms, we all know that starting a business, or indeed any new project, is never that straight forward or easy, particularly when you are bootstrapping the whole thing and need some quick wins to sustain you.
Our early strategy was to sell our services as web application designers and developers in order to generate a steady revenue. It was something we knew how to do and it has worked for us; we have established ourselves and started to grow a sustainable business. But what about the original dream of designing and developing our own products? What if we hadn't been able get started this way? It's a problem that many would-be entrepreneurs face.
We're all familiar with agile software development which is based on an iterative and incremental process that promotes adaptive planning and encourages rapid and flexible response to change. The approach is now widely accepted as the 'way to go' if you want to build and deliver the best possible web or mobile application you can from a business proposal.
A lot has been learnt from the agile approach to software development and there is a burgeoning interest in applying its principles to both business development and indeed to any personal project or dream you'd like to realise. At its core the agile methodology challenges us to abandon the Decide > Plan > Do approach which, because it demands that we are certain about what we want before we take any action, often deters us from getting started at all. Instead we are encouraged to jump into a cycle which looks more like (Act > Reflect > Adapt) (Act > Reflect > Adapt)... etc and to give ourselves a short well-defined time period in which to complete each cycle.
The agile approach can be a testing one as it requires us to get into action straight away, sometimes with nothing more than a 'fuzzy' goal and no clear road map. It also requires us to set a deadline which is both short enough to prevent us feeling overwhelmed by the amount we have to do and long enough to get something done that can be reflected upon and adjustments made based on what we've learned. Scaling you're idea to something that can be shared and appraised within a short time scale is key to the agile process. Long-term, larger web development projects generally work in 2 week 'sprint' cycles which aim to produce a fully functional, testable user interaction as the goal. This is certainly how we work with our clients to bring their ideas to life quickly and with their full engagement. When it comes to product development, scaling your idea to a prototype or Minimum Viable Product (MVP) which can be shared with representatives of your target market will allow you to get your idea out there quickly, find out what does and doesn't work, make the adjustments and finally launch with a great product that stands a good chance of succeeding!
If you're an entrepreneur or starting your own business we'd also recommend "Rework" (2010) by Jason Fried & David Heinemeier Hansson. They apply pretty much the same agile principles to running a small business or starting up on your own
So how have we benefited from the agile approach at DabApps? Well, we use agile methodologies in all of our client projects. Our experience tells us that clients quickly understands and appreciate the flexibility that agile gives them. With shorter development cycles that have tangible deliverables, they can engage in the Act > Reflect > Adapt cycle and see the benefits for themselves.