Beruflich Dokumente
Kultur Dokumente
Kanban is a method for managing the creation of products with an emphasis on continual
delivery while not overburdening the development team. Like Scrum, Kanban is a process
designed to help teams work together more effectively.
Visualize what you do today (workflow): seeing all the items in context of each other can be
very informative
Limit the amount of work in progress (WIP): this helps balance the flow-based approach so
teams don€ ™t start and commit to too much work at once
Enhance flow: when something is finished, the next highest thing from the backlog is pulled
into play
Benefits of Kanban:
Responsiveness to Change:
Balancing demand against throughput guarantees that most the customer-centric features are
always being worked.
Reducing waste and removing activities that don’t add value to the team/department/organization
Rapid feedback loops improve the chances of more motivated, empowered and higher-
performing team members
Kanban Scrum
Extreme Programming (XP) is an agile software development framework that aims to produce higher
quality software, and higher quality of life for the development team. XP is the most specific of the
agile frameworks regarding appropriate engineering practices for software development.
When Applicable
Values
The five values of XP are communication, simplicity, feedback, courage, and
respect and are described in more detail below.
Communication
Software development is inherently a team sport that relies on
communication to transfer knowledge from one team member to
everyone else on the team. XP stresses the importance of the
appropriate kind of communication - face to face discussion with the
aid of a white board or other drawing mechanism.
Simplicity
Simplicity means “what is the simplest thing that will work?” The purpose of
this is to avoid waste and do only absolutely necessary things such as keep
the design of the system as simple as possible so that it is easier to maintain,
support, and revise. Simplicity also means address only the requirements that
you know about; don’t try to predict the future.
Feedback
Through constant feedback about their previous efforts, teams can identify
areas for improvement and revise their practices. Feedback also supports
simple design. Your team builds something, gathers feedback on your design
and implementation, and then adjust your product going forward.
Courage
Kent Beck defined courage as “effective action in the face of fear” (Extreme
Programming Explained P. 20). This definition shows a preference for action
based on other principles so that the results aren’t harmful to the team. You
need courage to raise organizational issues that reduce your team’s
effectiveness. You need courage to stop doing something that doesn’t work
and try something else. You need courage to accept and act on feedback,
even when it’s difficult to accept.
Respect
The members of your team need to respect each other in order to
communicate with each other, provide and accept feedback that honors your
relationship, and to work together to identify simple designs and solutions.
What is DSDM?
DSDM is an Agile method that focuses on the full project lifecycle, DSDM (formally known as
Dynamic System Development Method) was created in 1994, after project managers using RAD
(Rapid Application Development) sought more governance and discipline to this new iterative
way of working.
DSDM has eight principles. They represent an ethos, a culture, a way of working. The principles
are actively managed at all times because if a principle becomes compromised it represents a risk
to the successful execution and completion of a project.
2. Deliver on time
3. Collaborate
6. Develop iteratively
8. Demonstrate control
Test-Driven Development starts with designing and developing tests for every small
functionality of an application. In TDD approach, first, the test is developed which specifies
and validates what the code will do.
In the normal Testing process, we first generate the code and then test. Tests might fail since
tests are developed even before the development. In order to pass the test, the development
team has to develop and refactors the code. Refactoring a code means changing some code
without affecting its behavior.
The simple concept of TDD is to write and correct the failed tests before writing new code
(before development). This helps to avoid duplication of code as we write a small amount of
code at a time in order to pass tests. (Tests are nothing but requirement conditions that we
need to test to fulfill them).
Test-Driven development is a process of developing and running automated test before actual
development of the application. Hence, TDD sometimes also called as Test First
Development.
1. Add a test.
2. Run all tests and see if any new test fails.
3. Write some code.
4. Run tests and Refactor code.
5. Repeat.
TDD cycle defines
1. Write a test
2. Make it run.
3. Change the code to make it right i.e. Refactor.
4. Repeat process.
1. Acceptance TDD (ATDD): With ATDD you write a single acceptance test. This test
fulfills the requirement of the specification or satisfies the behavior of the system.
After that write just enough production/functionality code to fulfill that acceptance
test. Acceptance test focuses on the overall behavior of the system. ATDD also was
known as Behavioral Driven Development (BDD).
2. Developer TDD: With Developer TDD you write single developer test i.e. unit test
and then just enough production code to fulfill that test. The unit test focuses on every
small functionality of the system. Developer TDD is simply called as TDD.
The main goal of ATDD and TDD is to specify detailed, executable requirements for
your solution on a just in time (JIT) basis. JIT means taking only those requirements
in consideration that are needed in the system. So increase efficiency.
Scaling TDD via Agile Model Driven Development
(AMDD)
TDD is very good at detailed specification and validation. It fails at thinking through bigger
issues such as overall design, use of the system, or UI. AMDD addresses the Agile scaling
issues that TDD does not.