Process
Since the inception of the company, we have been working to achieve the best quality in the software we develop to be able to provide better service to our customers and thus they get greater benefits for their business. That is why we are doing much emphasis on the continuous improvement of our process and in implementing the practices in each of the projects in which we work.
Basically our process is based on software engineering practices proven and successful, as well as methodologies agiles as "Scrum". Here we summarize the process of software development from PSF.
Development Process
Based on the pillars of Scrum, PSF implements a development process based on teamwork that helps determine priorities on the fly. It consists of iterations in which the representative of the client can reorder the priorities of the total list of items to incluir. The PSF responsibility at this point is to communicate what the development team is committed to deliver at the end of that period.
The diagram below describes the processes daily and weekly:
Backlog: is a prioritized list of requirements with all the functionality that the project could have. The priority is assigned according to the value each requirement brings to the business or as their return on investment. This list evolves with the passage of the iterations.
Iteration: is the period (generally 1 week) during which the development team is responsible for transforming the prioritized requirements in an increase in functionality of the product.
Iteration Planning: at the beginning of each iteration, planning goals and objectives in conjunction with the product owner at the iteration planning meeting. Therefore, before starting each iteration, the project manager and the product owner decide what needs to be implemented, based on the project backlog and frees the iteration backlog updated.
Standup: this is where team members (individually) select the tasks to be performed on the day. It also specifies the estimated duration of each task (in hours) and the desired result (outcome). In this brief meeting (15 minutes), it is determine the commitments of the day.
Team Work: is the work done by the team with the aim of fulfilling the commitments set out early in the day. This work may be about project management, development, planning, design, IT, among other tasks. The result of this work is an increased of product functionality.
End of Day: at the end of the day, once the commitments were updated with the work done, a team member is responsible for collecting this information and communicate it. Thus, the result of this instance is a summary of completed tasks and which ones were not completed. The backlog with the updated iteration is also typically included.
Iteration Retrospective: at the end of the iteration, the team assesses its performance, analyzing what aspects succeeded and what failed. This is done with the objective that, iteration to iteration, the team knows what areas should work harder and achieve continual improvement of their work. The outcome of this meeting is an update on the control panel with the performance evaluation of the team and a bill that resume it.
Iteration review: at the end of each iteration cycle, is carried out the review of the iteration. This meeting allows evaluation of the process. In this instance, arise adaptations to the product and is at this moment when the team presented to the customer the increased product functionality built. The outcome of this meeting is a bill which includes comments from the client and a re-prioritization of the backlog.