JFD Mentors Carl-Coryell Martin and Benjamin Scherrey spoke to 40 Singapore-based founders on Friday about Agile Development. Both have extensive experience managing companies that use agile software development methodologies.
What is Agile?
The Agile Manifesto lays out 12 principles for software development:
“Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.
Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
Business people and developers must work together daily throughout the project.
Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
Working software is the primary measure of progress.
Agile processes promote sustainable development.
The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
Continuous attention to technical excellence and good design enhances agility.
Simplicity–the art of maximizing the amount of work not done–is essential.
The best architectures, requirements, and designs emerge from self-organizing teams.
At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.”
Ben and Carl shared a few key points with the crowd:
1. Agile is a must for startups, especially JFDI companies
“Anyone not using Continuous Integration (CI) will not having something demonstrable at the end of the 100 days,” Ben warned. Agile technique maximizes the likelihood of creating quality products that meet customer needs in the shortest timeframe possible. Agile and lean startup are methods that make it possible for startups to go from idea to investment in 100 days.
2. Agile is a direction, more than a destination.
Ben and Carl suggested that the startups figure out which agile practices best fit their companies needs. There are many agile processes that can work. Ben likes to use Scrum or Kanban at his company, depending on the project at hand. Carl uses pair programming and ping pong programming at Pivotal Labs.
Wikipedia provides a good summary of the various agile methods available.
3. You can apply agile to other parts of your business.
“One of the most expensive things in the world for a small company is to follow up on late payables,” said Ben. To minimize this cost, Ben and his team even designed the contracts in which they do business in an agile fashion. After giving clients an estimate of how long a project will take, his company requires clients to pay upfront for 2 weeks of work. That cycle repeats itself until the end of the project. If a client doesn’t pay, work does not continue, and when a client does pay, the maximum risk to that client is 2 weeks worth of work.
Not only has Ben never had to spend time chasing down a client for late payments, but this strategy has had a positive benefit on client relations. “A client has never fallen off. Given this structure, the client is continually engaged.” Clients also get to see demos of the iterations as they are completed, rather than at the end of a project.
Carl (@carlcoryell) has worked with agile software methods since 2000 when he implemented the practices in Kent Beck’s Extreme Programming Explained in his first startup. Currently, he’s the Practice Manager for Pivotal Lab’s new Singapore development office and is looking forward to doing agile software development here in South East Asia. Previously, he released the successful BirdsEye iphone app for North American bird watchers and was a partner at Reclaim Media in Seattle where he led the construction of the vinyl record digitization factory.
Ben (@proteusguy) is founder & Chief Systems Architect of Proteus Technologies (http://proteus-tech.com/), a company founded to demonstrate how one can create innovative software in Asia by Asians. By providing true technical career paths (which are practically non-existent in Asia) and implementing Agile concepts throughout every aspect of the company he did just that and now works diligently to help foster the technical startup scene in SEAsia.