Our Agile Software Development Process at Swapps
In Swapps we work with Agile methodologies, which is a way of working on software development projects. Of course, there are many ways of working with these methodologies, and here I will expose the way Swapps adapted its own process to these methodologies.
Delivering Value in Short Time
This organization is based on delivering something of value every short period of time, focusing on the really important things for the customer, such as delivering working software as soon as possible. For this reason, the team has specific deliverables for a specific date, but this due date is a short period of time, normally a week. So different little goals are accomplished every certain time, this is called a sprint or iteration. By doing this, the team assures having working software soon, and then start improving on the way. Although it is important to clarify, that this specific methodology is not always strict ongoing step by step, new requirements can come in the way, as well as problems, so the team must be flexible and be able to change plans when necessary along with the project.
Deliverables are agreed at the beginning of the project by all the team. The customer says what he wants, and then, the team breaks up this task into many little different activities that must be done in order to accomplish the final task. All the activities generated will be part of a “checklist”, which defines in each activity what the customer will want to see in their software. After, these tasks are prioritized according to the client’s needs and are estimated in time by the team, which will help in defining what tasks to do in the first sprints and so on.
Another important aspect of the methodology are the roles, but this doesn’t mean each member just limits to do their tasks, everyone must be committed to doing what it takes to make the project successful whenever possible. One of the roles is the Agile Customer, who is your client. This person decides what’s going to be done, sets the priorities and defines what’s in and out of scope. The customer’s involvement is a prerequisite for a successful project in Swapps, customers must be committed to the project and be able to give continuous feedback in order to assure a quality product.
Then comes the development team, which at this moment at Swapps is made of the software architect, programmer, project manager. tester and UX designer. The software architect receives the customer’s requirements and selects the best technologies to use according to the needs. The programmer turns user stories into working software and makes the technical decisions as to the design, development tools, among others. The Agile tester helps writing tests, he actually tests and confirms everything is working as expected or reports flaws, and thinks about other ways of testing. The project manager tracks how the project is going, communicates the state of the project in terms of time, budget, scope, quality, and risks and remove all roadblocks standing on the team’s way.
Finally, this methodology let us be more organized, have roles defined and deliver quality products to our clients having a structured procedure, mitigating all the issues that can come in a software company, which can be many!