7 Best Practices for Software Development and Testing
Running a successful team takes a skilled leader, one who possesses the knowledge and experience in bringing out the best from your team. Unfortunately, teams go through restructuring at the drop of a hat. Businesses don’t want to exert money and effort on a ‘tool’ that does not gain satisfactory results. Dissection of the said team usually end up in 2 ways:
- Rebuilding a better team because you understand what needs to be improved or
- Starting from square one where you usually end up with the same result (in which case you may need to replace your team leader!)
The ultimate goal is ensuring your ‘new’ team is tougher, better equipped to deal with the challenges presented and able to work harmoniously.
We have jotted down some tried and trusted habits and processes that have led to our success. Keep in mind, our main point throughout this post is that your developer/s NEED to be focused on what they were hired to do: development and nothing else.
Programmer on Duty (POD) *
Your developers are responsible for product quality control. Read that a few times and ask yourself what it means.
Assuming you’re running a decently sized team, there should be at least one developer on duty.
Their task is the efficient management of customer queries and complaints originating from the helpdesk. There will be many days when your programmer won’t write a single line of code as the leaving of claims unattended is not an acceptable practice.
To simplify matters, our staff rotate according to a timetable with a responsibility schedule in play.
Streamlining the Service
To avoid confusion and delays, customer queries and complaints are handled by 2 parties: the product owner/client and the support service. The client presents issues and concerns directly to the support team while support handles all queries and complaints, requesting assistance from product development should it be required.
Schedule Your Brainstorming Sessions
Scheduling set days for brainstorming sessions keeps your team focused and disciplined. Here, your team have the chance to expound upon ideas, suggestions and so on that have been fermenting for a week. Granted the developers won’t write code during these sessions but this schedule ensures the days dedicated to programming are maintained.
Discussion Groups with Set Goals
Have clear goals and expected results outlined for each meeting. Sprints include several discussion sessions with an expected output upon reaching a deadline, your meetings are there to power through issues regarding specific tasks so utilize them efficiently.
Scrum Product Management
Implement a schedule that suits your team. Scrum iterations can vary from 1 to 4 weeks, depending on task load and expected goals. We find a 2-week scrum works best for us with our list of tasks being scheduled within the sprint. Planning ahead for emergencies (reserve) and managing risk is being proactive.
The reserve is basically insurance set by the product owner e.g. three reserves using different estimates:
- XS (~ 3 man hours) – 2 tasks
- S (~ 6 man hours) – 1 task
Reserves have a set maximum amount that may or may not be used by the development team.
When ‘Done’ means DONE
How do you agree on an endpoint? Basically, the developer concludes that the task is ready to be tested and holds a meeting with his colleagues to provide a demonstration. The team then assesses whether the issues at hand have been solved, whether all points of concern have been checked off the ‘to do’ list and, if there are new issues to cover, offer suggestions and/or updates. Your goal is to unanimously agree that the solution is ready.
This type of meeting requires the presence of the entire development team so scheduling it when all parties are present is the ideal scenario e.g. after lunch.
Double Checking your Source Code
After the ‘Done’ meeting has successfully emerged and the developer has made the necessary edits, the code is then forwarded to another developer for review. His job is to debug or refactor code should they be needed. A fresh pair of eyes can often help identify minor issues that go unnoticed by the original developer.
We hope the post has shed light regarding effective ways to manage your team. We have found that an intranet solution can benefit the IT profession as a whole. Our LS Intranet Task Management Tool and Security Options can streamline your team’s efforts opening up valued time that can be redirected to other areas. Contact us today for a trial demo!
Note: We use programmer and developer interchangeably*