post

How gamification in software testing can boost your software quality?

I have been working as a software tester, developer and manager for years. Serving organisation from multinational company to small tech startup. Regardless of what kind of organisation that I work in, we love to apply gamification in software testing.

We did it by hosting internal software test campaign after our product code complete. Within the time frame, we encourage developers to find each other’s bug and publish the scoreboard result daily. The score is based on evaluation of the quality of the bug that they found. For example, critical bug weights more points than less important bug. At the end of the campaign, we’ll reward those with most points. To me, if applying gamification in software testing correctly, it can bring more value than damage. Below are the three main reasons why we love gamification in software testing:

1. It is a cost effective way to increase product quality

Other than having the developer to test his own code, there are a few other options to do more testing:
A) Hire more internal software testers
B) Outsource software testing to professional firm
C) Crowdsourced software testing to freelancer around the world
These are some good options, however they might cost a lot, especially obvious to a small company. By applying gamification in internal software test campaign, you can increase your software quality by just rewarding a few top performers. It doesn’t sound cool, but it helps.

2. It motivates your team to produce better quality work

When gamification in software testing becomes a usual practice in your organisation, developers know that the result will be published to everyone else during the campaign. If they produce crappy code with lots of bugs, very likely their name will be shown as one of the top bug producers. With that, every time when they try to go with an easier path and write crappy codes, they’ll think twice. This helps to guide them to become a better and more responsible software developer.

3. It is fun

Software development and testing can be boring if we repeat the same routine again and again. So why not to make a fun game after coding complete? In order to make a test campaign fun, you need to be fair. You need to define the weight of different kind of bug differently. You need to set ranking for the different level (For example Godlike, Knight, Grown-Up, Baby), as a goal for participants to aim. You need to keep everyone updated on the status by publishing the result daily. At the end of the campaign, you need to reward the top performer publicly and make it a carnival. It can be fun and build up morale within your company.

Gamification in software testing definitely is not a replacement for all other software testing options. However, it can bring unique values and be part of your software testing strategy in your organisation. It might be a lot of work to evaluate and calculate all the scoreboard result manually. Because of that reason and we cannot find a tool that can apply gamification in software testing automatically, we’ve developed our own tool and share it to public. You can get more detail at http://get.bugmine.com.

I hope that you find this article useful and feel free to leave a comment to share your thought if you have any.


blog-writer-1
 
Kenaz has 10 years of software development and team management experience in Altera Penang and ICT startup – Dinomedia. He is the CEO & Co-Founder of Persizt Technology now.

Project Management and Development Methodology

In Persizt, we have been working on numerous different projects of varying scales and technology platforms. Depending on project scope and size, some of the bigger projects need detail planning and project management.

In this article, we will discuss standard project management and development methodology that we adhere to ensure a product of highest quality while meeting the project budget and deadline.

Pre-Sales Consultation

A project usually starts from some forms of enquiries and we will initiate some discussion with the client.

For certain project, client has detail requirement spec out. They already have screen design completed and done by professional graphic designer. Even so, after studying the requirement and design, we usually will discuss face-to-face with client to ensure we truly understand the business requirement and problem to solve. This is to make sure we are solving the correct problem using the correct solution, instead of blindly following the flow from client and facing serious problem of developing the wrong product down the road. Sometime, we might counter-propose a different flow, design or implementation to client.

Project Cost, Schedule and Quotation Preparation

We usually prepare a first rough quotation budget to client to sync up our expectation before engaging in a more detailed discussion and firm requirement specification discussion.

To estimate the cost, we perform both bottom up and top down schedules and try to achieve a balance between them. If the cmythicallient has a hard deadline, we will see how to schedule reasonable work in that schedule and discuss with the development team. Also, we breakdown requirement into detail to prepare a work breakdown structure (WBS). Adding up work day or hour required for each task would provide a total man-day/hour needed for the project to accurately estimate a project cost for client.

We will also perform a simulation of project resource allocation for the project to determine if we have the bandwidth and resources to complete the client project in the designated deadline. Depending on project complexity and technology platform used, we might assign a mixture of senior and/or junior engineers to the project. One thing to note is that, adding more people to a project would not necessarily guarantee a proportionate reduction of time due to the overhead of communication channel. This is clearly illustrated in the great software engineering masterpiece, The Mythical Man-Month.

If project cost is out of client budget, we usually will present the WBS to client and further discuss with them. As we strive to understand the client problem instead of blindly following the entire stack of feature request that they want, we usually would be able to propose alternative solution with lower cost and/or less features. We will propose a version that would still solve the client’s requirement by removing some fancy and unnecessary features. It’s also beneficial to the client for them to deliver a Minimal Viable Product (MVP) to the market first, then study the market response, feedback and steer the product accordingly. This would be better than investing a huge amount of budget and several man-months into a single product without getting any feedback.

In addition, we usually will propose the entire product to be broken down into several milestones with clearly-defined schedule and milestones. We practice agile development methodology in our development phase. Agile software development is set of software development methods that focus on adapting changes to to requirement flexibly in software development phase. In Persizt, we encourage frequent and face-to-face communication with the client and would greatly welcome a product owner appointed from client and communicate frequently with our project manager.

agile

We practice short development cycle (usually a few weeks up to 1 month tops). i.e. We architect and design our develop workflow to break down into several short period (up to 1 month), while being able to develop and present a workable and testable work-in-progress product for the client to test and feedback. A clear milestone deliverable and schedule will be defined. By the milestone delivery deadline, client will be able to test the product (website, apps or system) available in our test server. Certain test data will also be made available so that client can perform testing efficiently.

Through early milestone tests performed by client, they would be able to provide early feedback and requirement changes in early development stage so that the cost of change is low. Also, this would provide reassurance to client and both sides do not need to take high risk commitment (e.g. Client do not have to pay a large portion of project cost without seeing any thing being developed until the end of project development life cycle)

We also adopt other agile development practices such as code review, automated testing, continuous integration, code-refactoring etc.

Interface Design

We provide and handle interface design for the product as well. We usually start off by designing the flow in a series of wireframe mockup. We use Balsamiq Mockup extensively. The wireframe mockup is very rudimentary, as if sketching in restaurant napkin, intentionally. This is to help all parties to focus on content and interaction, not graphic design detail. This helps the design discussion iterates more frequently and discovers any user flow defect early.

balsamiq

Once the user flow and general design are approved, we will prepare a more detailed design. It would be prepared in Microsoft Powerpoint or Adobe Photoshop for discussion on graphic and theme design used.

Requirement Specification

With the detail design flow nailed down, we will also furnish a detailed requirement specification to client. The WBS should also be updated accordingly as well. With that, work would be assigned to engineers and development commences. We usually prepare our development schedule and WBS in Microsoft Project or Omniplan.

Development Status

During the development, task status in project plan would be updated accordingly as the work progresses. Client would be welcome to view and check the real-time status themselves too.

Change Control

Change is something inevitable in the most software projects. Things change in business environment. What’s more critical is how we manage it and keep the project stays on track and hopefully does not steer away from original timeline and budget drastically. Change request is usually submitted by client, formally or informally. We would appreciate as much detail as possible for the change requested.

In an outsourcing environment, we might not be in the position to question the validity or priority of a change, however, we usually will discuss and evaluate the change request with client. Sometime, when associate with a cost for the change, client might then reconsider the priority of the change.

From development standpoint, we do adhere to good development and coding practice to incorporate and reduce change cost in our code.

Issue Tracking

fogbugzWe have been using Asana currently and have previous first hand experience in Fogbugz as well. We track all our incoming bug reports in our bug tracking system, whether reported internally or externally (by client during milestone testing or User Acceptance Test or after product delivery). All reports are being recorded with detail steps to reproduce, priority, due date and assignee. They will be assigned and monitored by our project manager. Once they are fixed, test and pushed into releases, it will be closed and updated accordingly. This would assure accountability and efficient quality control monitoring.

Version Control & Build Management

Version control is the integral part of software configuration management. It is crucial in managing your source code systematically, even if your development team is little as one person. It provides a safety net for engineer to fall back, compare changes, debug on certain versions of source code.

In certain larger projects, we need to maintain several copies of different versions of the program as well. For example, one engineer develops and check-ins into main trunk for the main development task while another one working on fixes for soon-to-be release stabilised build or a patch build. This would prevent risky code that is not tested thoroughly going into build that is going to market soon.

Currently, we are using the distributed Git version control system, BitBucket and has previous experience in Perforce.

perforce bitbucket

Project Delivery and Testing

When the project is delivered (including milestone delivery), we provide a detailed Test Plan for client to perform testing. Certain test data would be prepared too. The project would be considered completed once it passes complete User Acceptance Test by client. We also provide a warranty period to cover any bugs and issues discovered.

Conclusion

In this article, we discuss project development process and tools used by us. We advocate on systematic project management and best software development practice to ensure we would be able to deliver a quality product within client budget and timeline.

Do Penang Hostel’s Owners Care About Their Online Presence?

Do-Penang-Hostels-Owners-Care-About-Their-Online-Presence

Recently we need to handle a software development project related to tourism in Penang. Part of the requirements need us to understand the online presence of hotel in Penang, in particular of those budget hotel or hostel. We’ve spent some time to research more than 100 budget hotels/hostels one-by-one and came out with some interesting statistic. Figure 1 shows a snapshot of our finding. We gather these data using data mining techniques with a combination of manual research effort.

hostel-research-xls

Figure 1: Snapshot of part of our finding

By interpreting these data, we can have a better understanding of Penang budget hotel/hostel online presence. One interesting finding we have is most of them are very proficient in utilising popular platform to promote their hostel (Refer Figure 2). Among these, the most popular platforms are Agoda and TripAdvisor. While Booking.com and Expedia seems like a bit less popular among Penang hostels.

hostel-online-presence

Figure 2: Hostel Online Presence (By %)

However, in terms of social network presence(Refer Figure 3, Figure 4), Penang hostels in general scores average. From our research, hostels which without a website, around 65% of them don’t even have Google+ profile (Did you just said “Who cares about Google+”? :P ). And around 50% of them do not have Facebook page setup. Well, this could be due to social network is not the main revenue generator for some small hostels and in general the priority is lower for them.

G+ Presence for Hostels Without Website

Figure 3: Google+ Presence for Hostel Without a Website

FB Presence for Hostels Without Website

Figure 4: Facebook Presence for Hostels Without a Website

In terms of online booking, among those which with a website online, around 52.9% of them provide online booking features to their visitors, while 47.1% of the rest are fully utilising other hotel listing sites (Like Agoda, Booking.com and others) to provide online booking.

Website That Support Booking

Figure 5: How Many Website Supports Online Booking?

Conclusion

In general, Penang budget hotel or hostel are doing quite well in their online presence. In terms of hotel listing platform, most of them prefer to use Agoda and TripAdvisor in contrast to Expedia and Booking.com as their marketing channel. In terms of social network, we can conclude that it is less priority for these hostel owners. Regarding website hotel booking feature, it shows that majority of them are taking this seriously.


Author

Persizt Technology is a Penang based software development house that deliver mobile apps, website and enterprise development solution to client. Find out more from our main page.

logo

Time Attendance Management System

Persizt Technology has recently launched a revamped Time Attendance Management System for it’s client, Intel Malaysia successfully.

The system is integrated to an access turnstile system and track the logged in/out time of the factory workers. The management can then assign and manage their direct reports’ shift and make informed business decision from numerous insightful reports and email notification.

The development ran for about half year and went live smoothly last month. As a result, Persizt Technology was rewarded with a 2nd stage continuos improvement contract.

post

Career & Lessons in Software Industry

Persizt Technology was proudly invited by Tunku Abdul Rahman University College to conduct a sharing, “Career & Lessons in Software Industry” with the students from the Information Technology and Computer Science courses on the IT industry and career prospective.

The talk is conducted by our co-founder, Mr Tay Shu Yih. It was held in TAR University College on 7th and 8th August and successfully drew a crowd of nearly 150 anticipated students.

Mr Tay shared some interesting projects from his over 10 years professional experience in the industry and showed the students how the subjects they are studying are utilised in the industry.

“Love it or leave it”, advised Mr Tay to the students. He urges the students determine if they truly have the true passion and interest required to succeed in IT and software industry.

Also, he reiterates that various software products are disrupting different industries and software professional are in high demand in the industry.

The engaging talk lasted for one and half hour and ended with numerous questions from the passionate students.

Contact us at info at persizt.com for any collaboration with your university or organisation.

post

MAD-SUN Challenge Competition

Persizt Technology has again snatch up another award in the MAD-SUN Challenge  competition held in Work Palette, Penang, last May with the innovative idea of Time Machine Locker.   

mad_sun_1

The MAD­-SUN pitching platform is created for early­ stage startups and entrepreneurs who have ideas, products, schemes, plans, designs and proposals but lack certain factors like seed funding, network and knowledge to accelerate their business. 

Start Up Nation (SUN) was established in 2011 with a focus on Investments, Acceleration, Social Impact, Digital Marketing, Consultancy and Web Communities. They are now operating in three countries in Asia and have successfully gained startup assets as well as extensive networks in 21 countries.

MAD Incubator is Malaysia’s largest private incubator and the country’s most active incubator. To-date, MAD has incubated more than 80 business ventures and is supporting more than 200 companies through its BizStart Programs. 

1798591_726028707418564_3760043405616898681_n

The assessors whom assessed and shortlisted the participants were Anne Cheng, Rachel Yang and Elise Tan from Start Up Nation (SUN), Singapore, Bryan Lee from Intraix, Singapore and Andrew Wong from MAD Incubator (MAD).

The pitching-platform event has attracted more  than 20 teams and Persizt team has successfully emerged as one of the winners.  The judges have given very good and constructive feedbacks to our product and we believe this will drive our product and company to another level. 

Kudos to the team!

Time Machine Locker is a lock screen app that will automatically identify and beautify memorable photos and surprise user with these photos when they unlock screen.

 The apps is a free download in Google Play Stores now.

post

Asia Smartphone Apps Contest

Riding on the success of 1st Asia Smartphone Apps Contest, Hong Kong Wireless Technology Industry Association (WTIA) has co-organised the 2014 2nd Asia Smartphone Apps Contest with several regional co-organisers from China, Japan, Korea, Singapore, Taiwan and Malaysia to recognise the excellence of innovative smartphone apps development.

asia_smartphone_app_contest1 With 168 apps from countries all over Asia and Israel and after several rounds of intense assessments by regional experts, Time Machine Locker of Persizt Technology has successfully won the Certificate of Merit for the top 10 position in the 2nd Asia Smartphone Apps Contest and Summit.
Persizt Technolgy is also invited to attend the 2nd Asia Smartphone Apps Summit cum Award Presentation Ceremony and Business Matching Session held in Cyberport, Hong Kong at asia_smartphone_app_contest212-13 June 2014. The Summit is attended by many industry elites and experts and provides informative insights into the opportunities and challenges of mobile apps market in Asia.
More detail of the competition can be found here.

Time Machine Locker is a lock screen app that will automatically identify and beautify memorable photos and surprise user with these photos when they unlock screen.

The apps is a free download in Google Play Stores now.

post

Time Machine Locker

What is the screen that every mobile phone user interact with the most in every day? Yes. It’s the lock screen. Several tech giants have tried to foray into this valuable home space of every mobile users. Facebook has its attempt with Facebook Home albeit less successful, and Yahoo’s, Twitter’s acquisitions of Aviate and Cover respectively.

Today, another apps tries to tackle the lock screen space from another different perspective. Instead of pushing more and more unrelated landscape photos, apps shortcut, widgets or Facebook content  to the home screen (the lock screen is suppose to protect your phone content and not pushing more info visible to everyone), the new apps, Time Machine Locker, will automatically identify memorable photos and surprise them with these photos when they unlock screen.

Time Machine Locker

Time Machine Locker

Additionally, it also serves as a light social network on lock screen that allow users to cast photo to their loved ones. For example, once your significant other has been added as friend in the app, he/she could cast any photo of him/her anytime, and you would be surprised by them the next time you unlock your phone! Time

Machine Locker hopes that users can recall back their best moments in life when they are busy with daily routine.

Time Machine Locker

Time Machine Locker

“There is a huge challenge in delivering the unique and most memorable photo, beautifully designed and presented in the screen user interacts with the most, powered by face recognition technology and social network data analysis algorithm. We strive for an industry standard lock screen architecture to ensure lock screen stability and security. We optimised the backend flow with less power/ network/ memory consumption to ensure the best user experience.”, Co-founder, CEO, Kenaz Chan explained.

The app is built by a team of experienced engineer in Persizt Technology with several web and mobile products under the belt. The app has so far won the MAD-SUN Pitching Challenge 2014 and Asia Smartphone Apps Contest held in HK.

The apps is a free download in Google Play Stores now.