Caring about quality as a team
Quality on the code we do, the processes we have and the relationships we create in our teams are key aspects of how we deliver projects and how we sleep at night.
Of course I don’t look busy, I did it right the first time
There are many ramifications when we describe quality in the software development world, in this talk, we will discuss about code reviews, testing, team management and deployment from both a theoretical perspective but also describing tools and methodologies for achieving a happier project outcome.
In the first part of the session, we will talk about some history of testing, why we do what we do and how can we approach it better. We’ll have a look to other industries and contexts to see how they ensure and enforce quality and by their example, we can get a sense of how it could be beneficial to include such techniques and mindsets in our day to day.
The second bit will propose specific solutions, tools and tips to apply these concepts in a practical way, starting by code reviews.
Code reviews are a very important process in the software development cycle. We will start with a brief example on how is a typical code review from the moment the code is submitted until is finally merged.
Then we will follow outlining why it is a key component of successful teams. For that we consider the costs of implementing it compared to the positive outcome we might get from it, such as better understanding of the project, tools to minimize errors in the future or better development and learning experience for all the members of the team.
We’ll move then to how to approach testing and deployments from a team perspective, what should be the final goal of testing a project and what are the tools available out there that could help us on our purposes.
We will say some of the following words in our talk:
- Pull requests
- Redmine / Jira / Name it
- Phing / Capistrano / Name it