Week 1 Flashcards
What 4 steps are in the waterfall system?
Analyse the problem
Design the system
Build the system
Deliver the system
What are the limitations of waterfall?
- Difficult to keep the documentation consistent and up to date
- Unrealistic to assume decisions made at the start are correct
- keep more in line with the customers needs
What are the benefits of the Agile approach?
4 points
It’s quicker
Easier to change as the project progresses
Provided early customer feedback
Allowed effective monitoring of progress
What are two key points with using the Agile approach?
Spread decision making over the length of the project
Balance communications between users and developers
What was Agile called before?
Lean Software Development
What are the 7 principles of Lean Software Development?
Eliminate waste - excessive documentation
Amplify learning - short iterations with reviews, everyone is involved in the process
Decide as late as possible
Deliver as fast as possible - you develop prototypes first then ask the customer.
Empower the team
Build integrity in
See the whole picture
What is a prototype?
Is it not the real product but a version of the product you can show to the customer
What is set-based design?
If you have 2 solutions to choose from, you can start off by doing both of them in parallel for a couple of weeks
What is “effort” in software development?
The total amount of developer time spent on the project (measured in ideal days)
What is “elapsed time” in software development?
How long the project takes
What are four types of integrity?
1) Architectural integrity
2) Conceptual integrity
3) Product integrity
4) Perceived integrity
What is the difference between a framework and methodology?
A framework is a loose (high level) but incomplete structure. Leaves lots of room for other practices and tools to be included but provides much of the process required
A methodology is a set of principles, tools and practices to guide the processes to achieve a particular goal (e.g. Kanban - daily stand ups, retrospectives etc)
How can we build integrity?
Test the product
Refactoring - code integrity
UX tester
What is the difference between refactoring and re-engineering?
Refactoring doesn’t change the whole structure. It just means you have your existing code and just move it around.
Re-engineering involves design as well (much bigger process)