Native Apps At The Client & Cloud

Srinivasan Sundara Rajan

Subscribe to Srinivasan Sundara Rajan: eMailAlertsEmail Alerts
Get Srinivasan Sundara Rajan: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Related Topics: Cloud Computing, Infrastructure On Demand, Agile Software Development, SaaS Journal, Platform as a Service, Amazon Cloud Journal, Cloud Development Tools

Article

Agile Iterative Development with Amazon EC2 Platform

Global application development support with IaaS offering

Agile Development
Involvement of Stake Holder in All Phases Of Software Development Lifecycle :

With the rapidly changing business domains, requirements are volatile and require constant interaction with the customer, and each  iteration refines the work product based on the stake holder involvement.  Agile processes seek to address these problems by allowing requirements change (in some cases throughout the life cycle of the project) and that the software is delivered in successive iterations. In addition, the stakeholders are closely involved in the development of the project.

Notably, it is the stakeholders, rather than the developers, who decide which of the requirements is built first. At the end of the iteration, the newly written software is demonstrated to the stakeholders. Such regular deliveries and close involvement ensures that development does not deviate too far from the stakeholders' requirements.

Issues with Executing Agile Development

  • Invariably today's development projects are executed from multiple locations especially the much of the development is done from best shore locations
  • Best shore development centers run on different network that is different from the end customer's network
  • Business stake holders sit inside the customer premises running on different network
  • Difficult for business stake holders to view demo of the systems in development and provide feedback
  • Even if the work in progress in deployed on the customer network, differences in environment, software stack, build process and stability affects the usability of demos and under mine the stake holder involvement
  • The below diagram outlines the issues with today's iterative agile development projects

Breaking the  Network Barriers with Amazon EC2 as a Development Platform (Elastic IP)

  • Elastic IP Addresses : Amazon EC2 supports Elastic IP Addresses to implement the effect of having a static IP address for public servers running on EC2. You can point the Elastic IP at any of your EC2 instances, changing the active instance at any time, without changing the IP address seen by the public outside of EC2.
  • This is a valuable feature for things like web and email servers, especially if you need to replace a failing server or upgrade or downgrade the hardware capabilities of the server, but read on for an insiders' secret way to use Elastic IP addresses for non-public servers.

Redefining the Pair Programming  with EC2 Platform

  • Pair programming is an agile software development technique in which two programmers work together at one work station. One types in code  while the other reviews each line of code as it is typed in. The person typing is called the driver. The person reviewing the code is called the observer (or navigator). The two programmers switch roles frequently.
  • Remote pair programming, also known as virtual pair programming or distributed pair programming, is pair programming where the two programmers are in different locations
  • EC2 supports collaboration between remote teams in various other ways, apart from Elastic IP concept.
  • Shared AMIs are AMIs that developers build and make available for other AWS developers to use.
  • You can share an AMI with specific AWS accounts without making the AMI public. All you need is the account ID.

Summary

  • By Utilizing the EC2 IaaS platform as a development environment, many such hidden benefits as explained above, apart from providing an on-demand provisioning of resources and a low-cost model with respect to capital and operational expenses.

More Stories By Srinivasan Sundara Rajan

Highly passionate about utilizing Digital Technologies to enable next generation enterprise. Believes in enterprise transformation through the Natives (Cloud Native & Mobile Native).