Please enable JavaScript.
Coggle requires JavaScript to display documents.
SEG - Coggle Diagram
SEG
-
Agile Methods
-
Development Process
A particular set of tools, methods, and practices we use to produce a software product
-
Agile Manifesto
"We are uncovering better ways of developing software by doing it and helping other do it"
Types of Agile
-
-
Scrum
9 methods and tools
-
Framework for a set of processes, not a process in itself
-
-
-
-
-
-
-
(More) Types of Agile
Feature Driven Development (FDD)
Light, up-front architectural model - contrasts with XP!
-
-
-
Crystal Methods
A family of stretch-to-fit, human-powered software development methodologies
-
-
Crystal Teams
"People are communicating beings, doing best face-to-face, in person, with real-time question and answer
-
"People are highly variable, varying from day to day and place to place"
"People generally want to be good citizens, are good at looking around, taking initiative, and doing 'whatever is needed' to get the project to work"
7 Properties
-
3. Constant Communication
Small projects expect the entire team to be in the same room, while larger projects are expected to be co-located in the same facility.
1. Frequent Delivery
On larger, or more critical projects, the deliverables may not go into production, but stakeholders will see intermediate versions and be able to provide feedback
4. Safety
Team member feel safe to communicate truth without fear of reprisal; true in most agile
Project safety: some software projects affect the safety of their end-users. For example, a space shuttle system is much more critical than a recipe organiser
5. Focus
Team members are expected to know the top two or three priority items each member should be working on and should be given time to complete them without interruption.
-
7. Automated Tests and Integration
As it says, I guess
Dynamic System Development Method (DSDM)
"Best business value emerges when projects are aligned to clear business goals, deliver frequently, and involve the collaboration of motivated and empowered people"
-
-
-
Shu-Ha-Ri
Japanese martial art concept, expanded to software dev. Three stages of gaining knowledge
Shu
The student follows the teachings of one master precisely.
He concentrates on how to do the task, without worrying too much about the underlying theory.
If there are multiple variations, he concentrates on just the one way his master teaches hime
Ha
The student branches out, learning the underlying principles and theory behind the technique.
He learns from other masters and integrates that learning into his practice
Ri
The student now learns from his own practice rather than other people. He creates his own approaches and adapts what he;s learned to his own particular circumstances.
Envisioning
Shared Understanding
-
-
Stakeholder Analysis
Types of Stakeholders
Secondary Stakeholders
People who do not directly interact with the system but provide input or receive output
-
Facilitating Stakeholders
People who are involved in the design, development, and maintenance of the system
-
Technology Show-and-Tell
Enables all members of the design team to be familiar current technology used in the domain, and with new technologies that could create opportunities
User Stories
One or more sentences in the everyday or business language of the user that captures what the user wants to achieve
-
-
-
-
User Story vs Use Case
The user story call for a conversation; the use case documents the conversation
-
Agile Planning
Agile
-
How we work
-
Agile principles
XP Values
Simplicity
We will do what is needed and asked for, but no more. We will take simple steps to our goal
Communication
Everyone is part of the team and we communicate face to face daily. We work on everything together
Feedback
Deliver working software and every iteration commitment. Demonstrate software early on then listen carefully to feedback and make any changes needed
-
-
XP Practices
Feedback
The Planning Game
At the start of each iteration, everyone meets to flesh out and estimate requirements
On-site Customer
Development team has continuous access to a real life person who will be using the software
-
-
Continuous Process
Small Releases
Release early and often, adding a few features at a time
Continuous Integration
Developers integrate new code into the system as often as possible. All functional tests must still pass after integration or the new code is discarded
Refactoring
As developers work, the design should be evolved to keep it as simple as possible
Shared Understanding
Collective Ownership
The code is owned by all developers, and they make changes anywhere in the code at anytime they feel necessary
Metaphor
Customers, managers, and developers construct a metaphor, or set of metaphors after which to model the system
-
-
Programmer Welfare
Sustainable Pace
- Avoiding burnout
- Scope and prioritisation
-
-
-