Project management process is decided by customer expectations and the nature of the project. NeoSolax is a big fan of an Agile methodology and 99% of the time it will be a KanBan or Scrum. With KanBan we facilitate for the continuous flowing of the tasks. However, with scrum we handle the more planned workload. To Manage the project, we use Jira. So all the requirements will be centralized. After every release, with the advice of the clients we organize the tasks and priorities for the next release. Once the tasks and the estimation is approved by the client, we start working on them to achieve the targets within agreed deadlines.
Once the requirement of the task is completed PM will move the task to “Ready for Dev” Status.
Then Developer picks the task from Jira, and change the status of the task to the “In Progress”. Once developer carried out the task and make sure that the developer test is successful, then change the status to “Ready for QA” and deploy the task to Staging Environment.
To make sure that the task is completed as desired, we do a thorough QA testing on the task. Once the QA engineers are satisfied, the task is put to “Ready for UAT”. Then the task is deployed to the UAT environment.
In the UAT environment, product owner (Mostly the client) will check whether his expectation has been met and ifso, he will change the status to “Done”.
Finally once all the tasks are completed for the release, we deploy the code to live and close the release.
To maintain the history of the code we use version control so that we can revert, compare old versions with new versions when development and bug fixing.
Other than that, we use version controller to deploy the code across the platforms. Depending on the projects we have several platform and related branches. So once Developer is done with the development, he will push the code to the development branch. Project Dev Lead will take the code and merge it to the staging branch and deploy it to the stating environment. So the QA can do the QA testing. Once QA is satisfied with the process, Dev Lead will again merge the staging branch to UAT branch and do the deployment to the UAT environment. Upon client approval, the UAT environment for all the tasks related to the release, we merge the code to the master branch and create a tag and deploy the code to Live site.