As Agile is becoming a more mainstream software development approach, I have seen recently on the Web more content about the importance of having cross-functional people in Scrum teams. Another denomination for this type of developer is to call them “T-shaped” people. The “T” symbolizes the deepness of the expertise in a particular topic and the broadness of knowledge in other areas of software engineering.
Large software development organizations have often chosen to have a tayloristic approach where people are separated according to their expertise: programmers, software testers, DBA, business analysts. This separation in silos had also an implied “hierarchy” in the mind of developers: you are a tester or a business analyst only because you cannot code ;O) There is nothing wrong with being an expert and you cannot be expert in everything, but this division, that was also often combined with a distance between the office location, has mostly created a “us versus them” mentality. I had the chances to work mainly in software development projects where I was able to perform different roles and I have found this situation beneficial. This is also because I have witnessed the loss of information when communication involved multiple steps between the end-user and the software developer.
The Renaissance reference in the title in inspired by people like Leonardo da Vinci that were active in multiple fields from the art to engineering. We are not all geniuses like Leonardo da Vinci, even if some of us might think so, but we should be inspired by the broadness of his activities, even if some developers could think that the Da Vinci code is not so good ;O). Software applications are the result of the combination of many elements that span from requirements to database performance and developers should know how they work together. Furthermore, I consider the ability to “speak” the language of a specific business as one of the main resource of a software developer looking for work.
This is why you find in our quarterly PDF issues articles that try to cover all the areas of software engineering. If you think that you are a renaissance developer, then Methods & Tools is for you!