Sunday, December 28, 2014

The 12 characteristics of modern application development

Here are 12 attributes that characterize the new mode of application development beginning to make inroads in enterprises:
  1. Mobile: Supporting touch interaction and adaptability .
  2. Cloud-Backed: for back ends in the form of PaaS.
  3. Agile: Incremental, frequent releases. Rapid response to change. 
  4. Continuously Integrated and Delivered: Applications must be integrated to run daily. Heavy reliance on automated testing.
  5. DevOps-Enabled: Developers own deployment or work seamlessly with Ops staff to release, test, refine and rerelease applications to users. 
  6. App Store Delivered and Extended: 
  7. Reactive Analytics Infused: Developers get rich intelligence on application usage. With automation and quick turnaround (e.g. A/B testing of planned features), reactive analytics could display optimized UX and personalized information for user
  8. User Experience-Centric: Focusing on the design and appearance of the application 
  9. Socially Oriented: Integrating of user-interface patterns borrowed from social networks, such as timelines, event streams, social graphs and other social metadata. Data is updated using event-based push-oriented patterns. Integrated search functionality. Seamless support for content elements such as images and video. Integration with consumer or enterprise social networks.
  10. API Factored and Surfaced: use standardized, loosely coupled and lightweight REST call formats to reduce complexity and maximize accessibility.
  11. Lightweight: Less complex software that is less time-consuming to install, learn and use. 
  12. Model-Driven: Rich use of visual tools to support abstraction in the development toolset such as for relations in a data model, business logic flows, and process flows.