ASD-Notes

My notes on Advanced-Software-Development

View the Project on GitHub angus-mackenzie/ASD-Notes

Software Project Management Methods

Software Engineering Triangle

Software Engineering Triangle

Think Big, Act Small

Just say no (to large projects)

Profitable project

Ultimately Unprofitable project: features become a drag

Unprofitable Project

However, The cost curve under most software processes is exponential

Cost Curve

The Crunch

Software Entropy, Rot & Geriatrics

Avoiding Yak Shaving?

So we have

Goal: deliver software product to meet the clients needs on time and within budget

Can we develop quality software under these circumstances?

Traditional SE Methods

Naive Approach

Traditional Methods

Waterfall Method

Analysis -> Requirement specification -> Design -> Implementation -> Testing and Integration -> Operation and Maintenance

Example:

So now they create Version 2

Waterfall Concepts

Change and Feasibility

Is it feasible first to define the whole problem, then design the entire solution, then build the software, and then test the product?

Change and feasibility

Modern Alternatives

Alternative Ideas

Prototyping

Prototyping

Rapid Application Development

Rapid Application Development

Iterative SE Methods

Iterative software development a process that reaches the goal in a series of ever improving delivery cycles

Iterative SE

Iterative Process - The Big Difference

Unified Process

Iterative Development and the Unified Process

Central Unified Process Ideas

Unified Process phases

IECT

More notes on Iterative Development and Unified Process.

Artefacts

Comparison and Conclusion

Process Comparison

process comparison

Process Comparison

Traditional has Fixed functionality, but flexible time and resources

Iterative has Flexible functionality, but fixed time and resources

Process Models

A framework of tasks applied during software engineering:

Reduce Risk

Reduce risk

Conclusion

Alternative to the SE Constraint Triangle?

Method Included

Benefits of Iterative Development