Depending on the size and scope of the projects we manage, the methods of development vary greatly.
The main objective of a development methodology is to deliver to our clients the completed project they have entrusted us to execute successfully, in time, and within budget.
To demystify the subject of development and project management methodologies, we need to emphasis that they are, after all, just a set of tools to assist us in the delivery of successful projects.
Many of our clients may already have a project management strategy in place. In these cases, our development methodologies are adapted to the existing procedures.
When there are no previous methodologies in place, we design a project management strategy adapted to the size and complexity of the overall project.
Kanban
Kanban is a framework used to implement Agile software and hardware development.
It requires real-time communication of capacity and full transparency of work.
Work items are represented visually on a Kanban board, allowing members to see the state of every piece of work at any time.
Kanban in a methodology focused on releasing early and often with a collaborative and self-managing team.
Kanban is light on process, flexible, does not have prescribed roles and simply tries to improve throughput by increasing the focus of the team on the things that really matter. The core practices are visualizing the workflow, limiting work in progress, measuring the lead time, making process policies explicit and, continually evaluating improvement opportunities.
Scrum
Scrum is a framework for the ongoing development and maintenance of complex products.
Scrum is a light approach and defines a simple set of roles, meetings called Scrum Ceremonies, and tools to efficiently, iteratively and incrementally deliver valuable, shippable functionality.
Scrum is about empowering a self-managing team to deliver and define roles and responsibilities to create a healthy tension between delivering the right thing, the right way, as fast as possible.
The size of the team is important in order to decide the use of the Scrum framework.
It works best with teams of about 10 people. For smaller teams the approach is probably not as suitable as the Kanban framework.
The team works on items in a collection of user stories or requirements that have been defined and prioritized by a Product Owner.
Work is divided into “sprints”. The development cycle is usually 2-4 weeks during which daily “Scums” take place where the team reports on progress and impediments. At the end of each sprint, work is then reviewed in a sprint review meeting to determine together with the Product Owner if it passes the Definition of Done.
Goals
In determining the Development Methodologies we use, it is important to state that the methodology itself is not as important as the objectives they answer.
Practicality should govern the choices of strategies adapted to a particular project.