Developing complex products, quickly, is all about teamwork. Who is part of the development process, who jumps in to help, how to work together, how to get it done quickly and efficiently, are all questions that the team should learn to answer.
When working on legacy code, we need to start by preparing the code for new changes so changes can be applied easily and in a timely manner. We may need to add tests, extract classes and methods, rename symbols, to name some of the most common refactorings. This requires time but will pay off enormously very fast.
Development should start with a clear goal, reachable within minutes — a test. The test drives development and the design emerges from writing the code. The design may change with new goals but the software is written in a way that allows the design to change easily.
The way you write code is at the very core of your organization’s DNA. It is reflected in the way the system is written. Changing it is not trivial. We are aiming for a gradual change. We will help you find a good place to start. Gradually the system will change together with you. It is a worthwhile endeavor.
Read Michael Feather’s Working Effectively With Legacy Code end Joshua Kerievsky’s Refactoring to Patterns. Learn about Cypress and Testing Library. Cucumber is a great framework to implement BDD. And whatever you do, don’t miss Kent Beck’s Extreme Programming Explained.
Request for additional information and prices