On architecture, urban planning and software construction