The importance of 24×7 automation in your quality assurance process

dnaI was in a discussion the other day about automation, which in itself is an extremely broad term, but we were talking around quality assurance and the importance of having some kind of automated process when the “product” was ready. Whether this be spreadsheets, reports, commercial products, applications, system builds, etc. At some level you should have automation to verify that at least at a high level the product is consumable.

Test driven development and agile development have played a huge role in the quality of software over the past 10 years and it shocks me to know companies are simply not doing this today.

My side of the discussion was around the work I did when I joined Iris Associates – which changed to Lotus, then ultimately to IBM Collaboration Solutions. While this was around software quality, the story I was in discussion about was data integrity in spreadsheets. We had several layers of automation following a build. Once the build completed (on five different platforms) a series of automated tests were run for build verification. Once the automated tests ran there were some manual tests run if the automated tests had passed. We then had what we called “automated system tests”, also known as DNA (Domino Notes Automation). These tests were much more functional in nature and not at a single API level. So you can imagine these tests using many (if not hundreds or thousands of API’s) to complete what would normally be done by a human. I remember talking to a QA person about automating Event Admin (a Domino Server feature) and he said the hundred or so tests run by DNA would take me three months to do manually – and DNA did it in about 20 minutes – every day, on every build, on every platform. At the end of the day, and I am not sure of the exact number, but there were literally 10’s of thousands of tests run every single day on almost every single supported platform for both client and server. The results of the tests were of course published to a Lotus Notes database and notification emails were generated.

Why is this important?

So on any given day you could see exactly what and who broke the build. This was a huge leap forward in terms of quality because you no longer introduce a problem into the build and find out two months later during feature testing or even worse after the code is shipped. Resolution was often fast because we could isolate the exact submitted code from the ClearCase source control system.

Having a “clean” build meant any developer could synchronize the latest binaries and start work on “the next thing”. This allowed over 1200 developers to not be dependent on a single build model. A single build model is, we do builds on Fridays. That would mean if you wanted to start working on “the latest code” you would have to wait until Friday or use last Friday’s build. Over time this could kill a development cycle, especially if Friday’s build was bad. And remember, if you do builds once a week that’s 1200 developers checking code in every day – unchecked. By the time Friday roles around you may have merge conflicts and even worse – run time conflicts.

Today, much of this is done in the form of Unit Tests – like JUnit or our custom internal unit test suite called DLLTest for C/C++. Many members on my team had patents around this process and some of the small utilities we wrote in order to accomplish this. See below for the two patents I received for my automation work.

Patent References: (patent profile)

2006/0070,034 2006 System and method for creating and restoring a test environment
2005/0289,517 2005 System and methods for client and template validation
Advertisements

Will Java 8 bring in OSGI?

One of the big moves in the industry is to the cloud and many have already begun talking about what will the cloud mean to Java. As outlined in Joab Jacksons article about Java 8, Java 8 gears up for the cloud, making Java modular is a must have. As many IBM server technologies like Notes Domino and the Notes client already have OSGI built into their stack, this would be a great move if Java 8 included OSGI.

One effort, Project Jigsaw, has been working on this goal. When Sun Microsystems controlled Java (Oracle purchased Sun in 2010), that company’s engineers preferred Jigsaw over another approach, OSGi (Open Services Gateway initiative), overseen by the OSGI initiative.

White Paper: Leveraging Lotus Notes for Better Project Collaboration

image by: Alen Lepofsky

If only everyone understood the power of Lotus Notes. Neil clearly does and outlines it very well in this white paper:

 

Project Management Duly Noted: Leveraging Lotus Notes for Better Project Collaboration

By: Neil Stolovitsky

Abstract:

For many knowledge workers, Lotus Notes is the lifeline to their team members, supervisors and clients. Unfortunately, in many cases Lotus notes is not utilized to its fullest potential beyond the use of email and calendaring. For those working in a Lotus Notes environment, the powerful collaboration capabilities, the sharing of documents and the simple extension of composite applications are never fully realized. In addition, the online and offline capabilities unique to Lotus Notes are not fully benefited by its users.

For the project management professional, when effectively implemented, the Lotus Notes platform can be the ideal environment to roll out an effective project management governance framework that will drive better results, increase visibility and provide a more collaborative environment among its project stakeholders.

In this paper, I will be highlighting how project management organizations can get the most out of their Lotus Notes investment.

To download the white paper:
http://www.geniusinside.com/files/WhitePaper/WP-LeveragingLotusNotesforBetterProjectCollaboration.pdf

Are you an IBM Champion?

I really think this program is awesome as I know so many champions across the IBM product lines I can not possibly list them all here. There are developer blogs, admin blogs, design blogs, and general user blogs that hit just about every piece of IBM software and hardware. I think many times we forget why people blog, it may be a piece of narcissism or just plain old trying to spread the word about things they are passionate about. The bottom line is it is all good for IBM and all of the Tweets, links, and blog entries simply help the IBM community and its brand.

Continue reading

Deploying Domino Apps into the cloud

Outside of the fact he spelled “customers” wrong in the quote below, Rick Whiting has a pretty nice article on cloud deployment.

Cutomers can deploy their Lotus Domino applications on SmartCloud Enterprise via the Lotus Domino Utility Server for LotusLive, including e-mail, social business and third-party applications, IBM said. Starting in the third quarter IBM will also offer its SAP Managed Application Services through SmartCloud.

Coding in the cloud is everywhere

As you might have been reading on this blog I created the site PlanetWebSphere.net and the site is based on Drupal 7. The exercise was for me to learn Drupal. What I really didn’t go into was how easy this site was to produce and how it was produced. In Drupal they introduced a concept call Views where you can create basically any block with text, html, or PHP. In PHP mode you have total access to the entire Drupal API including things like module, hooks, and database API’s. The screen shot on the right is actually a custom content view where you can simply write any PHP.That is the exact code I wrote for the left panel of “Feeds”.

Continue reading

EGit for Domino Designer

Leave it to Nathan Freeman to modify the EGit and get it working for Eclipse 3.4 so Domino Designer can use it. He has already created an open source project on OpenNTF for the cause. Great job Nathan!

Well, the beauty of open source is that if you don’t like what you get, you can fix it. So I did. – link

 

Is the battle of the future with Orion?

Orion is a constellation located on the celestial equator that you can easily see from the Northern hemisphere.

It is also an awesome Eclipse project that just opened up its own blog so you can follow the news for the project. I eluded to the Domino Designer being a 100% web based developer tool before and as Orion matures it is becoming more and more possible. Could Designer on the cloud let Lotus developers compete with the likes of salesforce.com? I don’t know but the concepts of web based development or even web based rich applications is becoming more real today then ever before.

Orion is a proposed new open source project under the Eclipse top-level project. The project is currently in the Pre-Proposal phase. To facilitate gathering of a community for this new project, an initial code contribution has been made within the E4 incubator.

Is there a web based Domino Designer in our future?

Would be interesting…link.

“Orion is essentially an effort to move software development to the Web as a Web experience,” Mike Milinkovich said.