Tw Technology Radar Qtb Sep11

411
-1

Published on

Updated Technology radar. Agile Developement

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
411
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Tw Technology Radar Qtb Sep11

  1. 1. September 2011ThoughtWorks Technology Radar Nick Hines & Ian Cartwright #thoughtworksradar
  2. 2. Tech Radar (1) Techniques Tools Platforms LanguagesPrivate and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
  3. 3. Tech Radar (2) !   Adopt: We feel strongly that the industry should be adopting these items. We use them when appropriate on our projects. !   Trial: Worth pursuing. It is important to understand how to build up this capability. Enterprises should try this technology on a project that can handle the risk. !   Assess: Worth exploring with the goal of understanding how it will affect your enterprise. !   Hold: Proceed with caution.Private and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
  4. 4. Continuous Delivery – What and Why !   Continuous Delivery – ability to release software on demand !   Next logical step after Agile software development !   Why do we need Continuous Delivery? •  Competitive pressures •  Responsiveness to market •  Customers expect constant updates •  Allows testing of ideas in the market !   What are the benefits? •  Predictability & Reliability •  Fast feedback •  Power in the hands of the businessPrivate and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
  5. 5. Continuous Delivery – How (1) !   Development practices •  Code on the mainline - not feature branching (more later) •  Branch by abstraction & Feature toggles •  Automated tests of user journeys •  Automated cross-functional tests – simple performance trending •  Evolutionary DB !   Build and Deployment patterns •  Infrastructure as code •  Continuous Deployment •  Automated database deployment •  A/B Testing, Canary releases, etc •  CI, Build pipelines, etcPrivate and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
  6. 6. Continuous Delivery – How (2) ! DevOps •  Greater cooperation between development and operations •  Use techniques from s/w development e.g. automation and testing !   Tooling •  Chef, Puppet, CFEngine, Powershell •  IAAS •  GO •  VagrantPrivate and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
  7. 7. Mobile Applications – Why? !   Massive growth in availability of Smart phones and mobile devices !   Apps from stores overtaking “traditional” applications !   Mobile devices becoming default means of accessing information !   Cross-platform still huge challenge !   Enterprise integration and strategy still in infancyPrivate and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
  8. 8. Mobile Applications – How? !   Cross platform mobile toolkits – Holy grail but unfortunately an illusion !   Progressive enhancement – develop for lowest common denominator then enhance !   Mobile web •  jQuery mobile •  HTML 5 •  Offline mobile !   Testing mobile applications •  Selenium 2 •  Frank !   Web kit based browsersPrivate and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
  9. 9. Web as platform !   Internet most scalable and resilient “application” on the planet !   Techniques from the web can be used in enterprise applications •  E.g. ATOM as pub/sub •  Use HTTP as default transport mechanism •  Thoughtful caching •  Caching reverse proxies !   Service choreography !   Defined by protocol rather than centrally !   Hypermedia driven application protocols !   Emulate way humans interact with InternetPrivate and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
  10. 10. Web Development !   Many tools/techniques emerging to aid in development of rich HTML applications ! Javascript as first-class language ! Coffeescript ! Backbone.js !   SASS, SCSS, LESS !   HAMLPrivate and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
  11. 11. Cloud Computing !   Despite recent setbacks still huge momentum towards cloud !   AWS outages illustrate need for “cloud friendly” architectures !   Private vs. Public cloud •  Data Protection issues •  Many enterprises still reluctant or unable to use public cloud !   Hybrid cloud to manage excess loadPrivate and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
  12. 12. Cloud Platforms (1) !   AWS •  Despite problems range of services continues to expand •  Addition of Oracle and VPC ! Heroku •  Originally RoR PAAS, •  Now supports multiple web frameworks, Java and Clojure !   Cloud Foundry •  Supports Java/Spring applications, Rails, Sinatra, Grails and Node.js also MongoDB, MySQL and Redis •  Public (VMWare) or PrivatePrivate and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
  13. 13. Cloud Platforms (2) ! OpenStack •  Open source private cloud •  Leverages existing virtualisation technologies e.g. KVM •  So far compute and object storage but under active development !   Continuous Delivery makes cloud a lot easier!Private and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
  14. 14. Agile Analytics – Why? !   Data obesity •  Data collection from web, etc. outstripping ability of business to analyse it !   Demand for customer insights •  Clients sense that marketing can be better targeted •  Promise of mining trends from social networks •  Traditional finance oriented data warehouses don’t support this kind of analysis !   Business not getting expected ROI on BI projects !   Long project lifecycles – typically 18+ months !   Major cost overruns – little ability to fail fastPrivate and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
  15. 15. Agile Analytics – What? !   Strong end user value focus – focus on business need not technical solution !   Iterative development approach – answer most important questions first !   Test led development – complexity of BI demands automated tests !   Focus on high value stories – don’t “boil the ocean” !   Same advantages as “normal” Agile !   Use of innovative and open source tools !   Event sourced BI – provides real time analyticsPrivate and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
  16. 16. Agile Analytics – Tools !   Use NoSQL databases – column stores and document databases often better fit to data !   Use Open Source or lightweight BI tools – e.g. Pentaho, JasperSoft, CloverETL, Talend, BIRT, SpagoBI !   Use Cloud computing to store large data sets !   Use functional langauges/tools e.g. MapReduce, Hadoop for rapid processing !   Leverage existing lightweight tools e.g. Excel for reportingPrivate and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
  17. 17. Some controversies? !   The Future of Java !   Feature Branching !   VCS with “implicit workflow” !   Code in configuration !   Database or Procedure oriented integration !   Java portal servers !   GWTPrivate and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.
  18. 18. Build your own Radar! !   Advice: http://tinyurl.com/NealFordRadar !   Tool: https://github.com/bdargan/techradarPrivate and Confidential. © 2011 ThoughtWorks, Ltd. All rights reserved.

×