In the
podcast called "Software Craftsmanship" with Robert Martin and produced
by Software Engineering Radio, many ideas that I found interesting were
discussed. It struck me that someone as experienced as "Uncle Bob"
(40 years developing) has decided to devote himself to coding rather than being
a software designer or architect. Moreover, knowing that he is the founder of a
company called "Object Mentor", because the most common is that the
owner of a company is responsible for performing administrative tasks. However,
it is true that an architect and a programmer should not be separate things,
but an architect must also be a good programmer.
The main topic they talk about is
"Software Craftmanship" that includes very interesting ideas such as,
for example, the improvement of the traditional agile model. I liked the idea
of the agile team is the one that decides the artifacts that are necessary
and can also be those who produce the architecture document, a task that the
architect should traditionally carry out. However, it is true that it can be
much more efficient to take the code as the driven document and the
documentation to explain the aspects of the code that are not clear.
I think that the relationship that is made
between the software industry and the craftmanship is very idealistic but at
the same time achievable. Experienced programmers could be considered as master
craftsmen who teach to apprentices all their tricks in order to get them to
become teachers. If software companies adapt to this principle, they would see
a clear increase in productivity and quality.
When talking about the evolution (The step forward)
in the agile methodology, they take as a basis the 4 manifestos of the
methodology, but with modifications that allow an improvement in this. I
believe that the modifications in the manifestos can be summarized in that the
software scalable in the future by making it understandable for other work
teams.
Finally, I can say that something that made my
view wider was the tools that a good craftsman should use. After hearing about
that, I will definitely take the time to learn more about my favorite IDEs,
about Git, Jira or Bugzilla, about Unit Testing and acceptance testing tools
and of course I'm going to learn how to make good tests. I think that anyone
who aspires to become a better programmer or software architect should have a
good foundation of the tools and concepts mentioned.
No hay comentarios.:
Publicar un comentario