Is Quality Assurance agile?

February 16, 2010 by banovotz

Developer’s pet in wonderland

photo by Gideon Is there a real business plan or not, when a software project is started it is known to everyone who participate in it that it would eventually become a product. It would not always be developer’s pet – it will become real thing used in real world by real users. It will also gather some new people who will work on it and think of it as their pet. I am talking about sales department, product marketing but also configuration management, documentation team, support, integration teams but also quality assurance team. Some of software vendors, especially smalls, does not have all those teams, but essentially all vendors, even startup teams are profiling different roles of people which respectively works on development, configuration management, marketing, customer support… But those are all inside guys, and when outside guys – users and customers – are getting their hands on product, product becomes a real thing and in real world, wishes of users does not always reflects wishes of company which is developing the product.

Because quality is not only matter of standards but also a matter of perspective, in a software project – especially if it is a startup – QA engagement becomes more important when real customers start to make business with it.

More quality to some, more complication to other

All of these aforementioned groups of people can have different perspective on what comprises quality of a product.

Lot of new features and new versions will make developers busy and their managers happy but integration and documentation teams will have headaches. Myriad of customizing options will make techie users happy but businesses (customers) suffer if average user cannot figure out how to use the software. If product became too bloated by constant patching delivered too early to satisfy unforeseen requirements by customers and marketers push, end users will be unsatisfied.

So, what means more quality to some, for other it means more complication. Do you remember the user’s boycott when Twitter people proudly introduced “powerful” retweet feature? According to lot of seasoned Tweeterers, it turned out that new feature did not reflect user wishes. Why? It simply differed a lot from common understanding of what retweet means. Method of discovering this is called heuristic analysis. Users does not need to know the fancy name, but are mostly doing heuristics analysis when are introduced to new features. They are deciding is the software with new feature remaining consistent with its history, comparative products, intended use and so on.

Agility of Quality Assurance

In order do avoid discontent among users of certain software product, Quality Assurance team plays key role. Those guys are there to conduct tests and analysis of product but most important, to act and think of software as real end users, to anticipate their wishes and become to know their common ways of doing things and asses the odds of new features in product to become something users will use and love or avoid and nag about. Their job is to establish a bridge between different kind of people which are taking part in forming software product and contribute in providing information which will help making software product the right thing for them all.

All those activities of Quality Assurance team, if performed in outlined intense, is in essence agile.  Following dry and non communicated but well documented process where requirements are lost behind abstract phrases  is not as important as people who develop and use the software.  Quality Assurance watch for individual needs and make response to change easier to development seeking results wich will satisfy end users and customers while keeping the product developer’s pet.

Software testing adds a value to software

January 21, 2010 by banovotz

What software testing is not?

Every now and then in my daily work I recall  wrong definitions of software testing and it’s purpose which  Glenford J. Myers used  to  prologue the chapter “The Psychology of  Testing” test purposein his great book The Art Of Software testing . Here are those bad definitions:

“Testing is the process of demonstrating that errors are not present.”

“The purpose of testing is to show that a program performs its intended functions correctly.”

“Testing is the process of establishing confidence that a program does what it is supposed to do.”

I met lot of software testers, not to mention software developers or project leaders and product managers which would say the similar definition if someone ask them to define software testing. When young and inexperienced tester step into a project to do the testing it is very likely she would get an impression that this would be her job -  to prove that software under test has no flaws and to confirm that it works correctly and as expected.

There is at least one wrong thing in that assumption.  The wrong thing with this assumption is that it considers software testing to be a burden not a value to the project. Instead of trying to prove the program works perfectly, testers should focus on finding defects in the program in order to improve it. They should work on finding as many defect as they can by presuming there are lot of defects which ought to be discovered.

What software testing is?

So, what is the good definition of software testing? We can start with this one, borrowed from the same book we quoted already,  “Testing is the process of executing a program with the intent of finding errors.” The subtle difference in approach leaves us so much more space in our field of operation as software testers. But, if we step even more further and, with another great author – Cem Kaner,    define software testing “as process of finding and exposing quality related information to clients”, software testing becomes an activity which brings value to the product as a whole.

If we want software testers to do that – expose quality information – then we want those guys to do much harder work than pure bug hunting is. They are key people on the project for finding problems which can strike the business based on the software under test. Pointing to things which can be changed to improve user experience and usability, becoming to know the product and it’s intended users and purpose are some aspects of the job software testers should do on daily basis. Doing that, testers are not acting as easily replaced mechanical dummies which are there only to prove  product is fine, but as people in charge to discover how to put things in order and contribute to product ’s fineness.

Say hello to our new team members

December 26, 2009 by Viktor

Nine years ago I worked on cutting edge projects for PalmOS and WinCE. Time had passed by but I still find it hard to be excited about new device like I was about my new Handspring Visor. At the time Palm had hold 95% of the market and it looked like it never will stop dominating handheld and smartphone market. But in only couple of years it lost almost all the fame in race with Windows Mobile and since than struggled to survive.

Right now things are again changing lightning fast, iPhone and Android are about to conquer the world and penetrations of smartphones is growing rapidly. My wish is coming true and we can make a living out of mobile/smartphone software development.

In last couple of months we’ve experienced strong demand for mobile apps development. iPhone is definitely most wanted but lately we are starting WebOs and Android development as well.

So going beyond buying tons of newest phones on the market, we thought that it might be a good idea to add some human intelligence to the team :). Saying that, let me introduce you to new members and pillions of our mobile development team Viktor and Ivan.


Viktor Brešan is developer with many years of experience in software development, wide range of knowledge and also a founder of couple of interesting web projects, Lociraj.net i moja-lova.com. He also participated in development of famous augmented reality application Layar. In Five Minutes he will work mainly on development of J2ME and Android apps.


Ivan Galić is known to iPhone development community in Croatia as a guy behind couple of iPhone games developed in last two years. Ivan is still studying on FER but his skils and working habbits are comparable to senior developer. With Ivan our iPhone development had grown to three developers in only six months.

All together there is now six mobile developers and we cover all major platforms like J2ME, Blackberry, Android, WebOs,  and of course the king himself, iPhoneOS, which is in my opinion only a very good ripoff of good old PalmOs placed to the market at right time J. Disclosure: I’m emotionally attached to my Palm and still keeping it in the box under the bed. Nothing will ever again be good enough :).

ShoutEm at Seedsummit

December 13, 2009 by Viktor

Day after LeWeb in Paris there was a really nice event organized by Seedcamp in London called SeedSummit. Sasa and I took an opportunity and went to London couple of days earlier to attend meetings with potential customers, VC’s etc… I will tell you more about that, when it is closed. This is all you get for now :)

Those were the great three days, full of meetings and afterwork partying :).  In between all that we accidentally bumped into world premiere of Cameron’s Avatar as well. I will never understand how Londoners manage their private lives.

Here is a short overview of Seedcamp summit on ShoutEm blog. At Techcrunch Uk you can read thoughts from investors who’ve been there.

Software test help customers tell their story

December 6, 2009 by banovotz

User stories

Lately, in software development lifecycle, vastly formalized requirement documents are being replaced by more agile, so called “user stories” which are actually short software requirements formulated in users own words. User stories are created by the customer or it’s representative preferably in the meeting with developer. User stories should be short and have in focus only one aspect of the software which is to be designed.  For example:

  • "As a user I shall have a profile which I can edit."
  • "User profile is consistent of Name, Email, Location, Title, Homepage"

Easy and clean.  Both developer and user can reformulate the user story until agreed. But, problem can occur with interpretation of the user story.  Let say developer took the profile shall be editable in this way:

user profile edit 1

But customer had in mind something more traditional, with only one link to “edit my profile” which then look like this:

user profile edit 2

So, user was not satisfied with the implementation. Comic artist draw this to depict whereabouts of this process in funny way:

comic

Who knows is it a accidentally or with purpose, but on comic above there are no software testers mentioned.  And if quality assurance is taken seriously in product development,  those are the guys which can help the product is building right.

Acceptance test

Luckily enough for end users, there is a way out of the mess depicted in the comic. One way we already outlined at the start. Monolithic requirement specification documents we replaced by user stories which mean we will discover problems much earlier. However, process of developing software cannot live solely on user stories. Many of us read some book before watched the movie based on that book. From each reader perspective some movies got the book just right and some not. Why? How to escape that in our user stories case? Easily.  Each user story has to have its Acceptance test. Acceptance tests are ideally written by the customers representative and software tester. Those tests are high level test which test completness of the user story.

Traditionally, acceptance tests are considered to be the final barrier of quality assurance before the product ship. However, in agile way of developing software, features are implemented rapidly so battle on this barrier is fought more intensive than in traditional software development models. This battle with defects, misinterpreted features, tight release schedule and big quality demands are fought every day by software testers.

First impressions of new Android phone, HTC Hero

December 2, 2009 by kalabic

HTC HeroHTC Hero is my first Android phone and I’m using it for a month now. First minute impressions were very good and that is mostly because of its user-interface, the latest version of HTC Sense™ and applications that are bundled with it. Looking from the outside, device itself looks very nice but still not that elegant like an iPhone:

  • Front side has a trackball and six buttons (‘Call’, ‘Home’, ‘Menu’, ‘End call’/’Lock screen’, ‘Search’ and ‘Back’). This makes it look a bit geeky with too many hardware buttons in my opinion. Some other Android devices have just three of them (‘Menu’, ‘Home’ and ‘Back’).
  • Up top there’s a 3.5mm headphones socket and at the base it has the ExtUSB port which is compatible with standard mini-USB. No complains here. And yes, it will recharge the battery when connected to computer with USB cable.
  • Left side has volume controls and on the back there’s the 5-megapixel autofocus camera. There’s no flash and no dedicated camera button.
  • To access microSD card it is necessary to remove back cover.

It is instantly usable as a social-network client since it comes with preinstalled Twitter application and Facebook bookmark in the Browser. There are handy shortcuts to them right on the homescreen in the shape of pretty looking widgets. The homescreen has seven panes and you can switch between them with a horizontal swipe across the touchscreen in either direction, or using the trackball. To add even more flexibility and space to the homescreen, HTC has created ‘Scenes’. ‘Scenes’ allow multiple homescreen layouts which will be used to differentiate between workday, social use, travel, etc.

Since I was new to Android and Sense™ user interface, it at first impressed me with its smooth user interface. Then there was a period of confusion in managing applications while I was learning my way around Android system because I was new to it. That didn’t last long and now I can certainly say it is an excellent smartphone with very modern user interface and operating system. Android application store is now offering paid and free applications and it had around 5,000 items in May this year. And it is growing strong, very probably passing 10,000 mark by end of this year.

You can read detailed reviews of it here:

TMT.Ventures’08 Zagreb

October 16, 2008 by Viktor

Ok here are some good news.

ShoutEm is selected into 7 minutes competition at  TMT.Ventures’08 Zagreb. FIve companies are selected from 35 companies. That’s what I’ve heard.

In the mean you can apply for our private beta testing at www.shoutem.com.

Next week we are at Web 2.0 Expo in Berlin so you can meet us there if you want short demo of ShoutEm.

See you,

Viktor

Berlin Web 2.0 Expo

September 9, 2008 by Viktor

ShoutEm team will go for a group visit to Web 2.0 Expo in Berlin. It is a famous O’Reilly’s conference which takes place in New York, San Francisco, Tokyio and Berlin.

I guess that all European geeks will be hanging around. Nicole Simon had posted some info on other events taking place around Web 2.0 Expo. It seems that it will be very exciting during those days in Berlin.

Few of those:

I’m really looking forward meeting German geeks. I heard that Berlin is really a hot spot and that there is lot of interesting startups. we already met guys from aka-aki at Mobile 2.0 in Barcelona.

In the mean time read some interesting links that Zemanta suggest to me while writing this :)

Reblog this post [with Zemanta]

Visit to Slovenia and Seedcamp news

August 27, 2008 by Viktor

Well, we went for a Short visit to Slovenia. To meet Andrej from Noovo, guys from Zemanta and friends we met at business angles in Ljubljana Sosed.

Andrey show us Noovo in action and I really like what I have seen. Lot of features and pretty inovative stuff. I like those news agregation services because it is already very hard to follow all that infrmation and it will become harder and harder. Company which can provide best software for that purpose will be very sucesfull. I just hope that it wont be Google or some other large rotten company.

Also we have heard lot of first hand experience of doing business in Palo Alto. Pretty interesting stuff. Good luck to Andrey.

Zemanta guys are young full of energy. We have heard a lot from them about their technology etc… They develop mostly in Python. My favorite language :). They have a long road to go yet. But it seems that bloggers are adopting their plugin a lot.

And finnaly Sosed. Well these guys impressed us with knowledge and enthusiasm. That was the highlight of the day. The way how they pulled of Sosed business is quite impressive. Sosed is a service where you can get your computer fixed at home at no time. Nothing revolutionary but very very usefull :). They have applied all those Seth Godin tricks in promoting their busines, that we all have read.

And with Sosed we are considering few business options. So we will se what will happen out of it.

And at the end for your info we have not been shortlisted in Seedcamp. But that will not stop us. We are 100% sure about ShoutEm sucess. And all that good feedback so far keep us motivating. We will get more feedback from Seedcamo too. But I guess that competition was really tough.

See you all, stay tuned.

Yahoo Fire Eagle

August 14, 2008 by Viktor

We did small research on Fire Eagle. It is a great service with really cool features. I was so excited about retrieving location via cell tower id. It feels so great that you can avoid any business with mobile operator.

However we have tested it in Zagreb and it does not have info on our cell tower ids. I guess thay need some time to gather data about it first.

Second thing is that you cannot use it as a white label API but your users have to have account on Yahoo FIre Eagle and let you use their data. I think that we will support that in Shout’Em but besides that we will use their geocoding and zonetag services internally for users which does not have Yahoo accounts.