Software Development Process and Management Flashcards
Project management allows a company to…
understand project details (requirements, effort, cost, duration)
plan
measure
control
What is The Project Management Institute?
A international organization accrediting project management certificates and promoting project management standards and best practices.
What are the goals of project management?
Finish the project on budget, on time, and feature complete. It has to balance between Time, Feature, and Cost
How does Project management help us with over budget issues?
Estimating the budget before a project starts
Monitor the progress and find how much a project has cost and how much more it will cost until completion
How does Project management help us with projects going beyond the schedule?
Estimate the time needed before a project starts
Monitor the progress and find out how much time remains until completion
How does Project management help us deliver all features?
Estimate what features can be developed in the given time and cost frame
Monitor progress and find out what features have bee completed, and which ones will be completed before the end of the project.
IF needed, re-negotiate features
What are 2 ways of software project management? Describe them.
Conventional and Agile
In conventional, projects need initial commitment through bidding or contract. There must be a project plan with schedule, budget, risk, etc. It manages large teams with long projects. The contract is inflexible. Org is not willing to change org mindset
In Agile, there are smaller teams of typically no more than a dozen people. The initial commitment to schedule or budget. There is no customer or the customer is flexible
What is a development process? Software development and project management rely heavily on this
A model that tells us how to build software. It defines the stages, their relationships, and the activities for them
What is a lifecycle?
The entire life of a software as a sequence of activities
What did software development looks like in the early days?
Code and test inputs and outputs. Do until done.
In a _________ process, you cannot go back to a stage once you have completed it
waterfall
When is waterfall development best used?
Building something that has been done before many times OR
Adding a feature to your existing software
What are some problems with waterfall?
Late design breakage
Late risk resolution
Requirements driven functional decomposition (all requirements are equal and implemented exactly as the spec says)
Adversarial stakeholder relationships (subjective requirements reviews, contract disputes, etc)
Focus on documents and review meetings
In waterfall, what can late design breakage lead to?
Band-aid solutions and quick fixes, resulting in a fragile and unmaintainable product
In waterfall, what happens when we focus too much on documents?
Only small percentage understands the software
Only few real risks are exposed
Cannot confirm the compliancy of software
Only few critical drivers amongst hundreds of requirements
A design considered innocent until proven guilty