Note: This is a guest blog post by fellow architect and innovation group colleague, George Ribero-Justo, describing his recent trip and presentation on architecture and innovation, in Brazil. Enjoy.
During my recent holiday in Brazil I was invited to give a presentation and talk at a Federal Institute of Education and Innovation (IFCE) on computer architecture and innovation at Capgemini. My talk was entitled “Architecture of Complex Systems: Challenges and Perspectives”. The event was very well attended, with over 120 academic staff, students and local business people showing considerable interest in the presentation, in which I gave several examples of innovative solutions that Capgemini had developed to address specific client requirements and issues. Following my presentation, there was a lively question session and then an opportunity to talk informally with those attending the event, who clearly very much appreciated what they had heard and had gained a very positive understanding of Capgemini’s ability to develop innovative architectural solutions to computing challenges.
Architecture has evolved a lot since the days when I first read Mary Shaw’s and David Garlan’s book on “Software Architecture: Perspective of a New Discipline” and is a more mature discipline nowadays. We, architects now have a number of tools, methods and standard, which can help us to develop more enduring and robust architecture, and more importantly architecture that can bring real values to our clients. However, some fundamental problems in developing architecture are still unresolved. Managing and tracing functional requirements are, in a sense, well understood and we have lots of tools and methods to support us. However, the same cannot be said about non-functional requirements (NFRs). I recall working with a couple of my PhD students on this problem about 10 years ago; the challenge of formally representing NFRs, and how to refine and trace them back to parts of the architecture. The real challenge is that architecture components or building blocks do not usually define their NFRs very well and even if they did, NFRs are not able to be composed. So when components or building are composed into an architecture, the NFRs of specific components are not so useful. There is certainly space for more research and innovation in this area.
Another question that was asked many times during my presentation in Brazil was what to do to become a good architect. What does make a good architect? Training alone may not prepare anyone for the challenges, and idiosyncrasies of each architecture and client. I think the best answer is to back to Capgemini values such as honesty and boldness. We must be honest and open to our clients when giving good and bad news. It is also important to be bold, and not be afraid to challenge the client’s view. As Richard Branson said “the client is not always right”!
In addition to the presentation and talk, I was also invited to be interviewed on local television in Brazil, which was broadcast as part of the peak time news programme. The interviewer was very interested in exploring my role as a computer architect and again I was able to highlight the expertise that Capgemini has in offering innovative solutions to client requirements and issues.
Again it is incredible how little is known about system and software architecture outside our community. Everybody would understand if you say that you are a (civil) engineer or (building) architect. However, few people would know anything about a software or enterprise architect. We still have a long way to go in selling our value and profession to the wider community!