David’s Principles of Software Development

September 1, 2012

1. Have extremely well understood goals for the software functionality.

2. Have a robust design upfront – even if that means prototyping first, discarding the prototype, then designing.

3. Each developer has a chunk of functionality he owns. Each developer is associated with a functional module. A development team is associated with large product or large library.

4. Have well defined interfaces between modules and hence between developers.

5. Avoid meaningless and ridiculous schedules – they are huge de-motivators.

6. Have an architect that supervises the design and does little to no coding.

Entry filed under: Uncategorized. Tags: .

Pitfalls of Qt Signals and Slots in embedded real-time systems Extract pixel values from a bitmap in Qt