Click here to close now.

Welcome!

MICROSERVICES Authors: Elizabeth White, Dana Gardner, ScriptRock Blog, Cynthia Dunlop, XebiaLabs Blog

Related Topics: Java, MICROSERVICES, AJAX & REA

Java: Article

What Makes Agile Agile?

What qualifies a methodology as agile?

Silly question – or is it? How do you judge if a methodology can be classified as agile methodology? Can Iterative or Spiral development methodology be classified as agile? What about Six Sigma or Lean process? On what basis will decide will you decide? If you go by the Forrester classification, Iterative or Spiral development methodology is not agile where as Six Sigma and Lean is agile.

In the survey report Agile Development Management Tools, Q2 2010, Forrester classifies Scrum, Agile Modeling, Feature-Driven Development, Test-Driven Development, eXtreme Programming, Lean Development, Microsoft Solution Framework for Agile, Agile Data Methods, Adaptive Software Development, Six Sigma, Crystal, Behavior-Driven Development and Dynamic System Development Methodology under agile methodology but classifies Rational Unified Process, Iterative Development or Spiral under Iterative Development.

Is there any accepted definition for agile methodology which can help us determine if specific methodology can be classified as agile? I have looked and have not found any.

Can we fall back on the agile manifesto or the 12 principles behind the agile manifesto? If you study them carefully you will realize that they are more of an aspirational statement rather than specific guideline which can be used to evaluate a methodology.

For example, take the first statement in the manifesto – “Individuals and interactions over processes and tools”. Does is mean – don’t bother with tools and processes? Is it feasible in today’s fast passed, complex world? It is like the statement from John Zachman – You can run an enterprise with pencils, paper and file cabinets – reality in the past; unthinkable today.

Similarly, have a look at the 5th principle – “Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.” Does it mean – don’t bother with process? If there are multiple agile projects going on in an organization then can each team chose to follow a different agile methodology?

For that matter, 4th and 6th principles state – “Business people and developers must work together daily throughout the project” and “The most efficient and effective method of conveying information to and within a development team is face-to-face conversation”. This will mean physically collocating business people and developers. In the current globalized and virtually networked world, I wonder how this is feasible.

What we need to do is to take a couple of step backward and try to extract the essence and formulate clear yardsticks which can be used to qualify any methodology and agile or non-agile. I suspect that most of us know intuitively what those yardsticks are but it will still be good to have it in black and white.

Essence of Agile – two dimension
Before we can formulate the yardsticks let us understand the spirit behind the manifesto.

Change is inevitable because …

  • …software cannot be unambiguously and completely specified through a document or a model
  • …people don’t know and cannot completely visualize what the software should be till they play with it
  • …communication is never perfect and correction through feedback loop is essential
  • …environment around us is never static and useful software needs to evolve to match the revised requirement

Thus, any methodology to qualify as an agile methodology needs to have specific recommendation on “how to effectively manage short iterations”. As a corollary, any methodology which tries to lay down standards on how to “unambiguously and completely” specify different aspects of the software cannot be considered as agile.

Individuals create software and better software is produced …

  • …by motivated individuals
  • …through regular interaction among individuals
  • …when individuals working together figure out how to be more effective
  • …where the environment has minimum roadblocks and illogical restrictions

Therefore, “how to help individuals to work together” is the second dimension that an agile methodology needs to address.

Yardstick of evaluation – two positive and one negative questions to ask

(+ve) What recommendations does the methodology provide …

  1. …for managing short iterations: Obviously any methodology which does not recommend iterative development gets immediately disqualified.
  2. to help create a self-motivated team: Recommendations need to be specific and actionable and not philosophic statements.

(-ve) Is there any mandate that makes it necessary to produce a document or a model which is expected to be a complete and unambiguous representation of a specific dimension of the software?

Evaluating methodologies and extracting principles
In subsequent posts, I plan to use these criteria to evaluate different methodologies.

Related Posts

More Stories By Udayan Banerjee

Udayan Banerjee is CTO at NIIT Technologies Ltd, an IT industry veteran with more than 30 years' experience. He blogs at http://setandbma.wordpress.com.
The blog focuses on emerging technologies like cloud computing, mobile computing, social media aka web 2.0 etc. It also contains stuff about agile methodology and trends in architecture. It is a world view seen through the lens of a software service provider based out of Bangalore and serving clients across the world. The focus is mostly on...

  • Keep the hype out and project a realistic picture
  • Uncover trends not very apparent
  • Draw conclusion from real life experience
  • Point out fallacy & discrepancy when I see them
  • Talk about trends which I find interesting
Google

@MicroservicesExpo Stories
While poor system performance occurs for any number of reasons (poor code, understaffed teams, inadequate legacy systems), this week’s post should help you quickly diagnose and fix a few common problems, while setting yourself up for a more stable future at the same time. Modern application frameworks have made it very easy to build not only powerful back-ends, but also rich, web-based user interfaces that are pushed out to the client in real-time. Often this involves a lot of data being transf...
InfoScout in San Francisco gleans new levels of accurate insights into retail buyer behavior by collecting data directly from consumers’ sales receipts. In order to better analyze actual retail behaviors and patterns, InfoScout provides incentives for buyers to share their receipts, but InfoScout is then faced with the daunting task of managing and cleansing that essential data to provide actionable and understandable insights.
Best practices for helping DevOps and Test collaborate in ways that make your SDLC leaner and more scalable. The business demand for "more innovative software, faster" is driving a surge of interest in DevOps, Agile and Lean software development practices. However, today's testing processes are typically bogged down by weighty burdens such as the difficulty of 1) accessing complete Dev/Test environments; 2) acquiring complete, sanitized test data; and 3) configuring the behavior of the environm...
SYS-CON Events announced today that MangoApps will exhibit at SYS-CON's 16th International Cloud Expo®, which will take place on June 9-11, 2015, at the Javits Center in New York City, NY., and the 17th International Cloud Expo®, which will take place on November 3–5, 2015, at the Santa Clara Convention Center in Santa Clara, CA. MangoApps provides private all-in-one social intranets allowing workers to securely collaborate from anywhere in the world and from any device. Social, mobile, and eas...
As a group of concepts, DevOps has converged on several prominent themes including continuous software delivery, automation, and configuration management (CM). These integral pieces often form the pillars of an organization’s DevOps efforts, even as other bigger pieces like overarching best practices and guidelines are still being tried and tested. Being that DevOps is a relatively new paradigm - movement - methodology - [insert your own label here], standards around it have yet to be codified a...
SYS-CON Events announced today that Solgenia will exhibit at SYS-CON's 16th International Cloud Expo®, which will take place on June 9-11, 2015, at the Javits Center in New York City, NY, and the 17th International Cloud Expo®, which will take place on November 3–5, 2015, at the Santa Clara Convention Center in Santa Clara, CA. Solgenia is the global market leader in Cloud Collaboration and Cloud Infrastructure software solutions. Designed to “Bridge the Gap” between Personal and Professional S...
Learn the top API testing issues that organizations encounter and how automation plus a DevOps team approach can address these top API testing challenges. Ensuring API integrity is difficult in today's complex application cloud, on-premises and hybrid environment scenarios. In this interview with TechTarget, Parasoft solution architect manager Spencer Debrosse shares his experiences about the top API testing issues that organizations encounter and how automation and a DevOps team approach can a...
Chef and Canonical announced a partnership to integrate and distribute Chef with Ubuntu. Canonical is integrating the Chef automation platform with Canonical's Machine-As-A-Service (MAAS), enabling users to automate the provisioning, configuration and deployment of bare metal compute resources in the data center. Canonical is packaging Chef 12 server in upcoming distributions of its Ubuntu open source operating system and will provide commercial support for Chef within its user base.
When it comes to microservices there are myths and uncertainty about the journey ahead. Deploying a “Hello World” app on Docker is a long way from making microservices work in real enterprises with large applications, complex environments and existing organizational structures. February 19, 2015 10:00am PT / 1:00pm ET → 45 Minutes Join our four experts: Special host Gene Kim, Gary Gruver, Randy Shoup and XebiaLabs’ Andrew Phillips as they explore the realities of microservices in today’s IT worl...
After what feel like an interminable cycle of media frenzy followed by hype and hysteria cycles, the practical elements of real world cloud implementations are starting to become better documented. But what is really different in the cloud? How do software applications behave, live, interact and interconnect inside the cloud? Where do cloud architectures differ so markedly from their predecessors that we need to learn a new set of mechanics – and, when do we start to refer to software progra...
The world's leading Cloud event, Cloud Expo has launched Microservices Journal on the SYS-CON.com portal, featuring over 19,000 original articles, news stories, features, and blog entries. DevOps Journal is focused on this critical enterprise IT topic in the world of cloud computing. Microservices Journal offers top articles, news stories, and blog posts from the world's well-known experts and guarantees better exposure for its authors than any other publication. Follow new article posts on T...
Even though it’s now Microservices Journal, long-time fans of SOA World Magazine can take comfort in the fact that the URL – soa.sys-con.com – remains unchanged. And that’s no mistake, as microservices are really nothing more than a new and improved take on the Service-Oriented Architecture (SOA) best practices we struggled to hammer out over the last decade. Skeptics, however, might say that this change is nothing more than an exercise in buzzword-hopping. SOA is passé, and now that people are ...
Hosted PaaS providers have given independent developers and startups huge advantages in efficiency and reduced time-to-market over their more process-bound counterparts in enterprises. Software frameworks are now available that allow enterprise IT departments to provide these same advantages for developers in their own organization. In his workshop session at DevOps Summit, Troy Topnik, ActiveState’s Technical Product Manager, will show how on-prem or cloud-hosted Private PaaS can enable organ...
For those of us that have been practicing SOA for over a decade, it's surprising that there's so much interest in microservices. In fairness microservices don't look like the vendor play that was early SOA in the early noughties. But experienced SOA practitioners everywhere will be wondering if microservices is actually a good thing. You see microservices is basically an SOA pattern that inherits all the well-known SOA principles and adds characteristics that address the use of SOA for distribut...
SYS-CON Events announced today the IoT Bootcamp – Jumpstart Your IoT Strategy, being held June 9–10, 2015, in conjunction with 16th Cloud Expo and Internet of @ThingsExpo at the Javits Center in New York City. This is your chance to jumpstart your IoT strategy. Combined with real-world scenarios and use cases, the IoT Bootcamp is not just based on presentations but includes hands-on demos and walkthroughs. We will introduce you to a variety of Do-It-Yourself IoT platforms including Arduino, Ras...
Microservice architectures are the new hotness, even though they aren't really all that different (in principle) from the paradigm described by SOA (which is dead, or not dead, depending on whom you ask). One of the things this decompositional approach to application architecture does is encourage developers and operations (some might even say DevOps) to re-evaluate scaling strategies. In particular, the notion is forwarded that an application should be built to scale and then infrastructure sho...
Our guest on the podcast this week is Jason Bloomberg, President at Intellyx. When we build services we want them to be lightweight, stateless and scalable while doing one thing really well. In today's cloud world, we're revisiting what to takes to make a good service in the first place. Listen in to learn why following "the book" doesn't necessarily mean that you're solving key business problems.
Microservices are the result of decomposing applications. That may sound a lot like SOA, but SOA was based on an object-oriented (noun) premise; that is, services were built around an object - like a customer - with all the necessary operations (functions) that go along with it. SOA was also founded on a variety of standards (most of them coming out of OASIS) like SOAP, WSDL, XML and UDDI. Microservices have no standards (at least none deriving from a standards body or organization) and can be b...
Right off the bat, Newman advises that we should "think of microservices as a specific approach for SOA in the same way that XP or Scrum are specific approaches for Agile Software development". These analogies are very interesting because my expectation was that microservices is a pattern. So I might infer that microservices is a set of process techniques as opposed to an architectural approach. Yet in the book, Newman clearly includes some elements of concept model and architecture as well as p...
SYS-CON Events announced today the DevOps Foundation Certification Course, being held June ?, 2015, in conjunction with DevOps Summit and 16th Cloud Expo at the Javits Center in New York City, NY. This sixteen (16) hour course provides an introduction to DevOps – the cultural and professional movement that stresses communication, collaboration, integration and automation in order to improve the flow of work between software developers and IT operations professionals. Improved workflows will res...