A style of programming highlighted by flights of improvisation. This doesn't mean arbitrary hacking. No, Improvisational Programming has a goal and it has structure. It is an individualist sport, although teams can work in such a way that improvisation is possible (and even encouraged).
As defined by http://www.dictionary.com/cgi-bin/dict.pl?term=improvise:
im·pro·vise (mpr-vz)
1. To invent, compose, or recite without preparation.
2. To make or provide from available materials: improvised a dinner for the unexpected guests; improvise a makeshift tourniquet.
v. intr. To invent, compose, recite, or execute something offhand.
The second definition fits best. An Improvisational Programmer is always prepared. The manifestation of preparedness is through structure. Structure is introduced by defining the problem, analyzing the domain, identifying the constraints and devising a solution. From there, standard processes and patterns are followed until they are exhausted. At this point, a programmer may choose to improvise. New processes are created. New patterns are formed. Software is grown. PiecemealGrowth drives the development.