Project management for software development sometimes feels this way - when as the leader of a project you are expected to say exactly how things will turn out. Since we're not all Babe Ruth about to hit a last legendary World Series home run, we have to rely on other methods.
More often than not we are required to specify some end result and a time line before the project starts. We are asked, in a sense, to 'call the shot' before the team even picks up a bat. So, having called the shot, what fundamental things are involved in trying to make it happen? Thought I'd share some thoughts, if not gross simplifications (apologies to my PMI friends in advance), regarding where you should focus to help make your 'called shot' become reality:
- Resources: Team members (skills, experience, availability, attitude), facilities (desks, computers, networks, etc), and tools (source code, automated builds, code coverage, etc). Avoid deficiencies in any of these areas.
- Requirements: Stories, broken down into tasks, solid estimating (relative for stories, detailed for iteration tasks), lightweight task & progress tracking, user buy-in to author the stories and their accompanying tests (i.e. how do we know if feature x is complete?)
- Design: Do we have a clear technical design? Interaction design? Does it match the skills & capabilities of the team? Is it balanced to handle complex and simple functionality? Are the abstractions reasonably waterproof? Is it pragmatic and as simple as possible?
- Organizational support: Are we communicating clearly and frequently enough to all stakeholders? Are risks well understood and mitigated? Are we clear on our expectations of all stakeholders? Do the right people care about our project?
No comments:
Post a Comment