The key is to be prepared.
Everything can be changed or improved. Sooner or later, you will have ideas for improving something in the project you work on. Maybe you read something, watched something, or just had time to think about the current situation, and an idea came to you.
It can be anything:
- how to improve code
- how to improve processes
- how to improve the design
It can be small and big. It is not so hard to convince someone to make some minor changes.
But it is more challenging to do it when it requires fundamental changes.
Ok, let's go.
Imagine that you have an idea of how to improve current software architecture, and you think it is good and brings lots of advantages. Now the time has come for hard task: remember all your technical and soft skills and convince others that it makes sense.
First of all, you should analyze the current approach and understand how and why it was implemented or designed it. Most probably, this knowledge will help to convince others.
You can't just say that your idea is better than the current process/approach/architecture. It does not work like this.
Prepare a list of the advantages and disadvantages of the current implementation. This list will help you and others to make a decision.
Yes, your approach can also have drawbacks, there is nothing ideal, but your approach can have fewer drawbacks or less critical. This will show which problems of the current process will be fixed in a proposed approach.
Prepare a list of steps or tasks that should be done to implement your idea. First, it helps others to see the scope of changes and will show that you know what you are talking about.
Once you have a plan, you should estimate how much time it will take.
How much time from implementing real business tasks will be taken for this improvement. It should not be a precise estimation, but it shall show which numbers you are talking about.
It's essential, without it, nothing can't be decided.
You definitely need to present somehow your approach to the team/ team leader, and it is impossible to do without any prepared materials: pictures, presentation, etc.
So yes, prepare a presentation or anything that helps you keep the presentation's structure and give more visual information to the team.
They will definitely be.
When your team sees your approach, they will ask questions, and challenge your proposal, to understand if it will cover their needs and improve the process. You should test your own approach as well and have your answers to such questions.
Give people time to think about your proposal. Maybe they find something that would need to improve, some new cases that should be covered, or perhaps they just realize that yes, it is good and should be implemented.
But don't give an unlimited amount of time, organize a follow-up meeting with them in a week or two.
Don't be afraid to improve processes, architecture, etc. It will show to others that you are not only a code writer but also can do more complicated things. Presentation and soft skills will definitely be useful for your career.
P.S. Have you ever tried to present your idea to the team? Did it work? What other tips can you add?