Nowadays, companies want to develop business applications in an agile way (quickly and low cost), this does apply to any business applications and not only to BPM apps. This is called "rapid application development" (RAD) and in this escenario we should make use of 2 things mainly:
- Methodology: Best practices for proper and quick implementation and applications.
- Tools: a set of tools that support the "Software Development Life Cycle" (SDLC) over and obviously speeds up the entire production cycle.
I have used 2 FOSS tools of this type:
- Intalio (http://www.intalio.com/bpm/features)
- Bonita BPM (http://www.bonitasoft.com/products/Business_Process_Management_features.php)
.. and yes, currently the trend is "Model-Driven Development" (MDD), and i can see it in BPM classic tools, they are moving towards MDD, examples:
- jBPM5 (http://planet.jboss.org/post/should_you_bet_on_jbpm)
- Activiti and Camunda Fox (http://www.activiti.org/cycle.html)
For further information, here some related links:
- Agile BPM Systems development with Camunda Fox and Alfresco Activiti (http://holisticsecurity.wordpress.com/2010/09/10/agile-bpm-systems-development-with-camunda-fox-and-alfresco-activiti)
- Making the BPMN Roundtrip real (http://www.bpm-guide.de/2010/05/27/making-the-bpmn-roundtrip-real)
- Intalio vs jBPM: Zero-code (http://community.jboss.org/thread/114133?tstart=0)