Image Credit: EE HomePage.com
In my early career I worked as a mechanical engineer in mechatronics design company. Mechatronics was the hot stuff in those days, it combined mechanic with electronics. It's still out there, but in many places replaced by software. Because of the multi discipline nature of the work we would work in teams with mechanical, electrical and industrial design engineers. The design process was very interactive. Based on some early requirements the design engineer would draft up some sketches. I would use those a the starting point for the mechanics. The electrical engineer would at the same time work on the electronics and come back with additional requirements for instance on isolation or room for the battery etc.. Now this would in turn have consequences for the mechanical parts and in return mess up the industrial design. You probably get the story. The 3 disciplines needed to work together, constantly refine the requirements and come with a concept solution. This process typical required many very quick iterations. Only when everybody, including the customer, was happy with the concept solution the real engineering work would start.
I learned 2 things, first the interactive iterative collaborative process to come to a concept solution is very efficient, and second that the long final engineering process was very boring and made me decide to move into software...
In software development I've always tried to work in this iterative collaborative way... For me it always felt naturally, but only in recent years after the different agile development processes became in fashion it starts to get common acceptance.
I like this cross pollination between industries. I would like to have fashion designers work on software.