On the development life cycle of distributed functional applications: A case study