- By Natalie Gray
- ·
- Posted 26 Mar 2024
Fireside Chat #63: Optimising Developer Productivity
What is developer productivity? Is there an inevitable trade-off between speed and quality? How can organisations foster long-term productivity gains..
What is database refactoring for? What are the risks involved and how can we avoid them? Is it really beneficial to our systems?
Cameron Raw, software craftsperson at Codurance, answered these questions in a session in which he also presented several risk mitigation strategies, along with examples and recommendations that you can start applying in your development team.
The reasons for refactoring databases can be very similar to the reasons for refactoring application code.
As great as the benefits of refactoring are, teams must be very careful with the great risk it poses when done incorrectly as it could lead to errors such as:
Database refactoring is a major operation involving both technical and non-technical teams, and Cameron explained that it is essential to have a clear plan of action focused on both the business and technical areas.
The business-focused action plan consists of constant communication with stakeholders so that they understand the risks involved in the project, the steps to be taken, the skills required, the deadlines, etc.
At the same time, dialogue and planning is also valuable for the development team to unify the process to be followed and to determine multiple variables such as KPIs, deadlines, practices to be used, etc.
Tips for a business-focused action plan
Tips for a technical-focused action plan
Before refactoring, teams must ensure that they have a solid testing strategy that will give them confidence throughout the refactoring process and keep in constant contact with the quality assurance (QA) team, as they know how best to inspect our system as changes are applied.
Testing, like in any refactoring, is paramount in ensuring we still have our desired behaviour from the system.
- Cameron Raw, software craftsperson at Codurance
Automated tests can have an added complexity to them if moving through an iterative refactoring, but it is important to remember that by really harnessing the power of modern testing pipelines, we can produce thorough, creative solutions for testing that will result in us feeling secure in our database refactoring.
Refactoring databases is certainly not a simple or short process, but if you maintain a good communication flow and a strategy where all parties are on the same page and aligned, the task will be easier to manage. Cameron offers some final tips to keep in mind:
If you want to check more blogs about methodologies, programming languages and team management, visit our Insights. Also check our next events and join us!
What is developer productivity? Is there an inevitable trade-off between speed and quality? How can organisations foster long-term productivity gains..
You have reached the highest level. You have completed the learning phases and we move on to the more complex katas. Remember that in the link of..
Our recommendation is that you first go through Object-Oriented Programming katas so that you can move on to more complex testing concepts. If so, we..
Join our newsletter for expert tips and inspirational case studies
Join our newsletter for expert tips and inspirational case studies