Move Work Forward at speed

Here you will find out how the team at Move Work Forward moves at speed to deliver customer value swiftly.

Leo Kyrpychenko
Team Visibility at Scale

--

Move Work Forward is a globally distributed company that builds software for Atlassian, Microsoft, GitHub and Slack marketplaces, and runs serverless infrastructure at AWS. Our goal is to provide high quality, secure enterprise solutions to our customers in the Cloud (SaaS) and on-premises (Data Center).

Move Work Forward is the Platinum Atlassian Marketplace Partner with multiple Cloud Fortified applications and the Bug Bounty program. All those programs have multiple requirements that force our team to do some specific actions. Let’s get started.

Our team uses Kanban and we can release software to production after each task is done.

Requirements or pre-code stage

Each Engineer reviews his or her tickets in the Selected for Development stage for completeness of the requirements as well as prioritization. Engineers often can propose to change the priority of tasks at this stage if they believe it can help customers more.

When Software Engineers are ready to work on a task they move the task to the Kick-Off status.

When Engineers pick up tasks — they own them end-to-end, including quality and security.

In the Kick-Off status a few things need to be done:

  • review the requirements again and provide your comments;
  • create a light technical specification to get some feedback (optional);
  • create a quality checklist that specifies what should be tested and how, how the developer will ensure the high quality we all expect;
  • the checklist and the technical specifications contain the security-related tests and aspects, including OWASP top lists;
  • the person also estimates the task to make sure he or she understands what needs to be done;
  • the ticket is linked to the tickets, documents and pull requests it is related to;
  • if the task looks too big or unclear, it can be split or a proof of concept task may need to be finished before. This enables the derisking of technical feasibility.

When all aspects of the work are clear, Software Developers move the task to In Progress, which means the active coding stage.

Coding stage

At this stage, the owner of the task can create a WIP (work in progress) pull request to ask for the feedback or recommendations on top of the ones received at the Kick-Off stage.

Each day the estimate is updated and the time is logged to provide team visibility about the progress.

When Software Engineers believe that the task is finished, all tests are implemented and passing, the CircleCI pipeline is green, and they create a pull request. In the pull requests Engineers link to the loom demo where they demonstrate all aspects of the quality checklists were addressed, and that the feature/code is working. After addressing all recommendations, when the owner of the task is OK with the task to be released to the millions of end-users he or she can merge the pull request and move the Jira issue to the Done state.

Release stage

This kicks off an automated CircleCI pipeline that runs hundreds of unit, security, integration, UI and other tests, deploys (AWS, Serverless, Terraform) the code to the dev and test environments and kicks off another CircleCI pipeline with post-deployment verifications (PDVs).

PDVs are run in actual environments like Jira and Microsoft Teams to make sure the core functionality is working properly in the real environment.

When everything is green and the team is happy to push software to production, a pull request from the master to the release branch is created. When it is merged it triggers the release builds which include everything above and PDVs that are run against a production environment.

Yes, we run automated tests in production!

The task is moved to the Released status and disappears from the Jira board.

We use Advanced Microsoft Teams Jira Connector to notify our teams about important status updates, especially releases. The Technical leads and Product owners are using Microsoft Teams Jira integration to get notified about work logged in Jira to see the progress.

Move Work Forward is hiring.

--

--