Wednesday 5 January 2011

Development Ideas For Small Companies & Teams

Having worked predominantly in small companies and teams I've collected a few wisdoms along the way.

General

  1. Address your biggest constraint, it's the only one that matters. Repeat
  2. Solve only problems you actually have
  3. Mandate quality appropriate to the software at hand

Communication

  1. Take time to understand stakeholders' expectations and availability
  2. Establish a regular cadence for stakeholder reviews and other events
  3. Frequently demonstrate new functionality, even if incomplete. Limit the potential for misunderstanding
  4. Question things you don't understand, however small
  5. Avoid email for in-depth discussions. If you must try using stories, tables and mockups to communicate requirements then talk it through over the phone
  6. Adopt industry standard terminology for your domain

Process

  1. Reduce process overhead. How often do you use the audit trail you might think you need?
  2. Prioritise work with a simple familiar system such as a queue. Consider limiting this to a small number of next features. Get enough detail to roughly size the features then analyse them in detail as Just-In-Time as is tolerable
  3. Adjust your process to suit you

Planning

  1. Don't start until you understand what "finished" means
  2. Plan, but don't expect to have thought of everything
  3. Timebox unpredictable tasks and have a fallback plan
  4. Work on as-few-a concurrent projects as possible
  5. Understand your development capacity and be honest about what you can achieve

What advice would you have for someone in a small company or team?

No comments :