Enterprise Class Mobile Application Development: A Complete Lifecycle Approach for Producing Mobile Apps