Lecture 20: Project Management Flashcards
What are the testing and product phases?
Alpha: early, barely complete
Beta: feature complete, barely tested
Release candidate: Beta version that could be final product unless significant bug is found
Production release: Stable release, ready for general use
What is project management?
Encompasses all activities needed to plan and execute a project
What is re-engineering?
Periodically project managers should set aside time to re-engineer part or all of the system
General goal is to increase maintainability
What is refactoring?
Process of restructuring existing code without changing external behavior
Improves nonfunctional attributes of the software
What is cost estimation?
Estimating how much software engineering time will be required to do some work
Development time estimate -> money
What are some effective cost estimation principles?
- Divide and conquer
- Include all activities when making estimates
- Leverage past experience and knowledge of current project
- Account for differences when extrapolating from other projects
- Anticipate worst case and plan for contingencies
- Combine independent estimates
- Revise and refine estimates as work progresses
What is scrum poker?
Consensus-based technique for estimating effort
Group members make estimates by playing numbered cards face-down on the table
Cards are revealed and estimates are discussed
Avoids “anchoring”: first number sets a precedent for following estimates
What is an egoless team?
Everybody is equal, decisions by consensus
Typical agile team organization
What is a strict hierarchy team?
Each individual reports to a manager and is responsible for performing the tasks delegated by that manager
Suitable for large projects with a strict schedule
What is a chief programmer team?
Middle road between egoless and hierarchical
Chief programmer leads and guides projects
What are some team member skills?
Architect
Project manager
Configuration management and build specialist
UI specialist
Hardware and third-party software specialist
Documentation specialist
Tester
What is a Gantt chart?
Graphically illustrates start and end dates for each task
What is a PERT chart?
Shows the sequence in which tasks must be completed