Cross functional teams
I guess we can all agree that any task that needs to be carried out requires an adequate skill set in order to be completed. Should the task be more complex or less trivial, a broader set of skills or a more proficient person carrying it out is needed. When I look at software development I see a mix of non triviality and complexity, since it’s usually a long series of pretty difficult tasks. These characteristics and the creative aspect that comes from someone finding my work useful is what attracts me to the software business. In addition to that I find it rewarding and interesting to work with others. My guess is that this is what makes people group together and form teams when they develop large software systems and applications.
