- 0. Pre-Engagement
- 1. Tech Discovery
- 2. Prototyping
- 3. Development
- 4. QA and Testing
- 5. Communication
- 6. DevOps
Weekly Burn Rate Model
Gerald Weinberg in his book "Quality Software Management: Systems Thinking" says that developers lose productive work-time switching between development tasks on multiple projects. The loss of efficiency can be over 50%, hampering productivity and quality. Eventually, the project delivered is nearly always of poor quality, and rolled-out just to get things out of the door, as the deadline looms large. The question really is—do you want a team which lives and breathes your project, or, do you want a team that is disengaged and disconnected from your success?
A typical product development team has a Scrum Master, Developer(s), Front-end Engineer(s) and a Quality Assurance Engineer. Often our developers are multi-skilled people, and thus help make the team 'lean'. Scrum Teams are discussed in detail later.
When Agile project teams are staffed largely in 100% capacity, and when they are focused on the stories they are to complete in done-done state by the end of two weeks, it is natural for project estimates to be done based on a staffed team.
A rate for each role and staff member is negotiated and agreed upon with our clients before commencing the project. Roles are optimized; for instance a project may require just about 50% time of a front-end engineer―we then staff a front-end engineer on the project only in 50% capacity (the rest of the allocation is then done for self-learning, an internal less demanding project, or sometimes on another client project.)