Home > Blogs > VMware vFabric Blog


Doing Agile? 10 Features of an Agile App Platform (Part 1)

Using an “agile process” is listed as one of the Top 10 Reasons for Project Success[1]. So, it’s not surprising that everyone wants to be agile these days. There are numerous books and blogs available that explain how to adopt agile practices from a people and process perspective, but what about technology?

Do the decisions we make when choosing our “build, run and manage” application platform affect our ability to adopt agile practices?

To answer this question, we’ve looked at the principles behind the agile manifesto[2] and identified two core themes to help characterize the agile features of application platforms.

The 2 Key Agile Themes

Rocket-icon-80x80 Theme 1 – Delivery Efficiency

Adopting agile practices means we need to deliver working software fast and often and in a sustainable way i.e. we need to choose application services that streamline the software delivery cycle.

Chameleon_80x80 Theme 2 – Adaptable Designs

Adopting agile practices means we need to create simple architectures that can support the fast changing business requirements we see emerging in today’s dynamic markets i.e. we need to choose a application services that encourage developers to create simple and adaptable designs.

The 10 Features of an Agile Application Platform

By using these two key themes as a guidepost, we identified an initial set of 10 application platform features that 1) optimize delivery efficiency and 2) encourage adaptable designs. Each item is detailed further below:

  1. An application framework that minimizes coupling
  2. An application framework with great support for Unit and Integration Testing
  3. A messaging technology that can run anywhere
  4. An application platform that supports performance testing in the development cycle
  5. An application server that streamlines application deployment
  6. A web server that can be deployed quickly and consistently
  7. A cloud-enabled application provisioning solution
  8. Platform components that support “Database as a Service”
  9. An adaptable database solution
  10. A performance monitoring tool that automatically keeps pace with application changes

1. An application framework that minimizes coupling

Chameleon_80x80 We all know that the less coupled an architecture it is, the easier it is to change. So, we need to look for an application framework that helps developers minimize coupling at all tiers of the architecture.

2. An application framework with great support for Unit and Integration Testing

Rocket-icon-80x80 In order to maintain quality and speed in an agile environment, you need to choose an application framework that facilitates the creation and execution of unit and integration tests as quickly as possible.

3. A messaging technology that can run anywhere

Chameleon_80x80 The use of messaging as a part of an overall enterprise architecture design provides the ability to swap out one system for another, change a technology platform, or even change a vendor solution without affecting the client. But what’s the point in having an architecture that allows for change if the messaging technology you use restricts your choices of language, operating systems or Internet protocols?

4. An application platform that supports performance testing in the development cycle

Rocket-icon-80x80 Often agile projects leave performance testing until late in the sprint, or even separate it into a hardening sprint of its own. This can seriously impact the amount of rework required and often means “done” code is not really production ready.

5. An application server that streamlines application deployment

Rocket-icon-80x80 Agile teams provide frequent deployments of the software in order to receive feature validation from the business and to show project progress. Configuration and deployment meta-data can often be more complicated than application code and more error prone when transitioning from dev to production.

6. A web server that can be deployed quickly and consistently

Rocket-icon-80x80 The time taken configuring, patching and compiling a web server for your application is time taken away from feature development.

7. A cloud-enabled application provisioning solution

Rocket-icon-80x80 The agility offered by cloud computing means many agile teams are now building and deploying applications to run on private, public, or hybrid clouds. Without automation, the deployment of mult-tier application deployment topologies into one or more cloud environments can be complex and time consuming.

8. Platform components that support “Database as a Service”

Rocket-icon-80x80 Self-service database management increases developer agility and accelerates application development cycles.

9. An adaptable database solution

Chameleon_80x80 The iterative and evolving nature of agile development means that the application domain model is likely to change over each release. This means the chosen database solution needs to be flexible enough to keep pace with this changing domain model.

10. A performance monitoring tool that automatically keeps pace with application changes

Chameleon_80x80 If you are doing agile development successfully, you are going to be frequently updating your application and deploying it to production. If each deployment means manually modifing your application monitoring tools, there will either be a delay in the application going live or a delay in you getting real performance metrics. Therefore, you need a management tool that can keep pace without requiring a large amount of manual reconfiguration.

Where does vFabric fit as an Agile Application Platform?

While this list of 10 embraces evolution through feedback from a worldwide community of agile practitioners, resources like the Agile Journal already recognize the value of how cloud platforms and agile fit together. Keep a look out for the second part of this blog post where we will provide a view of this list with example capabilities of the vFabric application platform. Until then, we would appreciate any thoughts or feedback in the comments.

References

[1] The Chaos Manifesto, 2012 – The Standish Group
[2] http://agilemanifesto.org/principles.html

Beth-Brown-BioPic_80x80 About the Author: Beth Brown has over 15 years of experience in optimising software development and application lifecycle management processes across multiple domains. Beth currently works within the vFabric Cloud Application Platform division as an agile services delivery specialist. Prior to joining VMware, Beth was the Pre-Sales Manager for Southern Europe at Microfocus; before that she ran Borland’s Northern European Technical Services Division. She has successfully led Agile, ALM and SOA transformational change programmes across large scale enterprises such as BT, Cap Gemini and NATO.

13 thoughts on “Doing Agile? 10 Features of an Agile App Platform (Part 1)

  1. sbobet

    I am really enjoying the theme/design of your blog.
    Do you ever run into any internet browser compatibility problems?
    A couple of my blog audience have complained about my website not operating correctly in Explorer but looks great
    in Safari. Do you have any ideas to help fix this issue?

    Feel free to surf to my web blog: sbobet

    Reply
  2. pasożyty

    Very good site you have here but I was curious
    about if you knew of any user discussion forums that cover the same topics discussed in this article?
    I’d really love to be a part of community where I can get
    feed-back from other experienced people that share
    the same interest. If you have any recommendations, please let me know.
    Bless you!

    My web site: pasożyty

    Reply
  3. sbobet

    I’ll immediately grab your rss as I can not to find your
    e-mail subscription link or e-newsletter service.

    Do you’ve any? Please let me recognise in order
    that I may subscribe. Thanks.

    Also visit my web site: sbobet

    Reply
  4. The Tao of Badass Really Work

    Hello there, I found your blog by way of Google even as searching
    for a comparable topic, your site got here up, it appears to be like good.

    I’ve bookmarked it in my google bookmarks.
    Hi there, just became alert to your weblog through Google, and located that it is
    truly informative. I am going to watch out for brussels.
    I will be grateful should you continue this in future. Many folks can be benefited from
    your writing. Cheers!

    Reply
  5. sbobet

    Your style is unique in comparison to other folks I
    have read stuff from. Thank you for posting when you’ve
    got the opportunity, Guess I’ll just book mark this site.

    Feel free to visit my web blog – sbobet

    Reply
  6. Birmingham carpenter

    The only thing you have to do is to utilize this laser leveler tool which will
    project a visible laser-cross on the walls by simultaneously, displaying accurate horizontal and
    vertical lines within seconds. So if still don’t know what to do yet, consider a carpentry career.

    Pointing to his disciples, he said, ‘Here are my mother
    and my brothers.

    Reply
  7. buy youtube views

    Greetings, I do believe your site could be having internet browser compatibility problems.
    Whenever I look at your website in Safari, it looks fine
    however when opening in Internet Explorer, it has some overlapping issues.
    I merely wanted to provide you with a quick heads up!
    Other than that, wonderful blog!

    Reply
  8. Age of Warring Empire cheat

    As it could be seen, little wars within the USSR were many and some of such wars
    continuous till now, in 2005. Amster ‘Taking a walk across hot coals will inevitably hurt your feet.
    One of the more open minded admins involved in the whole snafu has risen in
    the ranks since this incident.

    Feel free to surf to my web site :: Age of Warring Empire cheat

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>