I was bored.. The script will extrude faces when you run a command with arguments while selecting a polygon after running the script.

Usage:
1. select a polygon then run the script
2. you can type in the following in python, faceExtrude(1,200,1)
faceExtrude(1,200,1) # first argument is first frame, 2nd is the end frame then the 3rd is how much of total faces should be extruding in each frame. Value of 1 is max.(1 = 100%)

extrude1

import maya.cmds as cmds
#cmds.polyExtrudeFacet( 'pCube1.f[1:2]', 'pCube1.f[3:4]', kft=False, ltz=2, ls=(.5, .5, 0) )
# what percentage?, for how many frames
def faceExtrude (minTime, maxTime, ratio):
	if ratio > 1:
		print "Warning: please keep the 3rd argument to be smaller than 1.0"
	else:
		mySel = cmds.ls(sl=True)
		for fr in range(minTime, maxTime):
			cmds.currentTime(fr, edit=True )
			faceToVertex = cmds.polyInfo(mySel[0],faceToVertex=True)
			faceCount = len(faceToVertex)
			print (str(faceCount)+' faceCount')
			faceExtrudeCount = int(faceCount * ratio) # number of faces that will be extruded
			print (str(faceExtrudeCount)+' faceExtrudeCount')
			faceExtrudeCountInc = 0
			while faceExtrudeCountInc < faceCount:
				faceExtrudeCountInc += faceExtrudeCount
				faceExtrudeCountExtra = faceExtrudeCountInc + 1
				print (str(faceExtrudeCountInc)+' faceExtrudeCountInc')
				test = (mySel[0]+'.f['+str(faceExtrudeCountInc)+':'+str(faceExtrudeCountExtra)+']')
				#cmds.polyExtrudeFacet( test, kft=False, ltz=2, ls=(.9, .9, 0) )
				cmds.polyExtrudeFacet( test, kft=False, ltz=10, ls=(.3, .3, 0) )