One of the oldest tech companies in Mexico is CompuLogic owned by the engineer A. Navarro. Founded in 1994 CompuLogic has seen it all and done it all around networks and infraestructure.
By 2012 Mr. Navarro knew he wanted to create a new company this time focused on Software Development; as an investor and entrepreneur he approached CIMAT Zacatecas with basically one mandate: “Build me the best software company in the Mexico”.
As a Software Engineering Research Center this was a dream project for CIMAT Zacatecas’ Team, however it implies a big challenge: software engineering theory have would meet practice in order to create a competitive software company to make real money and to solve real problems for real customers.
So we started this project with a simple question:
What is the correct software development methodology to start a new company?
Several alternatieves were considered.
This was our defalt choice since CIMAT is a specilist in this methodology have several years of training in it etc.
Although not specific for software development ISO9000 has been the most accepted process for standaring a company operation.
As the first and once most popular agile software development methodology XP provided a very prescriptive framework of operation.
Scrum was at that time growing in popularity and offered some project management practices that were very good but none of the technical aspects of XP.
Kanban with it’s minimalistic approach was an interesting alternative. Only three main practices and absolutely nothing on the technical aspects of software development.
It was during this time that the first book on Kanban by David J. Anderson reached our hands.
So in the end the decision for an approach had two extremes:
So we decided to set our Kanban board and slowly but surely we started to evolve and improve our process.
And the key aspect for us is that the team “Owned” the process they followed it, because it was their creation, not because some external constultant told them too.
First prototype
They need this program to manage financial resources for a public program.
The main value added by the system were allocate resources to schools and record it in the system.
The First Kanban we used included
1)Backlog
2)Selected
3)Design
4)Development
5)Unit test
6)Acceptance test
7)Ready to deploy
8)Deployment
Enough to start…
1)The team added the big story integration column.
2)The Work in Progress (WIP) was introduced
1) The team moved two colums Big Story Integration
2) The team moved the Acceptance Test before..
3) The team deleted the design column.
1) The team added the automatic continuous integration column
Second prototype
Fifth Kanban Board: The team added a checklist to verify quality issues.
Third prototype
This software prototypes record the activities accomplished in a project building process and compare versus planned. The software must show the projects on time, the projects delayed and must show details for each project and for each manager.
Sixth Kanban Board: The team add code review and usability review.
The weekly retrospective allowed us to continuosly improve the process. As part of that improvement we introduced the practices of Scrum and XP
This evolotion had several benefits for compulogic.
Since the team itself has lead the continuous improvement there hasn’t been any resistance to change.
Training in XP and Scrum was easy since it was done slowly and one practice at the time.
The last Kanban Board of the project is used as the seed for the next project.
Agile methodologies are focused in delivering value to the customer.
Reducing work in process increases productivity. Being more productive delivers more value for the customer.
And it implicitly creates a culture of continuous improvement.
Kanban afforded us a clear path to continuous improvement.