Saturday, July 23, 2005

Imperatives of successful software development

Manage
1) Risk
2) Complexity/Size
a) Conceptual integrity of solution vis-a-vis problem: Essential
b) Structural integrity of solution: Accidental
c) Work
i) Progress
ii) Activities
iii)Work products
2) Environment (Platform, Language, IDEs, Tools, and Process): Accidental
2.1) Resources (time, team, machine, software, and other Work products)
2.2) Reusable software assets (Patterns, Framework, Components, Idioms, and Automation assets)
3) Change (requirements, environment, and team ie. no, skills, attitude, ...)
4) Communication across all stakeholders (including customers & users)