Essentials of the Essentials Flashcards
(28 cards)
4 principles of agile PROJECT management (DYBA)
- Minimal critical specification
- Autonomous teams
- Redundancy -> people can do more tasks
- Feedback and learning.
What are the four steps in waterfall approach, what do they deliver, and which two additional steps can be added?
- Analysis (–> requirements)
- Design (–> specification)
- Implement (–> software)
- Test
- Adoption;
- Maintenance
Conditions when Agile is useful?
- Complex problem;
- Solutions are initially unknown;
- Requirements will change;
- Work can be modularized;
- Close collaborations with end-users is possible;
- Creative teams will outperform other types of teams;
Four difficulties in software engineering according to brooks?
- Complexity
- Conformity
- Changeability
- Invisibility
What is complexity according to Brooks?
A function of: Number of components (volume) Types of components (variety) Number of attributes (depth) Number of relations (dependencies
Through which quadrants go each phase in the spiral model?
- Objectives determination and alternative solution identification;
- Identify and evaluate risk
- Develop next version of the product;
- Review and plan for next phase;
What are the 4 requirement principles proposed by Jarke?
- Intertwine requirements with organizational context
- Evolve designs and ecologies
- Manage through architecture
- Recognize and mitigate against design complexity
How do you adress complexity and how not?
- Have a loosely coupled architecture to prevent dependencies;
- Centralization -> entities linked to central entity, not to all entities;
- Standardization
- Re-use of modules
- Buy instead of build
Do NOT add extra man at the last phases.
How do you calculate the cashflow?
Benefits - Cost
Sometimes specified per year.
How do you calculate payback period?
Investment / cashflow
Investment = investment cost
How do you calculate return on investment (ROI)?
((expected benefits - expected cost) / expected cost) * 100%
How do you calculate NPV?
( SUM of (Benefits - cost) / (1 + R)^t ) - initial investment
NPV > 0 –> do the project
What is the formula from cocomo II
E = (A) (KLOC^b) (EAF)
E = effort in person months
A en B = given
KLOC = number of lines x 1000
EAF = given -> contextual, between 0.9 - 1.4 (effort adjustment factor)
Sprint burndown chart?
Shows remaining work in a sprint backlog, updated every daily scrum
Release burn up chart?
Progress towards the end product -> shows progress and what each sprint contributed
What are the similar principles between Lean and Agile?
- Value through better allignment with customer;
- Flow (sprints, continious delivery, immediate feedback)
What is lean six sigma and what are the steps?
- Data driven improvement focused on problems
5 steps: DMAIC - Define
- Measure
- Analyze
- Improve
- Control
What is DevOps, what are the phases and what is the challenge?
- Collab between developers and operations (building it)
- Increase speed of comitting to change and actual changing the system
- Challenge: IT audit -> specific roles and segration of roles.
DTAP street:
- Develop environment
- Test environment
- Acceptance test environment
- Production of the environment
Key concepts of continious development (fitzgerald and stol 2015)?
- Aligning business, development and operations;
- Combining practices of agile and lean;
- Implies constant change -> challenge: trade off between stability and flexibility
- It has implications on safety and security
- Resilience and robustness;
Four ways to get money from OSS?
- Selling services around the software (training/maintenance);
- Open core model
- Selling extensions such as security
- Dual licensing (personal / enterprise) - Software as a service
Subscription to access certain features - Voluntary donations
What is the development life cycle of an OSS?
- Planning
First prototype on personal idea - Analysis
Feedback from community, discussion, ratification - Design
Modular design, define core and interfaces - Implementation
Fork and merge, incremental changes - Maintenance
- Report of issues
- Triage
What is the development life cycle of a commercial software?
- Planning
Organizational objectives, alternative solutions, cost/benefit - Analysis
Convertion of goals in functions. Obtaining requirements - Design
Describing of features, layouts and documentation - Implementation
Develop and test -> waterfall/agile - Maintenance
Incident management
What is meant by Impose with Leeway?
- Be very strict in some ways like deadlines;
- Leave room for discussion with details (for stakeholders);
What is an E3 diagram?
A network diagram that shows the exchange of things / value between the actors.
Shows:
- Mutual dependence;
- No value leak for sustainable network;