# Development process ## 1. Scheduled Deployment Window * **ONE** series at **14:00 every Tuesday** * **SITE** series at **10:00 every Wednesday** * Task that are not merged to master before **Monday 12:00** will have to wait for next release. This is to ensure PM have enough time in testing. ## 2. Development - START * **NEVER** make changes directly on master branch * Create new branch for the repo that needs to be changed * Branch naming path and format: * `klFeature/[YYYY][MM]/[what this branch is about]_[Repo]_[MM][dd]` * klFeature/202302/addAgentName_Master_0214 * During development, please make sure to pay attention to the coding guidelines * If there are any DB changes involved, please adhere to the DB guidelines ## 3. Development - CODE REVIEW * After development is done, before submitting Pull Request (Code Review), please ensure: 1. Solution is build-able 2. Changes are working as expected 3. Changes fulfill all the requirements specified in the TASK 4. Variable names must be meaningful 2. Appropriate comments are in place 3. The response time for any API shall not exceed 2 seconds * Additional action before submitting Pull Request (Code Review) * **REBASE** onto master to ensure changes extends out from master branch - demo * **PUSH** to remote branch * Create **PULL REQUEST** * Send code review request to group * If there are DB changes involved, you will also be required to notify DBA to assist on sql queries review ## 4. Development - CODE REVIEW FEEDBACK * After reviewers are done with comments/feedback, proceed to make changes according to the feedbacks given. * If there are uncertainty or doubts please reconfirm with reviewer and seek for advice * If you feel that what you have done is correct, please bring it up with reviewer for a discussion. * **PUSH** the changes to the same branch and notify reviewer * After all comments from reviewer has been resolved, reviewer will **APPROVE** the pull request * Then you will need to **COMPLETE** the pull request and your changes will be merged back to master branch * Notify reviewer that your pull request has been completed and need to be deployed to DEV ## 5. Development - PM TESTING * Once changes are deployed to DEV environment, move the task at Trello from Ongoing -> DEV Test and you may notify PM in the group to assist on verifying the changes * If there are any feedbacks from PM, do verify the feasibility of the changes and discuss with PM * If changes are confirmed, repeat step **2 to 5** until PM made sure all task requirements are fulfilled.