development techniques