Your app is getting old at this time
Your app is getting old at this time Today all startups are focusing their solutions in Apps, a natural tendency for the growth of the smartphone market. But this migration makes us discuss some choices architectures and mobile strategies.
And the aim is not to discuss best technology or framework because I believe that this is a choice that must be made by project and by the company’s developers who really know the problems. But software engineering is not restricted to language and platforms, but the software development culture.
So I gathered a few points that I think we should discuss.
New ways of organizing projects or products can not change what we are, we develop software. Whether we are Fullstack, Backend or Mobile. We are software developers.
Scrum, Kanban and Product Owner can not be activities that take yesterday in most really understand. Of course, everyone should contribute to a product but work is different to assume responsibilities and consume more than 20% of the time on it. So teams in using Scrum, and has ScrumMaster should divide responsibilities and minimize processes. Always worth remembering: Developers develop software!
Architects build buildings
Companies like to have trustworthy people saying how the right software to do because to manage it is comfortable.
What is comfortable, making the sofa, usually already a thing of the past.
In this case, I believe the best is the concept of Tech Lead, not as who determines the choices but how to represent and disseminate the choices of times. But this ideal communication and leadership are to be held among the more experienced members, and minibar time spent on bureaucracy encourages other developers to want to grow and be part of this group.
The Code has not mine
The code is the App and not a developer. Every writer has an attachment on his work, but unfortunately, the development is not our reality. I know a very developer that leaves change your code without your permission, as a caring father in relation to his son. Let it be clear, the criticism is not personal, the code can be better or simpler after a calmer mind.
Make your code to the world, not for you!
Refactor is not lost of time
Refactor only for aesthetic reasons or to say that now was made by a specific person are a total waste of time. But not all is bad refactor, like everything in nature, need to be transformed.
Refactor always be able to improve the current solution.
And what is the solution?I do not know.More …
After 4 years creating apps of various sizes, I believe we need to create a development culture. And we should work on those points that make our apps get old technically.
Culture > Rules
Instead of leaders and closed rules, we must create development culture. Allow developers to create new things, innovation is part of our work.
Remove the embodiment of code
The best way I saw it, bring the Code Review in the team sharing the responsibility. I made the feature and you approved my code, then we are all responsible and all problems should be resolved the team.
All we are Software Developers
Refactor, Migrate , Study and talk with your co-workers.
Create patterns of migrating legacy code, create the culture to change your code for the better. Do not criticize anyone who wants to innovate, support the change. An example of this happened to me in migration Objective-C for Swift.
We created a rule if we were going to create a new feature would be Swift.Simple and clear, no matter if you do not know do I will learn. However and legacy?
A good rule is, will greatly alter that class in Objective-C so best remake in Swift. So quickly migrated many parts of the language application. But you know what we did?
Amid this study that the MVVM would be an interesting alternative, we apply the same migration rule. At one point we had 3 code base migration going on in the project, do not let our app older.
We have to create the culture of our code needs to be updated so that we do not have that rhythm of work involving: every 2 years redo the whole App for reasons it is no longer possible to add functionality.
We will discuss it!