Introduction to Modern Workflow for Software Development.
In this post I will explain the pillars of modern workflow for software development, introducing Code Stream to the workflow for better performance than the traditional workflow. Enjoy!
Workflow
A workflow is a sequence of tasks that processes a set of data. Workflows occur across every kind of business and industry. Anytime data is passed between humans and/or systems, a workflow is created. Workflows are the paths that describe how something goes from being undone, or raw to processed. In the past we have the cascading workflows, in these days we have a modern workflow where the tasks are superposed and mixed.
¿How we can implement modern workflow?
In three differents ways:
- Personal: making Pull Request, using Issue tracker and commenting.
- Team: with Feedback Request, Code Chat and transparency.
- Organization: with documentation, administration and analysis.
Apart of that, we must have a frequency of collaboration very simple and small, creating atomization of the system.
Modern Flow Branch
In the modern workflow, we start with a ticket and create a branch, for after these steps make a team notification. Once this is done, we write code, ask for feedback and explain the direction of that code. When we finish the coding step, we must make an informal documentation to communicate to the team all this. After that approval, we make the pull request and the formal documentation.
All of this process have less steps than the traditional workflow and works better, is very important use that way, according the surveys we have a 32% of profits in productivity.
Shift Left Principle
Known in DevOps like moving the focus to left with the objective of compress the cycle, making better quality and better performance.
¿How we can implement Shift Left principle?
With hyper frequency collaboration, integration between tools for avoid changes of context and adding quality in the process.
Use the code editor like Hub
We can use the editor with the three more importants tools, in this case, Jira, Slack & GitHub. In these way we can improve the workflow, reducing in considerable way the quantity of steps.
The benefits of integration inside the code editor are…
- Save time.
- Reduce distractions.
- Ease access to complete code.
- Better quality.
- Better comunication.
- No changes tools.
For this, we can install Code Stream in VSCode and use this tool.
¿Why GitHub in the editor?
We can ask the reverse question, ¿why GitHub is not in the editor? Well… this is a history problem, but today we can use GitHub in the best form. These are a few benefits of use GitHub in the editor… avoid the distractions, without context change, check out another branch in one click, execute the compilation during the revision, skip to the definition, shortcuts, themes and other things that we love inside our editor and we don’t have in browser.
Feedback Request
In Code Stream we have this action, and for many of us is new… but I think in that like an incredible advance, because this mantain a relation with the concept of Pull Request, is done before in the workflow to be able for atomization in the collaboration, let us ask for feedback and put comments in every part of code, and it’s so more easy than you think for your revisor.
Integration of Issue Tracker with the Editor
In few words we can say three motives for this:
- Includes the complete functionality.
- Three purposes: automatization, uniformity and communication.
- Allows you to integrate more than one app in the same task list. (Jira, Trello or GitHub Issues)
And the advantages of having an intregated issue tracker are add a ticket during the process of write code or review, connect that ticket direct to code, notificate to the correct person the content in the ticket, no context changes, create a register of tickets for the same code.
Code Chat
This tools make easier the collaboration between members of the team, it integrates with the comunication systems that already have, it fits to the evolution and differences of code, and we can use this in wherever we want inside the repository.
¿What is a Codemark?
Every time when you create a feedback request or PR o unity of comunication, a codemark is created. This is a link between the info about the code and the block of code that it refers. It allows questions, answers and feedback in all repo, can be a message, an issue in Jira or permalink. And codemarks are exportables.
Transparency
It’s a work philosophy, we must stay open to share knowledge and show our defects at work, this mean we know what the team are doing in this moment and the team knows what are you doing in this moment.
I think this is the best way to remote work.
Finally
We can rescue as important points the great utility of centralizing tools in the same software and improving communication between team members, all this is possible thanks to Code Stream in a very simple way.