Towards a unified view of system development methods