- Where to find the team documentation?
- Team practices documentation
- Common vocabulary, terminology, glossary
- User definition, use cases, requirements
- Where is the documentation to build projects?
- One step build process
- Access to CI/CD
- Access to git central repository
- Access to slack
- Installation of development tools/languages
- Where to find the tasks being worked on?
- Where to find the team roadmap?
- Who prioritizes things?
- Determine where I can have the biggest impact
- Determine a timeline where I'll have reached my 80/20 at the company
- What is the maturity of existing projects?
- How fast can we iterate on certain aspects given the team/company composition?
- Who are the core/principal/staff contributors?
- What is the architecture of the system?
- What is the database architecture?
- Is the product a monolith or micro-services?
- What (3rd party) tools are used?
06
Nov
2020
Planning large software projects
History / Edit / PDF / EPUB / BIB / 1 min read (~176 words)- List all the features you would like to develop
- Define an appetite for the task (day, week, month, quarter)
- Identify the features where the appetite differs between individuals and discuss them to reach consensus
- Define the roles necessary to complete the task
- Identify dependencies between features
- Categorize the dependencies
- Soft: somewhat depends on this other feature but isn't blocked by its absence from the codebase
- Hard: depends on this other feature and is blocked by its absence from the codebase
- Prioritize the features
- Use the RICE framework
- Priority can also be skipped if using ROI as prioritization metric
- Estimate the value of a features in dollars
- Calculate a ROI (return on investment) as the estimated value of the feature divided by the defined appetite
- Order tasks according to dependencies and ROI