Friday, October 29, 2010

Review - ALM Expo 2010 - Online conference for ALM

I recently attended this online conference (Oct 26-28, 2010). It was a three day conference on ALM, Cloud and Agile. To know more about the conference or view their pre-recorded session visit
http://www.cmcrossroads.com/alm-expo

Day 1 was focused on ALM. Absolutely great for people like me who know where little about ALM or what the new trends are. Cloud is here to stay and Application Life cycle Management is a key element to be successful in the cloud. You can go back and listen to the sessions. The Keynote speaker and then the discussion that followed were really informative.

Day 2 focused on Agile (my favorite part of the whole conference). I got a second chance to listen to Jeffrey Fredrick. Again the keynote discussion was good. Had some good polls during the sessions.

Day 3 focused on Cloud. These sessions tied the other two days together. It helped put the three (Agile, ALM and cloud) in perspective and how they are interconnected.

They had a scavenger hunt all three days for some reason I could not find the questions as per the instructions. I wish there was someone to help with that.

Wednesday, October 20, 2010

My Take: Agile Comes to You (Minneapolis Seminar)

I was at the Agile Comes to You conference on Oct 19th 2010. It was a good place to learn about agile if you have not heard about it yet. A place to learn more if you are just learning about agile or are in the initial stages of implementing agile. Its also a good place for people who are already into agile and just want tips and tricks. The session was from 9 am to about 2:30 pm and included breakfast and lunch.

The keynote speaker David Hussman from DevJam was really good. His dude's law on value/how/why was simple thinking. He could as well call it common sense law or people's law and really it applies to IT or software development in general. You don't have to be agile to follow it. He focused on test driven development and talked about how agile and test driven development go hand in hand. His theory on simple-complicated-complex was really interesting. If you do get a chance to listen to him, please do so. You can find more about him at DevJam.

Michael Johnson from Make Music Inc spoke about how his company adopted agile successfully. He talked about how not everyone was into agile but once they saw the value it was easy to get them all to be as excited as others.

James Talbott from AccuRev talked about Agile Workflow Economic Management - his focus was on what is the outcome instead of the how or efficiency. His analogy using football was really good - end of the day its the score not the yardage that counts. So true.

Jeffrey Fredrick from AnthillPro talked about The Co-Evolution of Continuous Integration and Agile. His checklist manifesto was really interesting. He talked about having simple processes in complex environments. He talked about how people matter more than anything.

There were product demos in the end. It was nice to see some tools that support Agile: Rally, AccuRev and AnthillPro.

Sunday, October 17, 2010

My Take: TCQAA Meeting and presentation: Speaker Alex Dietz

Twin City Quality Assurance Association is a local non-profit organization and is the networking place for software testers in the Twin Cities (Minnesota). To know more about the organization visit TCQAA website. I and my colleague recently decided to drop in at their monthly meeting. I looked up their website to see the presentation topic.

Speaker: Alex Dietz
Topic: Principles of Software Verification and Validation for Medical Imaging.

I went to the meeting thinking there is nothing I learn about Medical Imaging that I would be able to use for testing in the financial industry. I am glad I was proved wrong. I went in to learn about an industry that I was curious about and have never been involved in. The speaker was very engaging, humorous and lively. Though his focus was on testing software-heavy medical imaging system, his approach for verification and validation can be applied to any industry. He talked about risk based testing and involving end users (doctors or medical specialist) to test. He also focused on reducing errors that are caused due to human errors to compensate for errors caused during the creation of the image.
I learnt a new word too: phantom. No, not the comic we read years ago. These are medical images that are used for testing. Look them up and you will find a lot of interesting information.

There were some good discussion in the end during the Q&A on the trends and problems medical industry faces. He talked about issues related to storing millions of images, sharing information between hospitals and doctors and network issues that this industry depends on for storing and sharing information.

You can find the abstract of his presentation at TCQAA events page.
_______________________________________________________________

Few other benefits:
If you are looking to network or are looking for job openings, TCQAA meetings are a good place to start. There were several recruiters there at the meeting who talked about Software testing jobs in and around the twin cities.

I also met an ex-colleague of mine after several years. This is also a place where you meet other software testers and can learn/share information.

Who can say no to coffee and cookies right. So do drop in when you can to attend their meeting.

Thursday, October 14, 2010

Cloud Computing 101

For weeks now I receive at least one email everyday mentioning cloud computing. I was curious but not motivated to find out more. Finally seeing a flurry of tweets I decided to look this up. I went into it thinking its a product that is being marketed hard and fast.

I was so wrong (ya a true duh moment) and not alone in the "I don't know what cloud computing is?".  VerizonOne survey IT professional in 2009 and revealed that 41% of senior IT professionals admitted they didn't know about cloud computing. I am sure this number has decreased since then. Compute world predicts this as one of the trends with the most promise in 2011.

What is cloud computing?
Cloud computing from what I understand is Internet based computing technology that uses Internet and remote servers for data and applications. Users (consumers and businesses) can use applications from any computer through the Internet on demand. This is the new buzz and is being forecast as the next big thing in the technology industry. Cloud gives the opportunity for collaboration without boundaries. Companies can increase capacity without investing a lot in infrastructure. More and more companies will jump into this bandwagon and will promote integration of services across borders. Services can be offered as software (SaaS - software as service), platform (PaaS - platform as service) or as infrastructure (IaaS - Infrastructure as a service).
 
Who is in the cloud?
Google
Microsoft
Hewlett Packard
IBM
Salesforce
Amazon

Why it works?
  • User really does not have to know the technology behind the services
  • Can be used by anyone over the Internet from anywhere
  • Low cost when compared to owning the infrastructure in house
  • Maintenance is easier since its not installed locally in each user's computer.
What are some concerns?
  • Dependency on the Internet
  • Loss of privacy (providers can monitor or control the services)
  • Compliance to regulations (more expenses involved when trying to be compliant with regulations)
  • Security when its being managed over the network or outside infrastructure
Where can I get more information?
Bird-watching in the cloud
What is cloud computing?
InfoWorld
IBM

(Please note this is based on what I learnt in the last few days out of curisoity. This is not everything about cloud ... just a short intro.)

Monday, October 11, 2010

IT Knowledge Exchange

A great site for getting answers to your technical and non- technical questions.
http://itknowledgeexchange.techtarget.com

You can ask questions or answer questions. Its for both learning and sharing knowledge.

Thursday, October 7, 2010

Its Complicated!

Its complicated! Nope not the movie but everything else I guess.

I was talking to a lady at the bus stop this morning about how even simple things like the cell phone is now complicated. How some people over-complicate even the simplest processes and how we like to add arms and legs to something that probably is like a one cell organism or simpler.

Is it the curse of the new technology? Is it the expectations that people have from things? Does complexity add value?

Stanton Champion recently wrote We Really, Really Like Feature Bloat (UTest) where he talks about how we want the coolest features over simplicity. When a customer is out there looking to buy a computer, laptop, phone, Internet connection, cable TV, phone services, they really are looking for what all can they get for the money they pay. What are the coolest features out there, what is the latest model, will I get more if I spend a more.

Technology is getting outdated at a faster rate than it used to a decade or so ago. Couple of years ago when you buy a phone, computer or even take television, you would think of long term use of that product, something that lasted forever (well almost forever). But today its not about long term, its about what all is available (features, uses, how latest is the technology) and how fast or cool it is. People buy it with the notion of replacing it a few years or even months down the line.

Don Norman talks about this in his article on Simplicity is Highly Overrated. He talks about how people want more (complex) features for more money. If we look at this closer it does make a lot of sense. Customers pay more when they think they are getting more: more as in more features, complex features, latest technology, more settings, more applications, etc.

Or is complexity really a perception. Do some people really find latest technology to be less complicated than others? My 10 year old son knows more about my cell phone than I do. I go to him for help with settings or to learn about the new features and applications. So for one its real simple and to the other its real complicated. Who defines complexity? Does the 80-20 rule apply here? If 80% of people use a feature then that feature is simple. If less than 20% people use a feature does it mean its harder or more complex?

I think complexity can be attributed to perception to some extend. Once my son shows me how to use a feature in my phone and once I start using it I am more comfortable with it. My perception of how complex it used to be changes. Does familiarity breed simplicity?

Joel Spolsky on the other end talks about how simplicity actually complicates product development and creates ambiguity. People want simple but with everything else along with it. When designing a product we like to think we are making a simple and easy solution, then we add to it all the features that we think the customers want, then add everything that the competition has, then add something extra to make it cool or stand out. What do we have here? I don't think its simple for sure.

What does all this mean to software development and marketing? Well it means managing perception and adding value so we have happy customers. Happy customers make happy companies and happy employees.

Friday, October 1, 2010

Web-Based Applications - Emerging Trends and Challenges for Testing

With the rise of Internet, there is a rise of web applications. Applications that were previously installed in personal computers or specialized labs are now accessible through the Internet. With this emerging trend, testers also have to keep up with the changes and learn to adapt to work with the challenges of web application testing. The end result of testing for traditional application or web application may be similar (the application meets the requirements, has no critical bugs and meets the business and customer needs) but the means to get there may not be the same. The traditional testing methodologies have to be modified and adapted to the new technological demands.
Some reasons as to why web application are more challenging
  1. More concurrent users than traditional client servers or standalone (load testing and performance comes into play)
  2. Users spread all around the world (cannot test from every country or even states in US)
  3. Users may have a different platform or environment that they are using to access the web application (may not be possible to test all the permutations and combinations)
  4. More components and technologies are involved when developing these applications, third party tools, COTS or in house built from scratch tools (more things happening in the back end that are not always in control when testing these environments)
  5. Less control over the test environment (its no long something that is installed on my computer where I can control most things happening in the environment)
What should testers do?
  1. Keep up with technology, learn as much as they can about the technology that is being adopted for their applications be it third party tools or something that is built in house from scratch.
  2. Be ready to adapt to the technology - traditional methods may not work as successfully and testers have to be open to work with technology.
  3. Talk to developers about technology and try to understand the back end/UI/Network, etc as best as possible.
  4. Focus on the weaknesses of web applications and try to capture issues in those areas as early as possible e.g. security, network, connectivity, firewalls, etc.
Steps for testing web applications
  1. Understand the design - its important to understand all the components involved here like where is the application hosted, how is it connected, is it thin or thick client, are any of the components installed in the local machines, etc. Understanding how the components work with each other will also help with planning.
  2. Test Planning - Document the plan well and involve developers, architects and security team so that the appropriate risks can be documented and discussed well in advance. Also planning for test environments that mirror production is important. Talk to customers if necessary to see if there are additional network firewalls or settings that you would need to work with during testing.
  3. Testing - Test as close to how the customers would be using the system. Get customers involved if its possible or else plan for user acceptance testing. Define the level of testing ahead of time and get your team involved in this.
Testing web application is challenging and test leads have to be well prepared to face technology and its challenges.