# Softlogik ![](https://dl.dropboxusercontent.com/content_link/dQloYKIhg3NqErPjExudM8yVf28PPIVKr9ZzggghGsuTku8t8ZkZ7PQMc0hanNDF) # Kind of business 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. # Problem to be solved 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. ### PSP/TSP This was our defalt choice since CIMAT is a specilist in this methodology have several years of training in it etc. ### ISO9000 Although not specific for software development ISO9000 has been the most accepted process for standaring a company operation. ### Extremme Programming (XP) As the first and once most popular agile software development methodology XP provided a very prescriptive framework of operation. ### Scrum 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 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. # Why Kanban was considered So in the end the decision for an approach had two extremes: * PSP / TSP with it's heavyweight prescriptive model of software development in which everything is written before hand you just need to execute the process. * Kanban with it's get out of the way almost no process at all, but it's focus in flow and continuous improvement. * We would like to say that Kanban was chosen because we considered every Pro and Con and that after a long discussion we came to see the light. * But no, it wasn't anything like that. The premise was simple the new hired employees arrive next monday what do we want them to do?? 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. # How Kanban was introduced ##Along the development of three software prototypes we introduce * While we worked for Compulogic we developed three prototypes. Along their construction we introduce Kanban, Scrum and XP. ## Quality Schools Program to manage wire transfers First prototype ### Sw overview 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. ### First Kanban board ![First Kanban Board](https://dl.dropboxusercontent.com/content_link/nxbpogE8I5a2hjv66FwZOZZEQFkiabdZdNHKxJpYnGHjcves63Pr1nuCmkWGT4qU) 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... ## Second Kanban board ![](https://dl.dropboxusercontent.com/content_link/qWPbPPhleWLeFfvAvhVMdylIx8inGU7ipSOpi05q3GAEj25pTDW9uGJSc3SLtbRM) 1)The team added the big story integration column. 2)The Work in Progress (WIP) was introduced ##Third Kanban board ![](https://dl.dropboxusercontent.com/content_link/5rflQlDppR54yRi0v9XpwwblhNX3szlDGrRrszaFYFJqYoThI5XVp3L42KjUlDuW) 1) The team moved two colums Big Story Integration 2) The team moved the Acceptance Test before.. 3) The team deleted the design column. ##Fourth Kanban board ![](https://dl.dropboxusercontent.com/content_link/aERsLgjsg1Ktey7eL3yBJsOLSNtRJNkPO96RFciioo913e2K1JODdyjF8nNVHhcx) 1) The team added the automatic continuous integration column ## Exit pool telephone system service Second prototype ##Fifth Kanban board ![](https://dl.dropboxusercontent.com/content_link/dboFYhjBighSSjowwaePmnmCHlVbh0fa5mupaLkDGpyymyMOxx8FmUJ5fzAiGYA2) Fifth Kanban Board: The team added a checklist to verify quality issues. ##Construction management system Third prototype ##Sw overview 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 ![](https://dl.dropboxusercontent.com/content_link/vIIOChrTMkfjSrYdQ3iPsa0M7Ain6llfWzd3BlEGAThCvz0lzVIUeSC0hlbMqnxV) Sixth Kanban Board: The team add code review and usability review. # Conclusion such as what they might do next. 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.