Project development

This section is intended to provide resources during project development phase. You can find information about the development workflow, how to create a new repository for the project, some ideas about architecture models, and additional resources about coding standards and agile documentation.

How to work during development?

As the project development moves forward, the Project Manager creates new tasks in the Project Management Software (Redmine). It is possible that previous released versions can have bugs and issues flagged by the Test team using the Test Management tool (Testlink). These issues can be tracked and assigned through the Project Management Software (Redmine).

As you can see in the Project environment, the IDE used by the development team is outside of the platform. The Software Publication Workflow Ecosystem is constant, regardless of the programming language. The Development Team will choose the most appropriated or favorite IDE depending on the project they are working on. Once the Development Team makes code changes and push these changes to the Code control system (Github), the Automation server (Jenkins) will detect the commit and triggers an early compilation to detect whether the code branch has been broken. If it still correct, the code analysis will be executed by calling automatically Code Quality Management tool (Sonar).

Depending of the features that the developer is constructing, the code must be pushed to a branch or another. The branching model that must be follow is called GitFlow (branching model for Git, created by Vincent Driessen). This model improves team collaboration and manages master branches, develop branches, feature branches, releases and hotfixes.**

Once the features required to release a new version are integrated into the code repository, the development branch is merged with those feature_branches. Then, the Automation server (Jenkins) will trigger the release generation, that will merge the development branch to the master branch.