How to parallelize SCRUM's tasks of the development team.
During the last eight(8) years, I have been working in South America, using Scrum philosophy.
The first constraint that I found was the peoples' minds. (their mentality)
In most of the cases, I heard this:
"hey, why are you trying to introduce an American methodology that only works with people who are more organized than we are?"
"Have you ever used this philosophy in Colombia?"
"where has it been used in our country, show us successful cases of use in Colombia, if not, don't try it with us"
Those expressions keep my challenge in movement, so, I started figuring out how to spread the Product' Owners' knowledge to the development team in parallel. Part of this article will focus on it.
On the other hand, the second constraint was the available tools in the market which compile and integrate team works with SCRUM pillars.
There are many tools but not integrated between them that allow us to join SCRUM user stories, tasks, versions, sprints, backlogs, basic documentation, and the complete SDLC, so you have to manage five or more tools for getting a good integration to a DEVSECOPS process. For instance JIRA, Confluence, MS SharePoint, Atlassian Trello, MS Teams, Zoom, MANTIS, TEST link, Azure Test Plans, Oracle testing as a service, GIT (or any other GIT available flavors in the market), IDE's, Cloud development IDE's, Cloud services based on the vendor (AMAZON, Oracle, Microsoft, IBM), Jenkins, Hudson, Azure DevOps Server, Oracle DevSecOps services, YAML, and so on.
This Tower of Babel is going complex every day, meanwhile, the time of the projects each day is shorter, so it's better to chose a good SDLC technological partner who integrates them at Cloud(IBM, Oracle, Amazon, Microsoft) and it's better paying for the productivity of the development team to aim to the best time to Market and not paying for the internal integration of those tools (most of them are Open Source) plus the complexity of the project that is running and has rising cost every minute.
At the end of the day, the features of the cloud vendors like AI (Artificial Intelligence), Cloud Generation version 2, performance, and availability of cloud services (guaranteed by written) will be relevant for making a good decision of which vendor is the right one. An example of this is Oracle, which has the SDLC integrated, offers autonomous services that allow us to decrease the headcount in technicians and collateral costs in the SDLC chain.
The third constraint is and continues being the direct translation of the English word Agile to the Spanish word "ágil", does not mean the same, and could be one of the most difficult issues for implementing this philosophy in South America.
In Spanish, Agile translation has a top of mind of meaning as "Fast" or "rapid" instead of flexible, adaptable, adjustable, versatile, and so on.
This "Fast" meaning put in trouble the SCRUM masters and the Agile framework due to the companies have big expectations for getting more ´projects at the same time when they decided going forward to implement Agile Frameworks.
Now, let´s talk about the parallelism using the right time of the product's owner.
we need to take advantage when the P.O. (Product Owner) transfers its business knowledge and necessities to the development team.
All of them can work immediately after finish the PO's knowledge transfer with one critical condition, "work in continuous communication with their teammates".
In the other words, to involve them and to start their right thinking process making the point of view of how to deliver its business message being a developer, a QA, an Architect, a Technical leader or a business analyst, requires continuous communication between them, does mean, each idea taken from de PO must be integrated with the other team members. This responsibility of the Scrum Master guarantees the right knowledge with the right point of view into the development team's work.
in the end, the user's stories will be evidence of the complete work, and no prerequisite of the development team's work for starting the programming, or QA process.