Setting up a development structure to a software product is fundamental for carrying out community consensus amongst the many stakeholders of a software development project. It allows to articulate and coordinate a large number of tasks in a collaborative manner. A well-established development process promotes a level of discipline essential to the delivery of a quality product within cost and time constrains. It facilitates the communication of decisions, ensures all elements are being discussed and understood by all, and encourages software parts well documented for easy maintenance.
Scrum / Agile Method
In the Scrum method of Agile software development, work is confined to a regular, repeatable work cycle, known as a sprint or iteration. Our sprints are 2 weeks long. During each sprint, the team creates a potentially shippable product increment, no matter how basic that product is. Working within the boundaries of such an accelerated timeframe, the team would only be able to build the most essential functionality. Placing an emphasis on working code motivates the Product Owner to prioritize a release’s most essential features, encourages developers to focus on short-term goals, and gives customers a tangible, empirically based view of progress. Scrum is iterative and incremental. Because a release may require multiple sprints, each iteration of work builds on the previous (incremental), often replacing/discarding some of the previous work as more is learned (iterative).
- Every sprint begins with the sprint planning meeting, in which the Product Owner and the team(s) discuss which stories will be moved from the Product Backlog into the Sprint Backlog.
- During sprint execution, the team develops code and automated tests simultaneously. Also, team members check in with each other at the Daily Scrum Meeting, also called the standup.
- After sprint execution, we conduct a Sprint Review Meeting, in which the team demonstrates the potentially shippable product increment to the
- Product Owner and everyone else who’s interested.
The team also gathers in private at the end of each sprint to reflect on how things went and what they’d like to change. This meeting is called the Sprint Retrospective Meeting.