Welcome!

AJAX & REA Authors: Elizabeth White, Chris Pollach, Sebastian Kruk, PR.com Newswire, Shelly Palmer

Related Topics: SOA & WOA, Java, XML, .NET, AJAX & REA, Web 2.0

SOA & WOA: Blog Feed Post

Are Large Software Projects like Eating an Elephant?

How do you eat an elephant? Simple – cut it into small pieces at eat one piece at a time

How do you eat an elephant? Simple – cut it into small pieces at eat one piece at a time.

BUT…

…is it really that simple?

When you have a large software project it is too simplistic to assume that all you need to do is to decompose the problem to individual manageable chunk which can be handled by one scrum team and then continuously keep integrating the code produced by the teams. Keep doing this and your software would be ready.

Four Assumptions you make while splitting a problem
In agile we call each chunk a user story. There is an underlying belief that it is possible to take one story at a time and code it into the application. The design of the application would emerge and the architecture of the application would evolve. But for that to happen the following assumptions must be valid:

Granularity of the decomposition: Each story is not too large – one person code it within a couple of weeks.

Loose coupling: Each story in not too interconnected with the rest of the already developed application – the code can be tested without too much complication.

Ability to iterate: Every story can be plugged in easily – it does not necessitate too much change in the existing code base – it does not create too many regression error.

Minimum emergent behavior: The impact of adding a story is predictable – when a new story is added then there is no unpredictable change in the behavior of the application.

There is no guarantee that this can be achieved for every problem. There is no scientific method which can be applied.

However, experience teaches us that a good architecture can enable this process.

The best way to arrive at a good architecture is to find an expert who has solved a similar problem and has learned the hard way what not to do!

Such a person can make the problem as simple as possible but not simpler.

What if you cannot find such a person?

Then you will need to go through architectural cycles to arrive at the right architecture before user stories can be taken up.

You also need to keep in mind that any architectural decision once taken cannot be changed easily. It would involve too much rework. So, you should defer some of the architectural decision to the last responsible time.

Related Articles:

Simplicity: A New Model

Simplicity Is Highly Overrated

Read the original blog entry...

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

Cloud Expo Breaking News
“Social, mobile, analytics and cloud can’t be looked at as distinct technology trends; they are facets of the same movement and an everyday reality for consumers and businesses alike,” said Craig Sowell, IBM VP of SmartCloud Marketing, in this exclusive Q&A with Cloud Expo Conference Chair Jeremy Geelan. “This means that businesses need to start looking at trends as one: cloud is the delivery, analytics is the unique insight, social is a shareable service, and mobile is the ubiquitous access.” ...
Organizations across the world are increasingly starting to see the benefits of moving more and more services to the cloud. The focus on the cost-saving potential of cloud is rapidly shifting to completely transforming the business with cloud. As organizations are investing enormous sums on technology they are starting to realize that in order to maximize the return on investment and accelerate the business transformation process the first area of focus should be people. By ensuring the organiza...
SYS-CON Events announced today that Wowrack will exhibit at SYS-CON's 12th International Cloud Expo, which will take place on June 10–13, 2013, at the Javits Center in New York City, New York. Wowrack’s core expertise lies in high-availability Private and Public Cloud IaaS Hosting Solutions. Wowrack provides a true Hybrid service – where business release all IT management and hardware provisioning – taking the data center and server system administrative headaches off our customer’s shoulders. ...
As enterprises deploy private IaaS clouds into production they are reevaluating their future application delivery models. SUSE and WSO2 believe that private PaaS will leverage the automation and scalability of Private IaaS solutions, such as OpenStack-based SUSE Cloud, to deliver the secure, standardized development environments that will make migrating to an agile, serviceoriented delivery model possible. In their session at the 12th International Cloud Expo, Chris Haddad, VP of Technology Ev...
"Since Cloud Expo is running the week of June 10, we thought it'd be a great idea to schedule our Meetup this week. That way, if you have colleagues, friends, or family in town that week for the Expo, you can invite them to join you!" With those words, the OpenStack New York Meetup Group's organizer's launched a landing page this week where anyone interested can register for the June 12 evening event.
In an ideal developer/systems administrator’s world, most applications would deploy seamlessly to multiple platforms and scale elastically with minimal effort bringing the unprecedented agility of the cloud within immediate reach of developer teams and IT organizations. OpenStack, a RackSpace and NASA initiative, is now managed by an independent foundation and is supported by multiple vendors. It defines APIs for compute, storage, networking, services, monitoring, and additional infrastructure...
In his session at 12th Cloud Expo | Cloud Expo New York [June 10-13, 2013], Intel's Chris Black will review the background of Apache Hadoop, its application, and methods to accelerate data system clusters with Intel SSD technology. The session will overview the genius of Hadoop and provide an overview of the ecosystem landscape. Cloud Expo/Big Data Expo delegates will learn how the Hadoop framework and SSD technology augment cloud data systems ranging from analytics to on-line transaction pro...
Cloud computing is transforming the way businesses think about and leverage technology. As a result, the general understanding of cloud computing has come a long way in a short time. However, there are still many misconceptions about what cloud computing is and what it can do for businesses that adopt this game-changing computing model. In his General Session at the 12th International Cloud Expo, Gene Eun, Senior Director, Oracle Cloud at Oracle, will discuss and dispel some of the common myth...
SYS-CON Events announced today that nfina Technologies, a provider of highly reliable cloud server products, will exhibit at SYS-CON's 12th International Cloud Expo, which will take place on June 10–13, 2013, at the Javits Center in New York City, New York. nfina Technologies develops, manufactures, and markets highly reliable cloud server products, designed to solve the most demanding data center requirements in mission-critical cloud applications. Nfina’s staff has decades of experience in co...
SYS-CON Events announced today that OpenStack will exhibit at SYS-CON's 12th International Cloud Expo, which will take place on June 10–13, 2013, at the Javits Center in New York City, New York. OpenStack software controls large pools of compute, storage, and networking resources throughout a datacenter, all managed by a dashboard that gives administrators control while empowering their users to provision resources through a web interface. OpenStack powers some of the most widely-used SaaS app...