Sysco LABS’ diverse and industry leading product suite is made possible by our team of highly qualified, innovation-driven team of software engineers. In developing and managing our software engineering talent, we take after our counterparts in Silicon Valley.
Our overall design and development methodology is agile/SCRUM. We are organized into multidisciplinary teams of approximately eight team members, each comprising development, quality assurance, a product owner and a scrum master. A standard sprint lasts two weeks. True to the scrum methodology, we conduct sprint planning meetings before each sprint, and as a team, arrive at a deliverable workload and a DoD (definition of done) for each deliverable. Sprint activities are guided by these. At the end of each sprint, we conduct a sprint retrospective to evaluate how well we have followed the sprint plan, and to see where we can improve future sprints.
We take an integrated, full-stack approach to development: our developers are involved in all aspects of the development process, from design, architecture, UI, database design to coding and unit testing. Our software engineering team works closely with QA in analyzing feature requirements to a level of detail sufficient for a design discussion, which is the starting point of the design process. Developers construct their own software designs with the guidance of architects and domain experts (such as the database engineering team), rather than simply executing a design handed down to them by a Team Lead or an Architect. As a result, our software engineers not only experience a greater feeling of ownership towards the work they do, but are also sufficiently multi-skilled to be able to switch between different types of work when the need arises.
• We follow the specified industry guidelines for each programming language/technology stack we use, in addition to our own in-house standards and guidelines.
• All our code undergoes pre-merge code reviews before being merged into the master branch of the source code repository.
• Static analysis tools such as Sonar, built into our continuous integration process, automatically checks our code for problems.
• Unit tests capture any low-level bugs that escape both the code review and static analysis processes.