Project Management
Practice · Chapter 2
Overview
Section titled “Overview”Architects assist project management across the life cycle, most notably by estimating the level of effort for technical tasks. Their expertise and experience make them expected contributors to estimation and planning.
The importance of estimation
Section titled “The importance of estimation”- Estimates and project planning are major factors in project success.
- The team should collaborate to produce accurate estimates — project management depends on them for organizing work and planning releases.
- Inaccurate estimates and poor planning are among the main reasons software projects fail.
Producing useful estimates
Section titled “Producing useful estimates”- Put effort in. Build a culture that values analyzed estimates over off-the-cuff guesswork. If asked on the spot and uncomfortable, ask to get back to them so you can analyze properly.
- Handle unknowns. Understood work is easy to estimate; unknowns are the challenge. If needed, do analysis first or build a proof of concept (POC) to gauge effort and feasibility.
- Be a realist (or pessimist). If you or your estimators tend to be optimists, consciously counterbalance — think about what could go wrong and don’t leave anything out.
- Consider situational factors. Existing infrastructure (facilities, equipment), organizational culture, process maturity, and available tooling.
- Consider team factors. Skill and experience of everyone (developers, business analysts, QA), including strengths and weaknesses, even before task assignment.
- Refine over time. Use whatever method the org adopts consistently, analyze the results, and improve.
Project schedule changes
Section titled “Project schedule changes”Projects fall behind for many reasons; deadlines can also be moved up by internal management or external forces (new client, trade-show demo). Even Agile teams must meet certain deadlines.
Getting a project back on schedule
Section titled “Getting a project back on schedule”| Approach | What it means | Caution |
|---|---|---|
| Working overtime | Longer hours to accomplish more | Morale/productivity drop as hours rise; overtime pay/comp time needs approval and hits budget (esp. contractors). |
| Reducing scope | Cut superfluous work and gold plating (unnecessary extra features); defer low-priority functionality | Work with stakeholders (domain experts, BAs, users, product owners) to change requirements. |
| Adding resources | More people on the project | Brooks’ Law (The Mythical Man-Month): adding people to a late project makes it later — communication paths grow multiplicatively; new members need mentorship. |
| Reallocating resources | Assign the right people to the right tasks; move people onto the critical path; parallelize serial tasks | Architects working closely with the team can advise here. |
| Identifying problem areas | Find why the project is late before proposing fixes | Get team input without finger-pointing; cut low-value meetings; address external delays. |
Act as early as possible
Section titled “Act as early as possible”- Never cut testing short — inadequate testing can jeopardize the whole project; its cost can exceed any time saved.
- Communicate the project’s true state to management; use experience to spot warning signs.
- The earlier you act on a problem, the more options you have to resolve it.
Related
Section titled “Related”- Estimation depends on well-understood requirements: requirements engineering.
Citations
Section titled “Citations”- Software Architect’s Handbook (Packt, 2018), Ch.2 “Project management”, pp. 102-114.