Agile Development Flashcards
What is Agility?
Agile refers to a set of software development techniques and processes that they to ‘embrace change’.
Agile processes often advocate a light approach to software development.
The processes are described as iterative and evolutionary.
Popular Agile development process?
Scrum
What does Iterative mean regarding Agile Development?
In agile, the entire project is composed of mini-projects that will iterate the same phases over and over again until the project is complete.
The project will thus grow by a series of often overlapping increments.
Regarding an Iterative process when should coding start?
Coding must start before a full specification, or a full design is available. This first executable is called the minimum viable product (MVP)
What does evolutionary mean regarding Agile development?
Since the problem a piece of software is trying to solve is often hard to pinpoint, building a partially potential solution and trying to learn from it via feedback can be effective.
This process can be repeated several times until the requirements have become clear.
Thus, the software is evolving over time.
What could be a result of using evolutionary agile development?
By experimenting with an initial solution, what we intented to build at the beginning may be quite different from what we actually deliver.
How is Agile structured
Agility isn’t structured; agility is a mindset.
Name three problems with agile?
Having tunnel vision: not truly listening to feedback or only start the feedback that comforts you.
Trying to define all the required details before you start.
In order to meet deadlines code is messy and not well designed.