Software Development Process and Management Flashcards

1
Q

Project management allows a company to…

A

understand project details (requirements, effort, cost, duration)
plan
measure
control

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is The Project Management Institute?

A

A international organization accrediting project management certificates and promoting project management standards and best practices.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What are the goals of project management?

A

Finish the project on budget, on time, and feature complete. It has to balance between Time, Feature, and Cost

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

How does Project management help us with over budget issues?

A

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 well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

How does Project management help us with projects going beyond the schedule?

A

Estimate the time needed before a project starts

Monitor the progress and find out how much time remains until completion

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

How does Project management help us deliver all features?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What are 2 ways of software project management? Describe them.

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is a development process? Software development and project management rely heavily on this

A

A model that tells us how to build software. It defines the stages, their relationships, and the activities for them

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is a lifecycle?

A

The entire life of a software as a sequence of activities

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What did software development looks like in the early days?

A

Code and test inputs and outputs. Do until done.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

In a _________ process, you cannot go back to a stage once you have completed it

A

waterfall

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

When is waterfall development best used?

A

Building something that has been done before many times OR

Adding a feature to your existing software

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What are some problems with waterfall?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

In waterfall, what can late design breakage lead to?

A

Band-aid solutions and quick fixes, resulting in a fragile and unmaintainable product

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

In waterfall, what happens when we focus too much on documents?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Describe the incremental process of software development

A

You breakdown the design into builds that can stand alone

  1. Implement and test first build
    2…N. Implement, integrate, and tests successive builds until product is complete
    N+1. Operations tests the product and either ships it or returns it to devs
17
Q

What are strengths of the incremental process?

A

Very fixed chunks
Conceptualizable
Fast Deliverables
Cheap $ outlays

18
Q

The iterative process (I&I) (spiral model) has what 4 stages that cycles?

A

Planning and analysis
Design
Implementation
Assessment

19
Q

What are the principles of I&I?

A

Architecture first approach (design and integration first, then production and test)
Iterative life-cycle process (risk control through ever-increasing function, performance, quality)
Component-based development (object oriented, visual modelling)
Change management environment (metrics, trends, process instrumentation)
Round-trip Engineering (complementary tools, integrated environments)

20
Q

An architecture is similar to a _______

A

blueprint

21
Q

In I&I, each iteration can take place one or more times in each phase of the ______ phases (inception, elaboration, construction, and transition)

A

project

22
Q

Why do conventional methods fail?

A

The customer don’t even know what they want, yet the conventional method assumes all requirements must be finished up front

23
Q

What do agile methodologies assume?

A

Your developers are good, so you should concentrate on solving organization and communications problems of your process

24
Q

What makes agile agile?

A

Agility in the development process such that reaction time to change is minimal

25
Q

Where should agile not be used?

A

Projects that require initial commitment (getting something done by certain time or budget
Customers unwilling to move ahead with high level requirements
Orgs that do not want to lose authority to the dev teams

26
Q

Agile operates in a ___ to ____ uncertainty range

A

low, mid

27
Q

The agile manifesto describe _ values and __ principles, which gives rise to many different practices determined by the agile method

A

4, 12

28
Q

What are the 4 values in the agile manifesto

A
  1. Individuals and interactions over processes and tools (do not blindly follow rules)
  2. Working software (that adds customer value) over comprehensive documentation
  3. Customer collaboration over contract negotiation (devs who always CYA are less productive)
  4. Responding to change over following a plan (we do planning, but we adapt)
29
Q

What are the 12 values in the agile manifesto?

A
  1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
  2. Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.
  3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
  4. Business people and developers must work together daily throughout the project.
  5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
  6. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
  7. Working software is the primary measure of progress.
  8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
  9. Continuous attention to technical excellence and good design enhances agility.
  10. Simplicity - the art of maximizing the amount of work not done - is essential.
  11. The best architectures, requirements, and designs emerge from self-organizing teams.
  12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly