You joined a company, and nobody applies engineering best practices. The company and quite possibly the engineering group don't care.
- Nobody knows about agile practices
- Nobody knows there is a well-known concept called "quality"
- The software engineers develop, fails left and right
- The deployment takes forever
- The servers and the databases get hacked by teenagers
- The technical stack is two decades old
- The cumulative technical debt exceeds the least developed country's economy
What do you do?
Step 0: Slow down
You can't win them over overnight. Everybody, including the management, resists changes. Changes usually result in cash burn. They don't like that. Therefore, take a 1-year plan or less or more depending on the company's tolerance to change. Your activities in the following steps should reflect this long-term mindset.
Step 1: Make them aware
Be a purple cow and an outlier. Be like someone with a radical (for good) ideology than the rest of the company. Be different to catch everyone's (relevant people only) attention, but don't overdo it.
- Talk about quality
- Talk about unit tests
- Talk about automation
- Talk about cybersecurity
Talk about an essential, strange, and alien idea the company is not familiar with, but it is rather an industry standard, and you want to pursue it. Don't intimidate anyone, instead catch their attention. If you talk about the idea, explain it like they are 10. However, the objective of this step is to grab attention.
Step 2: Feed digestible slices of information
Now that their ears are ready to receive more information. Create useful, compelling, and relevant with an adequate amount of detail about how the idea in question might solve the daily/monthly/quarterly problems the company is having. But, don't turn up sales-y. Again, take your time. Slowly pour the poison you want them to drink. If you can manage to get some followers pick them up and nurture them. Lead the decision makers to a point that in short/long-term future, they will apply the principle, practice, mindset, or tool you are preaching. Don't mind the tentative timeline. Just get a thumbs up on "nice to haves."
Step 3: Show the carrots
Talk about big ideas like growth, customer happiness, sustainability and compliance. Then tie up the idea in question you have been evangelizing for months now and show a direct correlation to improving those big ideas. By these months, you will also get time to refine your pitch. When done right, this will have a dramatic effect. They could push the idea to the "must-haves" bucket. Suddenly, it is a priority, and there is a short-term plan associated with it. The key to success here is to be persistent and consistent with the core message you have been carrying since the beginning.
Step 4: Get approved and deliver
Sometimes, this step is part of Step 3. In this step, show them that the implementation is a breeze, low risk, and comparatively higher gains. Be honest to yourself and them. Never promise unobtainium results and never promise a fancier future than a possible reality. Otherwise, the next subsequent steps will fall apart. In this step, get the work order, project/task assignment, work against a delivery date, and deliver.
Step 5: Make them repeat users
This is the hardest and more important step. Make them use and repeatedly use the principle, product, practice, and tool you developed, materialized, and deployed. Champion its use. Proactively reach out to the users/practitioners if they have any concerns, issues, or challenges. Offer them "after-sales" support and standby with your guaranty.
Step 6: Find evangelists to scale out
Create promoters from within your user groups. If you have tried this with one group of engineers/product, find advocates from within that group to champion the idea in question alongside you. It will significantly assist in company-wide adoption.
I have come up with this exact workflow, and I had great success in multiple organizations. Not all organizations are equal, however.