Project Planning (Chapter 23) Flashcards
At which stages does Project Planning take place in the Project Lifecycle?
The Proposal Stage
Project Startup
Periodically throughout the project
What are the 3 main parameters for computing Project Cost?
Effort Cost
Hardware & Software Costs
Travel & Training Costs
Which approach is used in Software Engineering where the development process is planned in detail?
Plan-Driven/Plan-Based Development
What arguments can be made for the use of Plan Driven Development?
Early planning allows organizational issues to be taken into account
Potential problems & dependencies are discovered before the project starts (rather than when it’s underway)
What does the project plan break down in a Plan-Driven Development project?
The available resources
The work breakdown (tasks)
The work/development schedule
List the components of the Project Plan Document
Introduction Project Organization Risk Analysis Hardware & Software Resources Work Breakdown Structure Project Schedule Monitoring & Reporting Mechanism
True or False: Both Plan-Based & Agile processes need an initial project schedule
True (although less detail is included in an Agile project plan)
How long should a task normally take?
At least a week, 6-8 weeks. Anything longer must be split into sub-tasks
Agile methods of Software Development are what kind of approach?
Iterative Approach
How is the functionality of increments planned in Agile processes?
Decided during development, not planned in advance
Scrum and Extreme Programming have a two-stage approach to planning. What are they?
Release Planning
Iteration Planning
What is the focus of Release Planning in Agile processes?
Looking ahead for several months and deciding on the features that should be included in a release
What is the focus of Iteration Planning in Agile Processes?
Shorter term outlook, Focuses on planning the next increment of a system (usually represents 2-4 weeks of work)
what are the 5 Agile Planning Principles?
- Full upfront plan is not possible
- Upfront planning should be helpful without being excessive
- Keep planning options until the last responsible moment
- Focus on adapting & re-planning than conforming to a plan
- Favour smaller & more frequent releases
What is the Horizon (timeframe) for Agile Release Planning?
3 - 9 Months
What is the Horizon (timeframe) for Agile Iteration Planning?
1 - 4 weeks
What is the first stage in developing a deliverable system increment?
Iteration Planning
How long should a dev task be expected to take?
4 - 16 hours
What are the two benefits to task allocation using a self-signup approach?
- The whole team gets an overview of the tasks to be completed in an iteration
- Individual developers choose the tasks to implement; they are not simply assigned tasks by a Project Manage
True or False: The delivery schedule in Agile can be extended
FALSE, the delivery schedule is NEVER extended
What is a major difficulty in Agile Planning?
Customer involvement & availability
Agile Planning works best with which kind of team?
Small, Stable Development Teams
A Sprint is what kind of Iteration?
Time-Boxed
What is are the benefits of a Sprint?
- Forces the team to prioritize features & avoid unnecessary polishing/gold-plating
- Demonstrates progress regularly (each sprint is a “potentially shippable increment”)
- Motivates closure in small increments & improves team morale
- Improves the predictability of the release plan & fosters longer term strategic planning
What are the 2 types of Estimation Techniques?
Experience-Based
Algorithmic Cost Modeling
What is the focus of Experience-Based Estimation?
To estimate future effort based on the Manager’s experience of past projects and the application domain
What is the focus of Algorithmic Cost Modeling Estimation?
A formulaic approach is used to compute the project effort based on: size, process characteristics, and staff experience
What are the 3 criteria used for Algorithmic Cost Modeling Estimation?
Size
Process Characteristics
Staff Experience
What are some factors that affect the pricing of a software product?
Contract Uncertainty of Cost Estimate Financial Health Market Volatility
Boehm et. al discovered that startup estimates vary significantly. By what factor can estimates range?
0.25x to 4x of the actual effort as measured when the system is delivered
What becomes more accurate as development planning progresses?
estimates
What is the issue with Experience-Based Estimation Techniques?
New software projects may not have much in common with previous projects
What is the best known algorithmic Cost Modeling technique?
COCOMO 2
What does COCOMO 2 take into account?
Modern approaches to software development (e.g. rapid dev with dynamic languages)
Development with Reuse
Database Programming
What are the 4 sub-models that COCOMO 2 utlizes?
- Application Composition Model
- Early Design Model
- Reuse Model
- Post-Architecture Model
What does the Application Composition Model focus on??
Modeling the effort required to develop systems that are made from reusable components, scripting or database programming
When is the Early Design Model used?
Used during the early stages of the system design AFTER requirements have been established
What does the Reusable Model focus on?
Computing the effort required to integrate reusable components
When is the Post-Architecture Model used?
Once the system architecture has been designed in order to make a more accurate software size estimate