Archive for April, 2008

Next Page »

Cool Projects on OpenSpaces.org

April 30th, 2008

The OpenSpaces.org community site launched in January. I was surprise by the rapid adoption of OpenSpaces since then, with lots of interesting innovations on things I didn’t even think of. I’m sure that some of the projects will be very…

Nice article on Space-Based Architecture

April 28th, 2008

I Just came across a very good article by Clara Ko summarizing the concept behind Space-Based Architecture on Java Pulse. The article is based on our recent white paper Scaling Spring Application In 4 Steps. Clara’s article is available here….

Lines of Code: Being Serious About Software Development

April 28th, 2008

This is the first of a series of posts I’m planning to write, which I call “Being Serious about Software Development”. In this series, I’d like to share my perspective on various aspects of software development.

In this first entry, I’d like to focus on the known metric called Lines of Code (LOC), and it’s relationship to quality.

Lines of Code vs. Quality:

Let’s say you’re very proud of the project you’ve been undertaking for the last few months. What metrics would you expose to your audience to brag about what you’ve been doing? A common metric is of lines of code (LOC).

As during the past two years I’ve invested my life in improving a development organization, I needed to identify the quality metrics that will enable me to measure progress and make good decisions.

I personally never found the LOC metric to be particularly usable as it is really nothing but bragging about how fast code generators work ;-)

What does it mean? A team was sitting at their keyboards and producing tons of code. Is it good? Is it bad? We can’t really tell.

I realized that the LOC metric is too simplistic to be taken seriously. We may have a lot of code in our project, but we have to make sure it’s of good quality. One that is easily maintainable in the short and in the long term.

Obviously simply measuring the amount of code produced in a project is not enough to attest functionality, design and quality.
For example, it is very important to measure the number of tests covering the production code. We also need to take into account the type of tests that are created and their effect. Obviously, in complex products/projects, unit tests cannot guarantee quality. Unit tests when written well, verify functionality at the component level. But it is also very important to make sure other aspects of the code base are sufficiently covered. I would add metrics of integration, concurrency, load, soak and durability as the minimal set of tests in addition to unit tests.

I know that it takes a lot from an organization to be able to map all these metrics. We all understand that building a picture that reflects all of these aspects is very difficult.

Another view that is mandatory for products is to make sure all tests are run equally on all supported platforms: hardware, operating systems, JVM vendors and JRE versions and so on. Obviously to achieve this level of quality and coverage a serious development organization needs to invest heavily in setting up quality control tools, methodology and discipline.

Now to the last step, which is equally important. A product is never complete until it’s “real” users provide their feedback on the functionality and the level of maturity. The large enterprises tend to release this through beta programs. This is a very good approach; it enables companies to keep close to the chest, through contracts, any knowledge of bugs that have not been discovered through the internal QA efforts.

Another approach, which we have been taking in GigaSpaces (starting with release 6.5), is to constantly release product milestones, and get feedback from all types of sources. Although sometimes nasty bugs that have not been identified by the team appear, I can attest that great feedback is coming in and the product is getting better faster. In addition, when a nasty bug is found by an early access user, obviously it is immediately fixed. More importantly, this bug exposes a black spot on the dev/qa process; a black spot that can immediately be identified and fixed. The result: these types of bugs are eliminated from the release process.

Next in this series – Counting Bugs…

Looking forward to your comments,
Guy

Linear Scalability Does Exist, Ted

April 27th, 2008

I enjoyed reading Ted Dziuba’s I’m Going to Scale My Foot Up Your Ass, I really did. I like the ‘tude and I like the style of writing. Reminiscent of the BileBlog (RIP), which some of my colleagues think is…

Intro to GigaSpaces Webinar

April 27th, 2008

On Wednesday, April 30, at 12:00 PM EDT, Owen Taylor , famed GigaSpaces evangelist and world-renowned speaker and writer, will be presenting an introduction to GigaSpaces over the Web. The presentation is targeted mainly at developers, but others may find it useful as well. To register and participate go to this link .
As of the [...]

Is Cloud Computing on the Horizon for Enterprise Customers?

April 25th, 2008

There is an ongoing debate in the industry, in the blogosphere, and frankly, internally at GigaSpaces, on whether or not cloud computing is anywhere near becoming a viable business offering for enterprise customers. First, a general comment on these types…

Integrating GigaSpaces persistency service into an existing tier based system

April 23rd, 2008

A common issue I’m facing recently is how to integrate existing tier based applications with GigaSpaces persistency service, AKA persistency as a service (Paas) or mirror . The motivation is often a result of the acknowledgment that a standard tier based application fails to scale when facing the database throughput limitation.
Software Caching technologies (overlooking their [...]

GigaSpaces, Microsoft and Lab49 Event: Excel That Scales

April 23rd, 2008

On Wednesday, May 7, 2008, between 8:30 Am and 11:00 AM ET, GigaSpaces, jointly with Microsoft and Lab49 , will be hosting an Executive Breakfast Seminar, entitled Excel that Scales - High Performance Excel Applications for Traders and Analysts in Financial Services. The event will be held at the Microsoft offices in NYC (Radio City [...]

Subscribe to GigaSpaces Podcasts

April 23rd, 2008

Owen Taylor, GigaSpaces Sr. Director of Technical Communications, produced a series of podcasts with various folks from the GigaSpaces team. You can find these podcasts on the GigaSpaces web site here . You can also subscribe to them in iTunes by clicking on the Podcast logo below.

The podcasts give you the inside scoop on [...]

Moving Back

April 22nd, 2008

Well, I am moving back to GigaSpaces. After a short two weeks I simply felt that something was missing (which has nothing to do with the new workplace). The people and the technology (which I have been doing for such a long time) were simply things that I could not leave behind. Anyhow, back to [...]

GigaSpaces Dashboard Using Hyperic plugin

April 21st, 2008

Alexey Kharlamov created a project that implements a Hyperic plugin for GigaSpaces. It is available as an open source project on OpenSpaces.org. Hyperic is open source software for web infrastructure monitoring and management. Among its customers are Hi5 and Contegix….

Google App Engine - what about existing applications?

April 20th, 2008

Recently, Google announced Google App Engine, another announcement in the rapidly growing world of cloud computing. The announcement led to an interesting discussion on InfoQ, which included topics such as which applications are appropriate for the cloud and issues of…

Next Page »