So you're going to save people's time doing documentation. And as I said, the tactic inside the code and strategy mostly around attach your perspective. So the C4 model by Simon Brown, that takes the TechRadar to mapping the technology that we use inside your organizations. Attach your decision records. This way, you can make sure that you took the decision, you know the reason, you can measure that decision by trade-offs. And the last one is naturally doing clear communication with forums, Slack channels, and things like that. Remember, less meetings, sometimes it is code.
And when we talk about maturity model, I need to talk quickly here. So we usually start with known documentation, and then you can move forward to do the code documentations, then repository stage documentations, attach your documentation, and finally explore more the DocOps. What does mean DocOps? So basically is, as soon as I merge my documentation, my documentation is available to see and read. For example, you can use AskDoc inside your Readme file to help people to understand how to use and how to style that code. inside your organization. Okay, move on to the next topic, around code and code design.
There is this amazing book called The Philosophy of Software Design, and he has a good definition around the main difference between a coder who goes more to the tactical, that means work to get things done, and the strategic way. So the book called that person a tactical tornado, because he can do a code faster and faster, but every code that this person touch, nobody understands anymore. So it's become a nightmare. And long-term, it's impossible to read and understand any code around that. So, and that's the main goal of avoiding complexity inside your repository, inside your architecture. So it's natural we're starting with patterns, we want to learn, we want to apply as much as possible, but at the end, our goal must be fight to get more and more simplicity inside our code.
Okay, so in the code design maturity, I will need to go quickly here, so sometimes I don't care. And then I can move on to the simplicity or the ultimate stage of sophistication by Leonardo Da Vinci. So the simplicity is the way to go, writing good and simple code as much as possible. Then we do have the tasks, it's one thing that you can do and explore as a teacher inside our organization. So it's not only about the task coverage, because it's important, it's crucial, but you need to measure how efficient this task is. Okay, so you can combine that with mutation testing. So as Java developer, my background is Java, so I'm using PyTask, but naturally, in your tool, you can use whatever you want, but my advice for you is to combine task coverage with mutation test. It's not about coverage only, but, of course, how efficient those tasks are. And talking quickly about the maturity model of tasks, so known tasks, unfortunately, it's happened, so you can move on to unit tasks, integration tasks, task coverage, and finally, the optimized tasks. That means the combination of the task coverage with mutation tasks. This way, you can define the minimum requirement to move your code forward.
Comments