Digital Innovation happens with Software Architects
A software architect can help the health industry to develop less invasive techniques for people’s wellbeing. They can help aerospace engineers to envision new solutions to make travelling to Mars more feasible. And help railway engineers to make train travel a better experience. And of course, a software architect can help companies to improve their business. How is this possible? Well, because software is and will be everywhere, and it is the mission of the software architect to help professionals in any field to envision and develop the future. There are some particular traits that define the software architect professional. Software architecture is a very exciting profession and software professionals have to be ready to see what nobody else can see, to perform independent thinking, to be curious, to deal with the unknown. This is just to highlight some of the characteristics of the software architect, and coincidentally these are the traits that defined the genius Leonardo Da Vinci in the Renaissance.
So, what is the connection between his way of thinking and acting, what is called nowadays the Leonardo Talents, and the professional characteristics of the software architect. “All our knowledge has its origins in our perceptions” Leonardo Da Vinci First, let's summarize the main ways of thinking from Leonardo to our time. Underpinning Leonardo’s thinking was the holistic view of the universe; the universe as a whole entity. Holism is the idea that systems (physical, biological, chemical, social, economic, mental, linguistic, etc.) and their properties should be viewed as whole, not as collection of components. This led humans to think in terms of niches. Take medicine for example, a Newtonian perspective corresponds to the existing different specialists who deal with a specific part of the body as if each part worked independently of the others. This is the opposite of holistic thinking. Science is now moving with Einstein’s theories towards a holistic interpretation of the universe because of the need to understand the mechanisms that perfect interaction between pieces that seem to function apparently stand alone. This movement is affecting human thinking in general and in particular the profession dedicated to understanding that now and in the future, software is everywhere, connecting our houses to our cars, hospitals to emergency systems, smartphones to traffic information. This means people connecting to systems of systems. The software architect has to bear in mind not only the solution that he or she is developing but also the potential interactions between his or her solution and the rest of the world. For instance, in a smart city the mission of the software architect is to envision the potential interactions that would help citizens to make well informed decisions; electric cars need to be informed about the availability and location of charging stations, streets should harvest energy provided from people walking and driving on them, so it can be transformed in to another type of energy used in all sorts of items. This is the software architect’s holistic point of view and this is the connection between Leonardo’s holistic thinking and the holistic software architect professional.
Da Vinci believed in something, then he imagined what it would look like and finally he developed it to make it real. He envisioned that someday we would jump from a height and fly with the birds defending in a very predictable manner. Strangely enough, this was never apparent to anyone. Not on record of course. The Software Architect anticipates society’s needs and creates what nobody has envisioned, yet. This capability allows the Software Architect to build applications for future markets. Software Architects enable other professions to develop their own ideas. For instance, the "do it yourself� movement for any kind of product, or the so called Sharing Economy like Airbnb, Uber, Sidecar, Zipcar and peer-to-peer car-sharing services such as RelayRides. Those ideas will actually have a huge impact on economics of cities. Software architects have the responsibility to provide solutions using the appropriate technology and to allow the human senses to be amplified or substituted in cases of disability. Michael Gelb writes in the book "How to Think like Leonardo Da Vinci� that Leonardo studied the essence of beauty in thousands of human faces and then combined the different elements he observed, to create perfect visages in his paintings. The ability to see relationships and patterns, and make unfamiliar combinations and connections, is the core of creativity. That everything connects with everything else is a constant in the life of a software architect. Software systems have to be designed to connect with humans and other systems, devices, etc. Under software solutions as well as under the process to develop these solutions, there are connections at different levels: on the one hand, while developing the solution, the software architect uses what is called methodologies that provide proven guided steps or best practices, which guarantee the quality of the solution developed, and the coherence and consistency among all the pieces that conform the solution.
As a result, if a change must be made to a specific part of the solution, the software architect has a clear vision of the other parts of the solution that are potentially affected and he can evaluate the impact of that change. Software products have a side that is perceived by humans and a side that is not. Both sides are interconnected because otherwise the software product would be just a useless showcase. This can be appreciated in bad software products, when you push a button expecting an answer from the software and it does not work. It means bad development where the "connessione" rule has not been applied to the process. On the other hand, once the software solution is developed, the solution itself is a network of connections among different elements: people, hardware, software, databases, etc. The software architect acting as a project manager, has to use the "connessione" talent, everyday. A good project manager has to bear in mind that everything connects with everything else in a project. For instance, a deviation in the budget of a software component can result in non-achievement of a business goal, or the sudden illness of a human resource working in a project has an impact that must be immediately evaluated to identify how this affects the project. And given that everything connects with everything else in software solutions, the software architect can reuse pieces of knowledge, information, projects, whatever he needs, to plug and play into a new application if they are appropriate. In this way the he reduces development time and increases productivity. So, if you’re ready to partner with a developer who truly harness the potential of good software practices then let's connect. Email - michel.herszak@gmail.com Twitter - @MHerszak (twitter.com/MHerszak) Want to know about the way in which I work? Great, you can get started with an overview of just how I approach a project right here.