When you visit the East Gardens of the Imperial Palace in Tokyo Japan, you’ll either get a card and can enter the park or get told that the park is full. There is a certain amount of cards available on the entrance and each person that enters the park get exactly one. If all cards are handed out, you have to wait until someone leaves the park and returns their card. That card is called a Kanban. Kanban is a japanese word that translates to sign or singboard. Kanban is not only a signal card or token in japanese parks. According to Wikipedia it is also „a scheduling system for lean manufacturing and just-in-time manufacturing (JIT)“ developed at Toyota by Taiichi Ohno. Here also the …

What is Kanban? Read more »

Write a test that covers a use case or some functionality, then let the test run and fail. Once this is accomplished write as little code as possible so that the test passes. After the test passes turn the code into clean code; meaning refactor, simplify, adhere to convetions, etc. Done? …repeat that cycle. That approach is called Test Driven Development (TDD) according to Kent Beck. But why are we doing that?

Most of you know the situation when we had planned some work, let’s say a few different tasks. Then we started most of them, work in parallel and when time is up only a small portion of the work is really completed. In teams working towards deadlines or iterations this usually at least feels bad or has consequences, such as more budget needs to be requested or delay of delivery.

Self-organizing teams are an integral part of agile software development and one of the 12 principles of agile manifesto. Even outside agile software development, self.organizing teams can bring a lot of benefits to the organization. The sole purpose of these teams is to ensure that the process of decision making is decentralized, faster, and agreeable to all members. The self-organizing teams are autonomous, hence it becomes possible for them to determine how they want to approach a given problem. They also decide independently of any other teams, group or managers on what decision to take, implement and how to complete any tasks.

It is not a secret that companies are always looking for better ways to handle their software development needs to avoid projects dragging for long periods. Agile software development is one of the most preferred ways of software development due to its dynamic development nature, whereby, requirements and solutions evolve during the entire development process. The emphasis on collaboration between different self-organizing and cross-functional teams is at the core foundation of this method. Characteristics of a good agile development team When selecting a team for agile software development, a company should ensure that at a minimum, they meet the following factors.