Quality of Processes & Products Flashcards
1
Q
What is a software process?
A
Software Process = A set of partially ordered steps intended to manage, develop and maintain software products.
2
Q
What are the two perspectives of Software processes?
A
Hero Perspective: All what we need for successful software development is heroes.
Process is everything: Following some prescribed “good” process automaticallyr esults in good products (software will almost write itself)
3
Q
What needs to be described in a software process?
A
- What activities are performed?
- Who participates?
- What artifacts are produced/consumed by which activites?
- What agents are responsible for performing each activity?
- When do activities begin and end?
- What does the activity do?
- Which supporting tools are used?
- Which additional constraints exist?
4
Q
What are teh characteristics of a ‘good’ process?
A
- Effectiveness: the process must help us produce the right produce.
- Efficiency: The process must help us to produce the product in the right way.
- Maintainability: ‘Does anybody know who wrote this code? And what it is for?”
- Predictability: A good process will help to predict the effort, the duration and resulting product quality.
- Repeatability: Process re-use by adapting an existing (proven) process.
- Tracking: Allows to follow the status of a project.
- Quality of the product.
5
Q
How to establish ‘good’ processes?
A
- One size does not fit all.
- Maasure to know where you are.
- Set quantifieable goals
- Goals may vary from project to project.
- Process is a variable and needs to be selected and tailored for context.
- Process selection requires empirical evidence.
- Software technologies have bounds and limits and we need to know them.
- Project feedback is needed to compare against expectation.
- Analysis and synthesis of observations are necessary for learning and evolution.