Techniques for System Design, Development and Deployment