How to hire software developers for startups?

In the competitive world of startups, hiring developers can be a daunting task, especially for early-stage companies with limited resources. Established organizations often have the advantage of offering better perks and stability, making it challenging for startups to attract and retain top talent. However, many startups have found a solution by outsourcing their development needs to third-party companies. The first thing to remember when you are planning to hire software developers for a startup is the fact:

Hiring developers for startups is different than hiring developers for established companies.

The developer-startup fit

When hiring developers for a startup, it is crucial to identify how they can add value to the company not only with their tech skills but also with their ability to think out of the box, their people skills to drive motivation in the team, and with their ability to take on work that is not well defined yet somehow needs to be done!

The key skill you are looking for in a startup team is the ability to get things done - quickly. That’s really it! It really doesn’t matter how well the code is written(!), how much of it was copied and pasted from a stackoverflow answer, how bad the variable names are, etc. The only thing that matters is how quickly a developer can solve a problem. Eventually, all those issues will begin to matter, but just not at the beginning. And if you lose time using resources with skills to write beautifully written and architected code there is every chance you’ll burn through your cash before you can find the software that people actually pay for.

Here are some key reasons why startups seek to hire developers:

  1. Setting up the Tech Stack: Startups often lack in-house technical expertise and need developers who are familiar with the specific technologies required to build their product or application.

  2. Fast Growth: Startups operate in a rapidly changing landscape and need to quickly develop and test their ideas. Hiring a team of developers enables them to make swift progress and present a minimum viable product (MVP) to potential investors.

  3. Staying Within Budget: Startups, especially those with limited financial resources, need to be cautious with their expenses. Selecting developers with relevant experience and skills within the startup's budget is crucial for cost-effectiveness.

  4. Building a Strong Team: As startups grow, it becomes essential to delegate tasks and build a capable team. Hiring developers who align with the startup's goals and values ensures a solid foundation for future development.

The challenge

While the benefits of hiring developers are evident, startups face several challenges in the process:

  1. Lack of Local Talents: The demand for IT professionals often exceeds the available local talent pool, leaving startups with limited options for recruitment. Competing with larger corporations for skilled developers becomes a tedious and costly endeavor.

  2. Retention Benefits Competition with Large Corporates: Startups often struggle to retain developers as larger companies entice them with attractive perks and higher salaries. Losing valuable team members can cause delays and disruptions in the development process.

  3. Financial Concerns: Hiring full-time developers entails significant financial commitments, including salaries, benefits, and upskilling expenses. Startups, operating within tight budgets, may find it challenging to sustain such costs, especially during early stages.

  4. Hiring Issues: Startups face difficulties in hiring due to their limited brand credibility and the absence of dedicated HR departments. Finding and attracting the right developers becomes more complex, especially when time is of the essence.

Benefits of Hiring Remote Developers for Startups

To overcome the challenges of hiring developers, many startups opt to outsource or hire remote developers. Here are the benefits of this approach:

  1. Tech Talent Availability: Outsourcing allows startups to tap into a global talent pool, enabling them to choose from a wider range of skilled developers. Countries like Ukraine offer a large pool of talented professionals, expanding the options for startups.

  2. Faster Recruitment: Hiring remote developers for specific projects is less time-consuming compared to traditional full-time hiring processes. Startups can focus on finding developers with the necessary skills for the current project, minimizing long-term commitments.

  3. Flexibility: Remote outsourcing provides flexibility in assembling a team with diverse expertise. Startups can select developers with specific skills required for different aspects of their development process, and easily scale the team as per workload demands.

  4. Cost Efficiency: Outsourcing IT development can be more cost-effective for startups, particularly when operating in countries with higher local talent costs. Hiring remote developers from countries with competitive rates allows startups to optimize their budget without compromising on quality.

  5. More Experience and Expertise: By outsourcing, startups can access developers with relevant experience and expertise in their industry or niche. These experienced professionals require less guidance, minimizing development mistakes and ensuring a smoother timeline.

Hiring developers for startups with the right fit is challenging. Hiring remote developers offer practical solutions and in many cases the only sane solution. By leveraging the global talent pool, startups can overcome limitations in local talent availability, accelerate recruitment processes, optimize costs, and benefit from experienced professionals. Understanding the motivations, challenges, and benefits of hiring developers equips startups with the knowledge to make informed decisions and build a strong development team that fuels their growth and success.

GoodFirms Confirms, KAZ Software Limited is Rebuilding the Future of Software Solutions in Bangladesh

In today’s context, software development has become the most convenient and fastest way to generate digital solutions to enormous tech issues and problems. Hence, the leading software developers in Bangladesh design, program, build, deploy, and maintain software systems utilizing their intelligence, skills, and several tech tools. KAZ Software Limited is one of those trusted tech solution providers that employs many knowledgeable and experienced tech professionals who contribute to their company's and nation's success coordinatively.

KAZ Software Limited has enough potential to power the important software requirements of a business. It was established in 2004 in Dhaka, Bangladesh, as a startup software outsourcing company and became a public limited company in 2005. It holds 18 years of experience in various genres of IT and development and has accomplished 200+ software projects for over 150+ companies worldwide. 

A massive group of engineers, designers, and content specialists provide pragmatic, practical, and powerful custom-based solutions to help client companies address their challenging situations. 

What Services Does KAZ Software Limited Cover for its Customers?

The company's mission is to visualize its customers' ideas into mockups and make the transformations easier and up to the mark by providing them with fantastic software experiences. The team is an expert in developing intuitive web applications, mobile applications, games, desktop tools, IoT software, and VR experiences that carve unique products for their customers for lifetime and benefit businesses in both the technical and business domains.

The company has been developing software for various industries since 2004, and it works for all three platforms that are majorly used by the users i.e., web, mobile, and desktop. From developing social apps, large content portals, tax optimization tools, and LDAP management tools to VoIP billing systems, stock trading portals, online holiday management tools, and so on, KAZ Software Limited has touched a benchmark in exceptional software development. The design team helps the clients with demos, mockups, and presentations to shape the brainstorming ideas of their customers into reality through practical creativity, graphics, and interaction design. 

The unbeatable research team is supported by data specialists, a panel of experts to create and maintain full-proof content, and exceptional data transformation services to help research, compile, and keep content for various applications in diverse industries. The SQA process and integrated quality assurance reflect the involvement and implementation of agile and lean approaches to provide transitional experiences to the customers. Hence, the company is ranked the top software development company in Bangladesh by GoodFirms for its indifferent system and consistent performance in the market.

Top Projects Built at KAZ Software Limited

On the one hand, KAZ Software Limited has worked for New York’s startup P1ston, Inc. to provide an innovative platform to the manufacturers and distributors of the company with visibility and automation supplies; on the other hand, it has developed an MVP application for an innovative startup. 

There are many stars to the achievement of the company as:

1.     Develops an innovative enterprise platform integrated with MS Teams to improve the level of participation, data, and interest of the project leaders

2.     Develops integrated project monitoring and evaluation solution for a development giant based on Angular and ASP.NET technologies

3.     Helps an agrotech software company with developing an IoT-based agrotech app

4.     Develops a design and development portal for Qatar Financial

5.     A publishing and display platform

6.     A live concert audience engagement platform

7.     eLearning gamification and virtual reality VR games

8.     Location-based social networking platform

Check out the company's tech stack, which is appreciated worldwide for developing extraordinary applications and software solutions.

Positive client testimonials depict why KAZ Software Limited is valued among its customers and is admired worldwide for its outstanding services.

 GoodFirms Research Methodology

GoodFirms is a leading review and rating platform for tech businesses that assure optimum results through advanced research and consulting measures. The company provides a growing medium for B2B businesses that help them connect with their profitable partners and make the best decisions for their future growth.

Conclusion

As per Bangladesh ICT Division, there are over 400,000 tech professionals in the country, and their percentage is growing at a rate of 15-20% annually. The best thing is that most of these professionals belong to software development and IT services, making the IT industry of the country the most trusted and reliable for their clients worldwide. 

KAZ Software Limited pioneers the successful brigade of experienced, talented, and qualified engineers and developers skillfully and efficiently contributing to the country's software development fraternity and economy. The company depicts its popular image and enhanced goodwill ratio in the future.

About GoodFirms

GoodFirms is a leading ranking platform for businesses seeking their significant establishment in the field of information technology. It helps software vendors and IT companies connect and mutually benefit from growing together. The rankings are updated continuously, and review scores are given based on their intensity.  

About the Author

Working as a Content Writer at GoodFirms, Anna Stark bridges the gap between service seekers and service providers. Anna's dominant role lingers to form every company's achievement and critical attributes into words. She strongly believes in the charm of words and equips new approaches that work, always with concepts, something new to create, and something unique to enhance the firm's identity.

Partnering to start a software business

Partnerships are a common business structure for startups, with each partner bringing unique skills, resources, and expertise to the table. However, partnerships can also be challenging, especially when it comes to dividing shares and seeking investment without losing too much equity. In this post, we will explore some ideas about how partnerships in a new software company might work, how shares could be divided, and how founders can seek investment without giving away too much equity. Most of these comes from our years of experience working on software products for clients all over the world. Hope some of these ideas can help you set up and operate your own software enterprise.

Partnership

A partnership is a legal structure that allows two or more people to share the ownership and management of a business. In a startup, partnerships are often formed between co-founders who share a common vision and are committed to working together to achieve a common goal.

Partnerships can take different forms, including general partnerships, limited partnerships, and limited liability partnerships. Each of these types of partnerships has different implications in terms of liability, taxation, and management.

In a general partnership, each partner is jointly and severally liable for the debts and obligations of the business. This means that if the business is sued or cannot pay its debts, each partner is personally responsible for the full amount.

In a limited liability partnership, all partners have limited liability for the debts and obligations of the business. This means that if the business is sued or cannot pay its debts, each partner is only liable for the amount of money they have invested in the business. Such a partnership would have to be registered in the local business registration process, examples of such limited liability enterprises are LLC in the US or Limited companies in Bangladesh. Without a second thought, this is the way every software partnership should go - as it is a clean way of separating the personal from the enterprise. It is also well-regulated and provides a better way of operating the business in general.

Shares

Dividing shares in a new partnership can be challenging, especially if the partners have different levels of investment, skills, and experience. The key to dividing shares fairly is to consider each partner's contribution to the business and to agree on a formula that reflects this contribution.

One common approach to dividing shares in a software company is to use a vesting schedule. A vesting schedule is a schedule that determines when each partner's shares become fully available (vested) and can be sold or transferred. Typically, a vesting schedule will have a cliff period of one year, during which no shares are vested, followed by a four-year vesting period.

Another approach to dividing shares in a startup partnership is to use a formula based on each partner's contribution. For example, if one partner has invested $100,000 in the business and another partner has invested $50,000, the first partner might receive twice as many shares as the second partner. In this same method, the actual contribution could be “sweat” as in time and effort instead of money. Let’s say a partner says he won’t put in money but will actually spend time to write the code of the software - the value of the time spent needs to be converted to a dollar value and then that value can be used to determine the shares. For example, if partner A is going to spend 50 hours writing the code, and each of his hours at fair market rate is $100, his contribution is $5000. In that company, if the other partner B contributes $10,000 in cash then the shares could be distributed based on two-thirds for B and one-third for A.

Additional funding

Seeking investment is an essential part of growing a software company, but it can also be a challenge for founders who want to maintain control over their business and avoid giving away too much equity. Here are several strategies that we like that can get much-needed funds without losing any or too much equity:

  1. Bootstrapping: Bootstrapping is a strategy in which founders use their own resources to fund the startup, rather than seeking outside investment. This can include using personal savings, credit cards, or loans from friends and family.

  2. Crowdfunding: Crowdfunding is a strategy in which founders raise funds from a large number of people, usually through a platform such as Kickstarter or Indiegogo. Crowdfunding can be an effective way to raise funds without giving away equity, although it typically works best for consumer products or services with a broad appeal.

  3. Strategic Partnerships: Strategic partnerships are partnerships with other businesses or organizations that can provide resources, expertise, or funding to the startup. Strategic partnerships can be an effective way to raise funds and build relationships without giving away equity.

Hope this short post helps you with some ideas about partnering for software business. Software startups are amazing and exciting journeys - but doing them right by following some basic tried and test formulas makes life so much easier!



Cultural contexts in the world of remote software teams - Eid Festivals

We are fast moving towards a work culture where most of our team members are located away from us - and in many cases thousands of miles away, in a different cultural context and a different language-speaking world. This new reality is making it extremely important to know the cross-cultural issues of a mixed team - for team members of course but more importantly for team leaders. Without knowing the at least an overview of the context the team dynamics can become very complicated. We wrote recently about such contexts such as knowing 5 words of the remote team that is beyond just knowing a few words in a new language but really knowing something key. We also wrote about the general cultural issues that every remote software team should be aware of. The recent passing of the Eid festivals in Muslim countries reminds us of another such cultural context, as Eid in the Muslim world is equal to Christmas in the Christian world and thus it has a lot of hit on the teams workflow.

The Eids - there are two of them

Eid is a time of celebration and joy for Muslims around the world. The festival is celebrated twice a year: Eid al-Fitr, which marks the end of the holy month of Ramadan, and Eid al-Adha, which is around a two months after the Eid al Fitr. These festivals are significant religious holidays for Muslims and are celebrated with great enthusiasm and fervor.

And most importantly, in both of them, you greet each other with the words “Eid Mubarak”.

The first Eid - Eid al Fitr

For Muslims, Eid al-Fitr is a time of joy and celebration after a month-long period of fasting during Ramadan. In most countries people just refer to this first Eid as just “Eid” and have a modified named for the 2nd Eid (Eid al Adha), e.g. in Bangladesh Eid al Adha is usually referred to as “Kurbani Eid”.

Eid al Fitr is time to thank God for the blessings received during Ramadan and to forgive and forget any past grievances. The day starts with a special prayer at the mosque and is followed by a traditional breakfast meal. Families and friends come together to exchange gifts and greetings, and children often receive money as a token of love and affection.

The second Eid - Eid al Adha

Eid al-Adha, on the other hand, is a time for Muslims to commemorate the sacrifice of Prophet Ibrahim and his son Ismail. The day starts with a special prayer called Eid Salah, followed by the sacrifice of an animal, usually a goat, sheep, or cow. This is why in Bangladesh this Eid is known as “Kurbani” Eid - the word “Kurbani” means to sacrifice. The meat is divided into three parts: one for the family, one for friends and neighbors, and one for the poor and needy.

In addition to these religious observances, there are also cultural traditions associated with Eid. For example, in some Muslim countries, it is customary to wear new clothes on Eid and to decorate homes and streets with colorful lights and decorations. In some countries, people exchange sweets and other delicacies, while in others, it is common to prepare a special Eid meal for family and friends.

Your team and Eid

Understanding the cultural context of Eid is important for software teams that work with Muslim countries is super important as these two events have a significant impact on work, life and thinking of your team. The first and foremost is the reason of showing respect. As Eids are religious festivals there is a lot reverence involved around it and it will be greatly appreciated by your team if you know some basics about the Eids. By taking the time to learn about Eid and its significance, you demonstrate your willingness to engage with your colleagues on a deeper level and to build stronger relationships based on mutual understanding and respect.

Understanding the cultural context of Eid can help you to be more effective in your work. For example, if you are aware that your colleagues will be celebrating Eid, you can plan your work schedule accordingly. You can also take into account the fact that many Muslim countries have different working hours during Eid, which may affect your ability to communicate with your colleagues or to receive timely feedback on your work.

The other big thing about knowing some background is to avoid misunderstandings or cultural faux pas! For example, if you are planning to send an email or schedule a meeting during Eid, it is important to be aware of the fact that your team members may be busy with religious observances or spending time with family and friends. By being sensitive to these cultural differences, you can avoid unintentionally causing offense or misunderstanding.

Hope this little post helped you a bit in running your remote software team better. Eid Mubarak!

5 Word you must know in the language of your remote team

In this globalized workforce world, remote teams are facts of life for every company around us. And especially in the software world having teams that are remote and a mixture of software developers from many corners of the world is very common. Such remote teams are perfect for companies to move fast and stay on track in the fast-paced world of software products. But they also bring in lots of new challenges to the teamwork dynamics essential for software teams. Remote teams are nothing new for us, as a software development consultancy, we’ve been working with literally 100s of remote teams from around the world for the past 19 years! We’ve written extensively about managing such teams well. Some recent posts include the things to remember when managing multicultural remote teams, tips about making remote team meetings fun, team leadership skills for remote software teams, and many more.

One of the things our project managers and clients talk about is the simple idea of knowing some important cultural important words in the language of your remote team. Note that it’s not about knowing how to speak the language but just knowing a particular word that has a lot of cultural contexts. A good example for someone working from the UK would be “a pint” - the word points to a pint of beer on the surface but also a million other associations related to relaxing, having fun, being with friends, etc. in the UK. We did a survey with our clients and some of the remote teams we work with and asked them:

“Give us 5 (and only 5) words we should know before we start working with you”.

Here are the results, but remember that pronunciation is a big thing, so make sure to use google translation to find the correct pronunciation.

Bangladesh:

  • Salam (Hello)

  • Dhonnobad (Thank you)

  • Cha (Tea)

  • Bhorta (Mashed food)

  • Pahela Baishakh (Bengali New Year)

India:

  • Namaste (Hello)

  • Shukriya (Thank you)

  • Chai (Tea)

  • Roti (Flatbread)

  • Diwali (Festival of Lights)

Vietnam:

  • Xin chào (Hello)

  • Cảm ơn (Thank you)

  • Trà (Tea)

  • Phở (Vietnamese noodle soup)

  • Tết (Lunar New Year)

Cambodia:

  • Sous-dey (Hello)

  • Or-koon (Thank you)

  • Chaa (Tea)

  • Amok (Fish curry)

  • Khmer New Year

Mexico:

  • Hola (Hello)

  • Gracias (Thank you)

  • Té (Tea)

  • Tacos (Mexican food)

  • Día de los Muertos (Day of the Dead)

Poland:

  • Cześć (Hello)

  • Dziękuję (Thank you)

  • Herbata (Tea)

  • Pierogi (Polish dumplings)

  • Wielkanoc (Easter)

Egypt:

  • As-salām 'alaykum (Hello)

  • Shukraan (Thank you)

  • Shay (Tea)

  • Koshari (Egyptian dish)

  • Eid al-Fitr (Festival of Breaking the Fast)

Spain:

  • Hola (Hello)

  • Gracias (Thank you)

  • Té (Tea)

  • Paella (Spanish dish)

  • La Tomatina (Tomato Festival)

The above words are what came from our survey of the top 5 and may not be representative of the entire culture or language. It's always best to just ask your local team members for a better understanding of their language and culture!

The steps for forming a new software company

Do you have a great software product idea? And are you sure you want to make that product and sell it? If the answer to those questions is yes then first congratulations! and then a follow up question: have you thought about starting a new company yet?

By starting the company - I mean company as both a legal entity and as well as the actions and plans to get the project started that will lead to that software being made, shipped, marketed and sold in a structured way.

Starting a company is an exciting and rewarding experience. But it can also be an overwhelming experience for a first-time startup founder. There are many things to consider, from legal requirements to funding and everything in between. At Kaz we have been helping founders launch their software products from a mere idea to a real software with millions of users. And we’ve been doing this for the past 18 years, so we have seen many of our customers go through this experience. Here are the steps you need to follow to form your software company and some of our tips about making this process foolproof and less chaotic than usual.

Create a Business Plan First

Before you do anything formal - like search for partners, software vendors, marketers or lawyers for setting up the structures and forming a company, it’s absolutely essential to develop a business plan. A business plan is a document that outlines your goals, target market, revenue projections, and other crucial details. It will serve as a roadmap for your business and help you stay focused on your goals. Here are some of the things your business plan can have, but don’t go overboard on these, remember that the goal is to outline a rough map first so that you have some clarity. You will be updating the business plan as you go along and definitely giving it a lot of meat when you start showing it to potential investors or maybe even to your friends!

At a minimum your business plan should include the following sections, even if they are just basic outlines:

  • Executive summary: A brief overview of your company and its goals.

  • Market analysis: A detailed analysis of your target market and competition.

  • Product or service description: A description of your product or service and how it solves a problem for your target market.

  • Marketing and sales strategy: A plan for how you will reach your target market and generate revenue.

  • Financial projections: A detailed financial forecast, including income statements, balance sheets, and cash flow statements.

A little googling will help you give some idea what you should be putting in there and maybe some templates too. Here’s a great article from Shopify’s blog (which is good place to look at other startup/small business setup content). One great thing that we’ve seen many of our founders use is the Business Model Canvas which is like a template for thinking of new businesses. It guides you through all the important aspects of the new business you should be thinking of (e.g. what value will be there, what are the competitors, where will I get my money from, etc.). It’s the best starting point for any new business concept and we find that most successful businesses actually stay on this template for most of their journey and use it to create all their business plans.

From: HBR

Decide on the Legal Structure of the Company

Once you have a business plan in place, you’ll need to choose a legal structure for your company. The most common legal structures for startups are:

  • Sole proprietorship: A business owned and operated by one person.

  • Partnership: A business owned by two or more people.

  • Limited liability company (e.g. LLC in the US, Ltd. in Bangladesh, etc.): A flexible business structure that provides liability protection for its owners.

Each legal structure has its own advantages and disadvantages, so it’s essential to choose the one that best suits your needs. If you aren’t sure, the default should be a limited liability company, but it’s always good to consult with a lawyer or accountant to help you make the right decision. Here’s a great summary and comparison reading material for your further reading.

Register the Business

Once you know the legal structure want to go with then it’s pretty much a step by step process that you have to follow. The actual steps vary from country to country. But in all cases you’ll need to register your business with the appropriate authorities. This will typically involve filing paperwork and paying a fee.

Get the Permits and Licenses

In any country, there would be a requirement of getting a permit or a license to start your business. This is beyond just registering the business above. For example, if you plan to start a restaurant, you’ll need to obtain get a food premises permit and maybe a liquor license. In the case of software, typically it’s less convoluted, you’ll probably need a merchant’s permit if you an e-commerce store, etc. The big exception is if your software is in a highly regulated space such as fintech, communications, transport, etc. You’ll need to find out the permits you need from the local business bureau or your accountant. Whatever you do make sure you know the requirements and get the relevant permits before you actually start doing the actual business. We’ve seen founders who’ve delayed this one important task and then ended up paying hefty fines or worse getting into legal challenges. A complete waste of energy and time.

Get Funding

Most new businesses will require some form of funding to get off the ground. There are several options for funding, for example:

  • Bootstrapping: Funding your business with your own money.

  • Friends and family: Borrowing money from friends and family.

  • Bank loans: Borrowing money from the bank - you’ll need your business plan for this!

  • Crowdfunding: Raising money from a large group of people via an online platform.

  • Venture capital: Raising money from investors in exchange for equity in your company.

Each funding option has its own pros and cons, so it’s important to carefully consider which one is right for your business. You’ll need to research the options well, know what you are getting into and plan for the additional overhead for managing the funding. Many times we see our founders getting off track with money issues. It’s good to plan this well.

Get your Team

You can’t really create a software business completely by yourself (there are many exceptions though, one of my favorite stories is how two brothers made and ran a multi-million dollar software company for the game doodle jump). You will need a team around you. At the very minimum, you’ll need a software development team. If you don’t want to (or don’t have the money to) hire a permanent team you should definitely consider using a software development agency like us, this strategy gives you a lot of flexibility and control.

When hiring team members, look for individuals who share your vision and values and have the skills and experience to help your business succeed. Be sure to clearly communicate your expectations and provide adequate training and support.

Well, that’s it for today. Good luck on your journey! And drop us a line about what you want to make …

Get your team and build your software

Making remote software team meetings fun

Remote teams spread out over multiple locations around the globe and speaking multiple different languages as their first are the norm these days for most software companies. This is a great trend, as it opens up the availability of software talent to software projects and makes hiring great software developers a much easier task for companies. But as with anything else in this world, those great things come with some downsides. One of the biggest downside is the lack of interaction between team members. Without that interaction the essential element of any good software team: “gelling”, doesn’t happen. We’ve written in the past about how to make the remote team gel so it’s worth a look up if you haven’t read it. Today, we’ll drill down to one aspect of remote team interaction that needs special attention: team meetings.

Team meetings are one of the holy grails for a software project to perform well. It’s a meetup of the team to discuss the project, where they are and where they are going. It essentially setups up the direction of the team at regular intervals. Hence it’s very important to get the meeting right. However, if the meeting is too formal, then it becomes a painful waste of time, where people just sit through boring proceedings and not really discuss the issues at hand in an open way. And the only way you can make that happen is if make the team meeting a relaxed and fun event that people actually like attending. As you can imagine, remote teams pose a difficult challenge to this premise of a “fun” team meeting. We been running remote teams for the past 18 years as a software development agency that helps companies build software products so we have a few tips and tricks to solve this problem. And in today’s post I want to share them with you.

Fun introductions and catch up games

By introducing a short game over the remote call you can easily “break the ice” for new members of a team or even reinvigorate an old team that has been working away from each other too long.

A classic in this remote meeting games is called the "what do you really know" game. This is where you (as the team lead/ project manager) begin a meeting by asking the participants to share something that they know really well. This could be anything from baking to e-bikes. The idea is to leverage people's expertise and build connection and trust right at the beginning of the meeting. You then ask questions about their areas of expertise, which led to interesting conversations.

There are many other virtual games that you can run on the meetings, a quick google search with get you a whole bunch of them.

Running the meeting in the radio host mode

In this this, you make everyone turn off their video! By turning off the video, you've shifted the norm from your team, which spikes the level of fun and engagement in the group. Then you ask someone to assume they are a radio host and then ask others questions like a radio talk show. Here’s an example:

Host: “So, Max, I read on the newspaper that your feature of calculating optimal rates in the software is going really well, tell us something about what you are doing right now?”

You could spice it up a bit to create the feel of a political leader interview, here’s an example:

Host: “But many people have protested that the it doesn’t do the calculation as you promised, is that true?”

There are many variations on this theme and after some practice you’ll find that this is a unique way running the meeting which discusses serious issues in a fun and engaging way. Best of both worlds!

Show and tell

This is modelled after the show and tell things we used to do in elementary school. On the fun introductions and break the ice mode you could ask the participants to find a specific item in their house and bring it back to the meeting. This could be anything from a childhood photo to a favorite book. This is a great way to build connection and get to know each other better.

And on the serious work side, you could ask team members to show the feature they are working on, and describe it in the elementary school “show and tell” mode.

Information sharing via Ice breaker sessions

Icebreakers are warm-up activities that help make virtual meetings exciting and engaging. They require little to no preparation, and they have a lot of potential when done right. Good icebreakers help mitigate the feeling of being a bunch of strangers hanging out in a room together. They have people acknowledge each other's existence, which is just enough to get people excited. Even the few minutes invested in an icebreaker might make people laugh, make them open up to dialogue, and even help them step out of their comfort zone.

One really good ice breaker session is the highs and lows. It’s an awesome way to help people empathize with their peers. You basically ask everyone to share their successes with tasks assigned “highs” and failures “lows”. The goal is to make it easy for everyone to share where they failed without feeling bad or trying to hide such failures. This activity will encourage people to engage in meaningful dialogue with their peers, and most importantly, it enables teammates to provide their colleagues with the support where they failed and needed congratulations on their successes. As a result, this helps create a sense of empathy among team members and promotes a culture of support. Plus, this exercise encourages the exchange of valuable information between people.

So that’s it for now, our top tips for making your next team meeting fun!

Managing a multi-cultural remote software team

Remote work is the new normal, and managers need to be prepared to lead their teams in this new environment. And in today's globalized world, multicultural teams are the common remote teams. Cultural diversity is common in onsite teams too but the issues of miscommunications because of cultural issues are much more complex in remote teams. With the rise of remote work and the desire for flexibility among younger generations, managing a team from different cultural backgrounds has become one of the biggest challenge for managers. And this is an essential skill that all managers are picking up.

Since Kaz is a software development agency based out of Bangladesh and we work mostly with software companies based in the US or Europe. So the very nature of our work leads us to the remote cross cultural issues. And this not a new thing for us because of the recent rise of remote work. We’ve been participating in remote software teams for the past 18 years, and over that long time we’ve probably seen all the things that can go wrong in such cross culture, cross language teams and have devised strategies that solve those issue (or at least reduces to chances of them arising). We’ve also come up with a little poster for expressions in English that doesn’t translate well, that we sometimes give to our customers’ project managers as a cheat-sheet! So, today’s post is a summary of some of our best tips around this and that useful “cross culture expressions to avoid cheat-sheet”.

Understand that there is problem

This is important. Specially in the software world. We sometimes hear things like: “At the end it’s all code, and the language of code is the same so there will be no problem”. Although at the fundamental level that is very true, but to get to that stage of work and collaboration the remote teams still have go through layers of communications. That communications is typically in a language that isn’t a first language for at least one side and sometimes for both sides. And that’s where the start of the problem happens, and layer on top of that the cultural difference and the fact that cultural context changes the meaning of many expressions and mannerisms - you have a problem. So it’s vital for software managers to understand that there is a problem and it will need active strategies and process to solve that problem.

In this context, it is essential to recognize that cultural differences can lead to misunderstandings and conflicts. As the speaker in the video explains, even seemingly simple things like expressions about time can have very different meanings in different cultures. For example, in some cultures, "just now" might mean "in a few minutes," while in others, it might mean "sometime in the future." Without understanding these differences, miscommunications can easily arise, leading to frustration and conflict.

Create culture awareness in the team

To address this challenge of cultural difference and the need to work around such difference, it is important to invest in cultural awareness and sensitivity training for managers and employees. This might involve providing resources such as books or online courses on cross-cultural communication, as the speaker in the video did. It might also involve hosting workshops or training sessions led by experts in intercultural communication.

One key aspect of this training should be the importance of context in communication. As the speaker explains, even when two teams are using the same language, differences in context can lead to misunderstandings. For example, a phrase that might be intended as a compliment in one culture might be interpreted as criticism in another culture. Understanding these differences requires a deep appreciation for the cultural norms and values that shape communication styles in different parts of the world.

Create an environment of trust

Another important aspect of managing a multicultural team is building trust and rapport among team members. When people come from different cultures, they may have different expectations about how to build relationships and establish trust. For example, in some cultures, it may be important to spend time getting to know someone on a personal level before discussing business matters, while in others, business may be the focus from the outset. Understanding these differences can help managers to build stronger relationships with team members and foster a sense of camaraderie and trust.

We’ve written extensively about this in the past, as we feel that this is one that that makes thing much simpler to solve cross cultural issues. Some of our tips can be found in this article about how to build trust in your remote team by team gelling or this one about creating the right team culture for companies with remote teams.

Find what works the best for you

It is important to recognize that managing a multicultural team is not a one-size-fits-all endeavor. Different cultures have different expectations around communication, hierarchy, and decision-making, among other things. Effective managers must be able to adapt to these differences and find ways to accommodate the needs and preferences of each team member. This might involve using different communication tools for different team members, or adjusting work schedules to accommodate different time zones.

Careful about what expressions you use

It's important to be aware that expressions that you might use in your language or cultural context might not be understood at all or even worse understood with the opposite meaning by your remote team. It is vital for team managers (and team members) to consider cultural differences when communicating with people from other backgrounds. It's also a good idea to clarify the meaning of an expression if you think it may be misunderstood. Here’s our list of common English expressions that just doesn’t cross the language and culture basriers well. We call it the expressions to avoid cheat-sheet!

"Break a leg" - This one never works. In most non-English cultures, wishing someone luck by saying "break a leg" is considered bad luck or even offensive. Actually if you think about it really weird that this expression has the meaning it has, here’s the Wikipedia post giving it’s history.

"Bite the bullet" - This expression means to endure a painful or difficult situation, but in some cultures, the literal meaning of biting a bullet can be confusing or offensive.

"Spill the beans" - This expression means to reveal a secret, but in some cultures, the idea of spilling beans may not make sense or may be seen as wasteful. I remember once one of our customers used this expression in the context of asking his team not to reveal software features anyone and the look of confusion in the team was very interesting!

"Piece of cake" - This expression means that something is easy, but it almost always fails to translate well.

"Going Dutch" - This expression means to split the bill, but in some cultures, the idea of going Dutch may be unfamiliar or seen as impolite.

"Skeletons in the closet" - This expression means to have secrets or embarrassing information, but to someone not used to the expression the idea of keeping skeletons in a closet would not make sense at all!

"Costs an arm and a leg" - This expression means that something is very expensive, but in some cultures, the idea of comparing something to body parts may be seen as distasteful.

"Cat got your tongue?" - This expression means to ask someone why they are not speaking or responding, but this one never works either for obvious reasons.

"Let the cat out of the bag" - This expression means to reveal a secret, but the idea of a cat being in a bag may not make sense or may be seen as cruel for non English speakers.

Common mistakes that new software companies make and how to avoid them

Starting a new software product can be a daunting task, especially if you are new to the world startups and software. While every new business journey is unique, there are some common mistakes that many founders make. After helping companies big and small - from Fortun500 beasts to one person startups, we think we’ve seen it all! In this blog today, we will discuss the some of common mistakes that we see over and over and also give some tips on how to avoid them.

Not knowing your customer

One of the biggest mistakes that software product leadership make is not knowing their customer. Notice I’ve kept the term very generic, “software product leadership”, and that’s because this mistake is made by startup founders as well as product teams in well established software outfits! It is important to have a clear understanding of who your target customer is and what their pain points are. This will help you develop a product or service that addresses their needs and provides value. Take the time to conduct market research and talk to potential customers to gather feedback and insights. Remember that the software you are making is not for you (well it may well be, but you are probably not its only user). So make sure your biases and fascinations don’t guide the software requirements. Find out out the real customers, find out their actual needs - their needs may not be at all like yours. We recently posted a detailed strategy of finding what features you should plan on your software - worth reading that too if you are considering this point. Also worth a read is another recent post about finding customers for a software product.

Not having transparent conversations with your co-founders

Co-founder relationships are critical to the success of any startup or a software product launch. It is important to have open and transparent conversations about roles, responsibilities, and goals. Without clear communication, resentment can build up, and the relationship can deteriorate. Make sure to have well-organized conversations that are designed to share how you feel about the current situation of the company, how it's organized, and who is responsible for what.

Not launching

Many startups are afraid to launch because they think they need to be fully ready before they can get in the press or be on popular blogs. However, launching is not as significant an event to your users as it is to you. If you think about it, how many famous platform do you remember being launched? We only find out about a new product once it starts getting traction - think Facebook, think LinkedIn and think if you ever heard them at launch time… most likely not! It is important to move up the launch as soon as possible to get your product in front of customers. This will help you validate whether it solves their problem and give you the feedback you need to improve. Remember the minimum viable product (MVP) way of doing things. With an MVP you move to a faster launch and a faster way to more feedback. A long time back we posted on our blog an article about how every software company should launch with an MVP and it’s one our most read articles.

Not using analytics

Measuring what your users do when they come to your site is critical to improving your product. It is important to track your website analytics and user behavior to understand what is being used and what is not. This will help you make data-driven decisions and prioritize features that are important to your customers.

Not prioritizing the actual product!

Startups often prioritize sizzle over the actual steak! I mean they make more fuss about various things around the product than the actual product itself, such as hiring, press, and conferences, over getting the product out there and talking to users. However, the actual work of startups is pushing product, getting it in the users' hands, and seeing if they like it. Prioritize getting your product in front of your customers, gathering feedback, and iterating on it to make improvements.

These are some of the most common mistakes that we see many companies make. While it is possible to be successful even if you make these mistakes, it is important to minimize them as much as possible to improve your odds of success. Good luck!


Choosing the features of your software product

A common question from our software customers are “how do you choose which features to add in the software?”. See the problem in most cases isn’t a lack of feature ideas, it more a problem of too many feature ideas. And there are two good reasons for not trying to add every feature you can think of into your software:

  • Too many features confuses your users and reduces software use and thus sales.

  • Features are expensive to build and maintain (of course!).

So software product management is the science (and some would argue an art) of finding the right features and prioritizing them based on the needs of the business. Having worked with hundreds of software projects over the years with companies tiny to massive we’ve come up with some strategies that seems to work most of the time, and today’s post is about those strategies. However, something remember in this space is that every software product is different, not just in it’s domain but also in the type of end users and their worldly problem the software is trying to solve. So always view these strategies with the filter of your particular niche to figure out what needs to be different for your particular product.

The 80/20 rule works for product features too

The Pareto principle otherwise known as the 80/20 rule says that: “… for many outcomes, roughly 80% of consequences come from 20% of causes”. Put in the context of this post’s topic it translates to: 20% of the features you have in your full blown software would server 80% of the real use cases of that software. And if this was true, if you could do only those 20% features, you’d really be ready with a software that was good enough for 80% of your user’s needs!

Now the Pareto principle might be one of those rule of thumbs laws, but there seems to be some hard data that points to the truth of this principle in the world of software. A good source of such data is the Chaos report that the Standish group runs around the software industry. In one of the first studies they did for software feature usage back in 1996, they looked at 100 custom applications to look at the functions and features requested, implemented, and used.

Here’s what they found in their own words: “The study was done in two steps.

STEP 1: We took an inventory of each feature and function.

STEP 2: We held user workshops to find out which features were used.

We learned that only 7% of features were always used, another 13% were often used, 16% were sometimes used, 19% were rarely used, and 45% were never used. The study was very long, difficult, and expensive. Using some automated tools and spot checks every couple of years, we found, to no surprise, that the numbers are relatively unchanged for most methodologies. Our current thinking is that 20% of features are often used and 50% of features are hardly ever or never used. “

So finding those 20% features, or as sometimes described as the “vital few” features are very important. Those features will need be prioritized and built first. And if doing them requires you to ditch many others accept that as price to pay.

The question is of course how to find those 20% vital few. And the next few strategies help you zero in on those features.

Use user group feedback to prioritize

At the end software is being built for users. So it should be users who identify the most important features (those vital few 20%). With this principle in mind you need to aim to arrange a user group that consists of “typical” users of your software. So for example, if you are making an HR software, your user group should be HR staff of various companies. It’s usually easy to recruit the users from your own company (you might need to tempt them with food and drinks!) but you should definitely try to get some people from outside of your company too. The reason being that you are looking for diversity of views - things are probably done in different ways at different companies and the more variety of input you get is the best. Once you form a user group, setup up events (ideally physical events where people can relax and talk) where you invite the group members and seek feedback from them about your software features. Here are some ideas for gather data:

  • Run a demo of the software (even if they are just mockup pictures) and then ask people to vote for each features. Count the number of hands going up (or even formal votes in paper or apps) and decide how popular are the features.

  • Setup a survey and ask people to fill in (not the best for people, but really good for you, so you might have to bribe them with food and drinks or prizes!).

  • Show a single feature and then explain how it solves the problem they are having and then ask them if it really does solve the problem. Be ready to be surprised by the debate that sometimes arises from this! Make sure you are tracking all the feedback. The more people have strong views about a certain problem the more important that feature is (the vital few!).

  • Play a game that let’s people select certain features. This could be a game of throwing a ball into baskets with names of different features with a plan that you’ll put that in the working list (and you are looking at which baskets people are most interested in. Here’s a great game idea called the “buy a feature” where you give the users monopoly money and tell them to go feature shopping!

Use tracking data to find user interest

This is idea is one of the best approaches for a data driven decision making on software product features. The concept simple, track which features of the app users use the most or has the most interest in. Usually it’s done in two distinct phases:

Before product release

This is where you are thinking of which features to add in your as yet unbuilt product (or unbuilt new version of the product, i.e. you’ve got a product out and planning for the next update of the product). So in this scenario you don’t have a way to track the actual use of the feature (as it’s not yet built) so you have track user interest in descriptions of the product. One common way of doing it is having a list of upcoming product features in your webpage and then using a visitor analytics tool like Google Analytics to track user visits and clicks about those features. A really cool way of getting a much richer analytics than pure visit counts is to look at how much time people spent on a certain page, where they tried to click the most (or had their mouse) with a web page heatmap tool like Hotjar.

For a great example of how new features can be talked about is Trello’s page about upcoming features for their big redo back in 2021. Note that Trello can be quite verbose as it has a very dedicated user group who have been using Trello for sometime and has direct interest in reading through details. Your brand new app might not have that level of interest for visitor on your site, so you are likely to have a much shorter attention span and images are your best route in gathering user interest. Have large screen mockups (the ones you preparing for the feature description anyway) on your page with short but punchy intros for them. And then use your cool trackers to find out if users are actually spending time looking at the pictures at all.

After product release

Once you have your software up and running you have much better way of tracking user interest. You should setup analytics tools that report usage of different features and sub-features. Any upcoming feature should be planned based on areas where the usage is the most. You can also have features that are not with all the bells and whistles but at least gets the user to do part of their task with them. And then you could see the interest and usage on those features to decide if the next version should have a more complete version of that feature area. An example for this approach could be say an HR software planning to introduce an ID card generation tool - being an HR software it has all the data, so generating ID cards ready to send to a printer might be a great tool (or it may not be at all!). So one way to test this could be to give a card generation option that just gets a plain vanilla card out. Now if the tracking shows that many users actually tried that feature out that would a signal for the company to invest development time in creating well designed ID cards (maybe with options for adding color, company logo and other custom design options too).

Use public forums, reviews and discussion groups for finding pain points

This is another time honored way of finding priority features for your product. The process is to first identify a list of public forums, discussion groups, review sites that are roughly in the same space as your product. And then painstakingly go through those discussions to find common themes that people are complaining about either because there are no products out there that does what people are looking for or the existing tools are just bad. By finding common themes and by looking at the volume within those themes you are essentially finding the “pain points” that need solving in your product space. And this research can give the data for prioritizing what pain point needs solving more than others. That leads to your feature list!

This a common process that many big companies use themselves to identify feature enhancements. Microsoft’s strategy for a long time was to launch a half baked product and use the product forums to find where people are complaining the most and fix and enhance those (and only those)! But leaving the giants aside, the research in discussion forums is absolutely essential for any feature planning. The best thing about this approach is that the data is already out there, you don’t have to invest time and money is building out tools, wait for data to come in and then make those analysis.

Product development is expensive and it takes up precious time and energy. It is very important for spending your limited resources at the right places. Choosing the right features in your product road map and getting them built in stages in synch with usage and interest is one of the key aspects of making a great product.

Finding customers for your software applications

Every startup with work with has this question for us: “what are your tips about finding our first customers?”. It’s a really good question and one that every founder should ask even before she starts thinking about how the software will work. At the end of the - no customers is equal to a failed software venture, and it really doesn’t matter how great your software was and how it solve the is world’s problems. However, it’s never an easy question, as the answers vary widely dependent on what the software is about. But over the years, we have seen some strategies that work well and some don’t. And some of those strategies are generic enough to work for pretty much any product. Here are some of our best ones.

Start your PR right from the beginning

Even before a single line of code is written for your software, even before the designers had a chance to imagine the look and feel of your software and even before you seriously thought about making the software (!) you should start you PR campaign! And your PR campaign doesn’t have to be anything fancy, just talking about your plans about launching this new and awesome software in various public spaces (and private ones) is a good start. Here are somethings that you should start right away as a minimum:

  • Website, duh…

  • Social media assets, stuff like Facebook page, Instagram profile, twitter handle and LinkedIn page. Maybe a youtube channel if you are good with videos and even a Tiktok one!)

  • Blog, blog and blog ideally on your own domain as it will build up your site’s status with Google - the earlier you start the better for your SEO later on.

  • Posts in public forums such as Quora, Reddit and LinkedIn conversations.

  • email all your friends and family telling them about how your software will change the world.

Create a list of potential “first“ customers

Of course! But I’m talking about creating this list while the software is being built. The idea is that you can then start reaching out to them for connection and networking and eventually for early adoption. Remember that most of your initial customers will only be trying your product out because they will feel obliged to - maybe because you are their friend, colleague or have connected with them professionally and formed a good relationship. From this list most importantly you’ll get your pilot testers and early feedback sources. As your product matures this customer list will expand to proper marketing lists ending up into CRMs and marketing tools like Hubspot or Mailchimp.

Website with a subscribe for news option

You’ll obviously have a website right from the start! But at the start you may not have a lot of meat on your website. But at the least you should have enough of a story in there to get people interested and then what you want is an easy way for them to subscribe for alerts when the product comes out. This going to be one your sources of emails and contacts for the first possible customers. Two things that people get wrong about this type of “watch this space” sites:

  1. Too generic information and graphics in fear that your competitors might steal your idea. Ideas are dime a dozen and it’s hard to steal and implement a software idea, so go with all the juicy bits about how your software will cure cancer and make everyone rich! Remember, people need to be interested enough to leave their email with you.

  2. Too much information. This is the opposite of the number 1 point above, with the founders writing up page full our text (usually copied and pasted from the specification document or an investor’s pitch). Again, the goal is to make people interested enough to leave you their contact details. If you bore them with too much details, they probably won’t read the whole thing and just leave!

There are some great writeups about how to do these pages right, here’s a great one about effective yet simple coming soon pages. The sample image is from that site’s example,


Arrange events and meetups

Meetups and events are great for getting people together and talk about your product. It’s a great source of feedback and ideas and obviously it’s a great way of getting some publicity about your product. You should aim to invite potential customers and also users of your system. Get your development team to come over too if you can. It could be a great event where your potential users feel that they can ask for features they need and get them in the upcoming version of your product. Another important group to invite in these events are “influencers” - people who might talk about your product on their blogs, videos or amongst the their circle of friends. If you can get some press coverage that would be icing on the cake. The most important thing to remember about these meetups is the food! Make sure there are some good food around with loads of drinks and coffee. Food will get people to connect and linger. And good food will always leave a good feeling that carries over to people’s association with your product and brand. Here’s a great writeup about arranging launch events, which isn’t exactly your goal, but many of the ideas work equally well for product intro events too.









Top software for business in 2023

2023 is going to be an interesting and unpredictable year for the software world. On one hand there is huge momentum on multiple exciting greenfield technology fronts such as AI, Metaverse, AR, etc. but on the other hand there is the fear of a major financial downturn leading to less investments in these emerging trends and more focus on recession-proof solutions in fintech, eCommerce, etc. Everyone knows that in the longer run companies have to invest and innovate in the emerging technologies to stay ahead in the competition but the big question is what’s the fine balance of investment for future technologies vs. the compromises in near term financial safety. We asked our tech leads about what are the areas where companies will do the most business in software and here are some broad areas they’ve suggested.

AI in fintech

AI has become of the keywords that gets thrown into any such discussion about the future of software. There is a good reason for it obviously, but specifically for 2023 we think the broad area of AI will be less important than the niche areas. One of those niche areas is the fintech. Any financial downturn leads to renewed interest in managing money well. And that is where AI can make a huge difference. AI in fintech isn’t anything new, it’s has been getting progressively better over the past few years, but we think 2023 will be the year where more eyes will be on it for it’s business value and this will accelerate this field immensely.

A good example of the type of fintech AI that we think will get the boost is the one that’s being rolled out at Upstart which is claiming to disrupt the inefficient, complex and slow industry of loans and credit risk analysis. This is a great summary of what they are aiming with their technology:

Upstart is an AI lending platform that partners with banks and credit unions to provide consumer loans using non-traditional variables, such as education and employment, to predict creditworthiness

The application of AI in the lending business will be a game changer in the financially difficult climate of 2023 where there is a significant likelihood of increase for the need for credit.

Another great example of the type of AI product to get a boost in 2023 is product like Highradius. It is again a platform that aims bring efficiency to financial processes that are highly inefficient currently thus costs companies time and money to operate. If they get it right their platform will automate routing receivables and payments processes including predicting engine for cashflow sensitive information like invoice payment dates using AI and machine learning.

Smarter eCommerce technology

Let’s face it, recession or not, online ecommerce is only going to thrive. It’s one of those data curves that only goes up because of the inherently good economics in the concept. The question isn’t, is it going to be important but which part of it is going to be important. We think ecommerce is still at the same level as it was years back when it was invented. Nothing significantly has changed in the buying process in platforms like Amazon. And that’s fine for most times since things are pretty optimized there anyway. But at times like these, a company that can come up with an innovation on top of existing marketplaces which will bring better deals, better sales, better visitor counts will win big. 2023 is a year for smaller outfits to make a name in the super established sector of ecommerce software.

So what can be there that has a chance to win big? Here’s an example: Affirm - a platform that opens up buying options on ecommerce platform, offering affordable ways to pay that are more flexible and transparent than a credit card. Again machine learning algorithms are the key to managing the credit underwriting but the company brings it into the hands of everyday consumers.

Intelligent Job Platforms

Recession equals more job searches - that’s just simple maths. So every job platform out there will likely see major upturn on visitors and revenue in 2023. But like ecommerce, job platforms are one of those areas where very little has changed over the years. 2023 is probably going to be the year where the new platforms with better offering will be the bigger winners and likely outpace some of the old and established players.

One example is Cogbee which uses technology to speed up the screening and thus offering a much better solution for employers. More employers mean more jobseekers and thus the positive feedback loop leads to bigger revenue for such a platform. Another great example of job platform that rethinking this old space is HireEZ that is brining in the concept of outbound marketing to the recruitment space. The platform enables employers run outreach towards their ideal candidates thus completely bypassing the time consuming screening and assessing phases of traditional recruitment. Savings in HR process caries huge value in a budget conscious year like 2023 and products like these are likely to get a lot of business if they can deliver.

Inter connecting smart home devices matter

Do you have whole bunch of “smart” home devices that don’t feel that smart? I’m talking about your Alexa not talking with your Google nest and cool smart tv from Samsung not so different from the old tv you had. The current landscape of smart home technology is very very fragmented - with separate camps for Amazons and Apples of this world and every other day a new player coming up with device for some existing camp or starting a new camp altogether. It’s confusing for the users and it’s bad for everyone. Why can’t these smart devices talk with each other? Why can’t I just tell Alexa to switch off my Samsung TV? Why cant these devices actually be a smart home. Well the short answer is obviously that these are from different and competing companies. But things are not so bad, a new standard for communications is emerging fast that most of these big players are signed up on and we hope very soon we’ll have a new generation of devices that can really talk with each other and be bit smarter!

The Matter

Competitors Apple, Google, and Amazon are joining forces to make an open-source smart home standard called the Matter. The goal of this standard is for smart devices to work together, making innovative apps around these smart devices simpler and to maintain security without compromising usability.

You will then have the power to choose how you want to control your homes, independent of which smart home technology you choose. Smart home devices will be compatible with various platforms, so you can choose between Google Assistant, Amazon Alexa, Apple Siri or other platforms.
— Nik Sathe, VP Engineering, Google Nest

This standard will enable supported smart home device to talk with each other, regardless of which smartphone or voice assistant you’re using or which type of device you running the command on. All the major smart home device manufacturers are on board with the big boys and there is a lot of excitement around what’s possible. Here’s a quote direct from Google: “choose between Google Assistant, Amazon Alexa, Apple Siri or other platforms”. Nice, isn’t it?

What’s Inside?

So what’s inside this Matter? Version 1 of the specification was published 4 October 2022 so we actually know a great deal about it now. We know that Matter will work with existing Wi-Fi and Bluetooth, so it’s essentially a layer on top of existing connectivity paths and will not replace them. Reports say that devices will likely have to support Wi-Fi, Bluetooth Low Energy, or Thread to comply. Implementation details will be up to the exact manufacturer - as long as they stay on the standard they are good. We also know from various press releases by the group that the initial trials will be on home safety devices like locks and smoke alarms.

The standard is an IP based protocol, but obviously the devices won’t necessarily be required to connect to the internet - a local IP network will work too depending on what kind of connectivity and feature the manufacturer is planning.

The Future is Connected!

The first device with matter in is coming pretty soon (November or December 2022).Ubysis from German wants to be the first to have a product with matter in place. Apart from them there are whole bunch companies that are early adopters, big names like Amazon, Assa Abloy (Yale), Eve Systems, Google, Huawei, Legrand (Netatmo), etc. are all in there. So the future looks really good for an interconnected world of smart home devices. However, hold your horses. As with any such standardization which hundreds of separate competing companies have to comply to the dot there will be hiccups. On top of that the agreement on the standard and it’s changes are slow too - again because of multiple interests. It took early 2019 to 2022 to even get to a version 1.0 so you can imagine how it would go from here as new implementations are made and new needs arise for connectivity.

But we are super excited. Finally the days of connecting all those smart home devices are here!

Finding great software developers

Your software business is growing. To keep pace with the upscaling, you need a great software team to handle all the tech things so that you can focus on your work of expansion. But, do you know how to find and hire that great software team? A team that shares the same vision as you?

It’s hard to find good developers, as their skills are so much in demand that unless you are Google or Facebook you’ll never attract top developers to build your software projects. Even if you find someone with great talent and skills that person may not be the right fit for you and your team: he might not understand your instructions well, or may collaborate well with the rest of your team. Yet it’s vitally important to get the fit right in software. Building a great software is all about a team working together.

So, how do find great software developers? Here are some tips from our experience in working with hundreds of companies around the world building their software products.

Know what roles you need to hire for

A software team is composed of many distinct roles. Each role is essential and together they move your project forward. Remove one and you’ll see that things aren’t moving as they should. A role doesn’t mean a single hire, many roles are one person but sometimes many persons also fill a single role. Let me give you some examples: you need a business analyst role, someone who would understand the business problem you are trying to solve, then also understand how the software will solve that problem and most importantly know what are the priorities within the solutions. You also need a product manager, who will know what the product is supposed to do, when a certain version should come out with what features to meet what business need. This product manager will be the coordinator who talks with the tech team communicating the need and scope and then understand the technical challenges that the team faces and then faces the business side to understand their needs and communicates what’s what’s possible and what’s not. Now these two roles - the business analyst and the product manager tends to be two very distinct role but if the project size is small or if you just can’t afford two separate resources it’s just about possible to mix them both an have one hire that takes on both the roles. And if small startup it could be the founder who takes that role along with other roles like business development and even sales.

Whatever the context, before you even think of searching for your team, have a list of software roles you need to fill up. Then do your maths and figure out how many hires can you do and see if you can spread out the list of roles within them. This will guide you to the next step of the skills you need in your hires.

Know what you want to make

You need to know clearly the what you are making and what your business priorities are during this making phase. You should all the main features of the platform, which features are the most valuable and which are good to haves and which you can do without. The technology platform should be a big factor in this, for example you should know clearly what you want to keep inhouse and what you can get an external agency to do for you. For example, you can outsource salesforce development and keep the rest in house. In a perfect world you should also have clear specifications and requirements documents before you start adding software developers in the team who would build those features - but that’s in a perfect world!

In a startup, the minimum viable product aka MVP holds the most importance before the product or service is launched. Creating a neat and efficient MVP increases the chance of the startup being successful as well as fund raising and beta testing. And, that is where the software development team becomes crucial. So if you a startup just going through the motions of making your first attempt at the software your needs for the team is very different from the situation where you are an established software company thinking of extending an already selling software.

Remember that having a clear view about what you are building will not only help you identify the skillset you need but also help you ask the right questions when you find potential candidates.

Reference, reference, reference

The tech world tends to be a very connected world. Personal advocacy is always a first choice for everyone when it comes to hiring people for a software project. In this case, you have to keep in mind that your product or service is based on, and according to that you have to find the right people with appropriate skills. Maybe a web developer has helped your friend greatly, but it will not come to handy if your product is based on android application.

Here at Kaz software, around 80% of our customers are referred to us by our existing clients and partners.


Searching on the internet

Searching at the right forums and discussion boards can land you rare skilled developers who are not available in other platforms. Many software development teams work as agency and offer their services through their own company. If you are willing to work with a readymade team who can start working for you, this is a really good option. Kaz Software is a good example of such sources of ready to start teams. We maintain skilled teams working in a wide range of technologies from web application to mobile apps. The added benefit of using a company like ours is that we come with resources that a software project needs time to time but not always - resources like technical writers, designers, testers and systems support. And you can take help from such resources on a need basis, greatly reducing your HR spend and managing your budgeting.

Online platforms for freelancers like UpWork or Fiverr are widely used by employers who want to hire a remote resources. These platforms tend to be good for smaller or one off type projects. However, you can find freelancer groups as well who work together to offer service to startup owners to build solutions. The services can be web or app development to custom CRM solutions. This can be a really effective solution if you’re running low on budget. Also, you can find freelancers while knowing their actual review and rates. 


Social media and LinkedIn also can be a great option if you want to know the detailed and previous portfolio of employees. The experienced ones post their portfolios there, specify their skills, and the level of their endorsements shows their overall efficiency at their job. Even they don’t match your preferences, you can always connect with them and other people to get more people’s profile. Start by searching for the keywords relevant to your requirements and get the list of potential employees. Browse through the results, assess the profiles and send a proposal to them.

Offline search

You can always go search for technical people in person in events. A lots of conferences, meetups and hackathons take places regularly where you can find the right person to work with and discuss your work briefly. Especially in hackathon, you can get to see the efficiency of any individual or team who are just an event away!

Remote Resources

You don’t always need your team to be situated in the same spot. The entire world can really be your source of software hires! Remote software development teams can easily be managed using collaboration tools like Slack, Zoom, Jira, etc.

Remote software teams should only be hired through reputable software companies as they provide infrastructure for managing those resources, provide the right working environment, run the payroll, manage their holidays and work hours, etc. The most crucial reason for hiring remote teams from established software companies is the things around a team that makes a team coalesce and work with motivation. These include great office spaces, network and systems support, team activities and team building events. All of these keep technical staff motivated and companies benefit from that motivation.

Recruiters and managed service providers


Last but not least, if you want to outsource the hiring work to save your time, you can work with a recruiting agency or with a MSP aka Managed Services Provider companies who are mainly specialized in technology recruitment. This is a path we don’t suggest to our clients unless they are really short on time or are desperate for resources they cannot find in any other way. The main reason for putting this as a last resort is the difficulty of finding the recruitment agency that really understands your needs properly. Usually these agencies are working off a generic keyword driven hiring agenda that is not always the perfect fit for your actual need.


Market testing your software idea

Have a great idea of a software that can make lives better? But, no idea of how to find out if it is a good fit for users, and there is really a demand for this on the market? To find the answers read on.

The setting

Great products don’t get started with “what?”, it starts with “why?”. And, market testing for your software idea is also associated with this.

Testing your business idea is an essential first step to determining your target market and tailoring it to their actual needs. A software product needs lots of testing in its journey of being purely conceptual to a real product with real users (ideally paying users!). This is true as much for software technical as for market research. Any software product should go through a set of rigorous market testing even while it is just an idea, and then through design, prototype or fully developed stages.

The start

Writing down the basic anatomy of your product can be a good start. Breaking the whole idea into narrow parts helps a lot while integrating it as a whole. This involves finding your buyer persona, what value proposition your idea provides, and mostly, what problem it does solve and how it is unique from any others. Don’t forget to analyze your competitors and how they have tested their data and what they didn’t. Try to gather knowledge from reliable sources to have a lot of ideas to market your idea. For example, if you are thinking of making a customized ERP look at what a typical ERP RFP looks like.

Organic first

In this digital age, we have a lot of options to test the concept idea to people. Use your social media wisely in this case. Write a LinkedIn post, start a twitter thread, etc. Ask a question in quora. Ask if your idea will solve any one’s problem, Check out existing threads about software ideas related to your idea. Or just check out software idea questions generally, these might lead to some very insightful threads, here’s one about finding software ideas. Connect with communities from the appropriate social media forums where your target customer is finding solutions. This work as an organic testing which might need some time but can bring really great value for free. Remember one thing, many can like your idea but not interested in buying the product. So, this is not the end of the marketing test.

Moving forward, try to be creative with your marketing tests. Even before developing the whole product, just use the conceptual prototype with beta testers who are always curious to try out new things. Offering samples or customized takeaways can be ways of doing that.

Testing with a budget

Now, it’s time to hit the market with some real action. People liked your idea, joined for a beta test, but who’s going to buy? Create a market testing budget - as you’ll need cash up front for some of these activities.

Start with a landing page attached with a sign-up form can bring you potential customers in the early stages. Hubspot is an awesome tool for setting up free landing pages with analytics support. And if the idea flies and you do end up making the software, hubspot would be very useful to coordinate your marketing and sales effort. So it’s a good point to start. Also, use surveys to get to know the trends, what tailoring your idea needs and act accordingly. You can use a lot of free and paid tools like HubSpot's A/B Testing Kit, Google Optimize, Freshmarketer, Optimizely, Omniconvert. Crazy Egg. AB Tasty or Adobe Target. 

Prototypes and walk-throughs

After you have gone through the initial steps of market testing and you see a definite need for the product you are thinking of, you need to test with something more definite. This is where prototypes come up. Instead of building out a full software, a very expensive process, you can use prototype or even a series of pictures to represent your software and seek feedback that way. There are many free and paid tools to build a prototype for your software. Proto.io is one our favourite but you can use others that less expensive or free.

Once you have the prototype you can then start using a more formal approach to testing by running user group sessions or events to show off your tool and seek feedback with surveys. Some of these can be expensive but it’s worth the investment to get early feedback not only on your product idea but also about design, interaction and usability. This is also time when you should involve a software company like us to work on the design of the interfaces and help you through the user feedback and feature identification process. We’ve helped hundreds of companies and software entrepreneurs brainstorm and design software apps.



Team lead skills in the remote teams world

Software team leadership is always a challenge. A great team requires a fine balance of super geek, hyper proactivity, low ego and great sense of business needs - an almost impossible mix. We’ve written extensively about the traits and good practices of software team leads. Here’s a recent one about some of our top tips of becoming a great software team lead, based out of a survey we did with our teams. In this already complex and difficult role a new set of skills requirement is becoming very important - the skills of maintaining remote teams.

In the post pandemic world remote teams are becoming the norm. Remote software developers can based locally or be dispersed over a wide geography. With remote teams comes additional layers of issues like communications issues, cultural gap, teambuilding challenges, etc.

We asked our leads who manage remote teams for their best advice about managing these remote software developers well. Here are the top tips that came from this survey:

“Focus on output rather than effort”

One of our leads say this is the only mantra that a software team lead working with remote software developers need. His only focus is on the achievements of the team rather than how long it’s taking things to be done.

If a developer takes just hours to complete something that usually takes days, she is being productive. I don’t care about how many hours she is working per day
— Software Team Lead


This is not to say schedules are not important. Obviously. Keeping to a project plan is essential. But a great lead has to balance that with the fact that everyone works differently, which means a one-size-fits-all solution just doesn’t work in the software space.


“Monitor teams and give feedback regularly”

Constantly monitor and quick feedback is the key to managing remote team says another experienced team lead. He says his top priority is to keep an eye how the team is performing and give early feedback if things start to go wrong. Questions to ask are:

Is the team underperforming? Do they need training or mentoring?

Is the team overperforming? If that is the case could they take on more tasks?

Is there a team member who is not communicating enough? Or the reverse: is someone putting up too much noise in the discussion thread on the collaboration platform?

Do all team members understand their colleagues well? Is there a cultural issue that is creeping up creating a divide in the remote team? (this last one is the super important one when you have team members from different countries - social biases start creeping up in technical conversations that need be addressed asap).

“Find the optimal working times”

Remote team members generally mean different time zones, and even if the time zone is the same WFH leads to disparity about when is the best time for work for team members depending on their home circumstances. It’s vital for the health of the project and the team to find out when your remote team members are most productive, what are their preferred time for working. Once you have this information you can setup a system where there is the most overlap between the team members and yet there is no loss in performance.

Forcing a fixed time on remote teams just doesn’t work in the long run.

“Set guidelines”

Remote working gives your team certain flexibility, but that should not mean they can do things as they please. Setting guidelines about remote work/WFH is essential to create a set of rules that team members can follow and refer to when things go wrong. Setting these ground rules will mean the difference between a team that is well coordinated and a team that is constantly going through one chaos after another.

Note that guideline also involves scheduling. You can create a schedule for them that offers some amount of flexibility to your remote team. That is one of the biggest positives of remote work environments, and as expected studies have found that more than 78% of employees agree that flexible scheduling makes them more productive.

“Publicly acknowledge hard work”

It is vital to acknowledge team member’s success in the remote team working environment says one our most experienced team leads. That is because team workers can feel isolated and underappreciated in the remote team working model. It becomes the team lead’s job to find successes to celebrate and bring high performing team members to highlight. This creates motivation, takes away the isolation and the feeling of not being appreciated.

Acknowledge success during team meetings. Praise during a team meeting is a great way to publicly recognize someone’s success. It gives the team member a team-wide exposure and recognition of their capabilities and skillets.

Remote teams are here to stay and software teams and their leadership has to learn the new set of skills to manage such teams well. Hope this little set of tips from our team leads helps in that journey.

Remote software teams - the secrets of efficiency

Remote software teams are fast becoming the norm. It was a growing trend pre-pandemic, but the pandemic has accelerated that trend, proved that it is a workable model and has broken the barriers that usually slows the the pace of change for such paradigm shifting ideas in an established space. No longer are software products and companies stagnated by the lack of skilled resources in the neighborhood. Software resources can be added to a team as and when required from anywhere in the world. And this reality is completely changing the landscape of how software teams run and operate.

As with any new way of doing things, a new set of good practices are emerging for managing highly spread out remote software teams. Some of the old ways of doing things have to be adapted in a certain way to make things more effective. We’ve been writing about our experiences in managing remote software teams and setting up workflows that bring about the culture of enthusiasm and spontaneity that is the seal of all good software development teams. Today’s post is about the lessons we have learnt about making the remote software team more efficient at work. Here are some of the top tips from our technical leads:

Enforce the use of tools and process

Tools are essential for remote software team. Sometimes in software development they feel like overhead, and software developers hate following the rules set out by the team about work process updates on collaboration tools. For teams that work together, the process often breaks down because of oral communications or just plan and simple laziness, yet it may still work out, even this break down can accelerate the development process. Not true for distributed remote teams. With team members working away from each other, sometime working in completely different timeslots and often communicating in different languages - tools are the main process of keeping things moving forward without confusion. The number one loss of efficiency in remote teams come from confusion about a task and circular nature of debate about the work at hand. Tools reduce this inefficiency. So remote teams must make sure that they are not deviating away from work process and they are using the tools as planned. I’m being very expansive about the meaning of tools. When I say tools I really mean any pre-decided set of steps that the team uses to get their jobs done. Tools can be the collaboration tools like Jira or slack, or they can be some build environment, or deployment standard, or email chain that is sent out after every push to the repository, etc.

Make it easy to ask anything

The biggest downside of remote teams is the lack of face to face interactions outside of work between team members. These interactions break down the barriers between team members, making them operate at social level, ideally as friends. We’ve suggested many ways a company can try to solve this problem and bring the team together. The goal is simple: make it easy for team members to ask anything to other team members. There should not be a worry of “what others will think of me” or “she might think I don’t even know the basic stuff” etc. Having that sort of barrier means that remote team members spend an inordinate amount of time solving something that is already solved or could be solved in a matter of minutes if someone else in the team answered a simple question. You’d be surprised how many times hours even days are spent by software developers looking for a certain thing, say a database file, just because he did not feel good about asking about the location of the file.

“Failure is a learning opportunity” culture

On the same lines as the previous tip, the remote team should feel that failure is totally acceptable in software work. If the remote team members get a feeling that they have to hide their failure - because it reflects badly on their performance, or that their boss somewhere else in the world might get angry about the failure, they’ll waste time in trying to hide that failure. Time will be spent trying to fix it with a patch that will break down soon, or even worse shift the blame to someone else in the team. All such behavior leads to downward spiral of inefficiency, loss of team morale and eventually bad software. The solution is simple, from day one the team’s motto should be that failure is acceptable, when it happens discuss it with other team members, find a solution and learn from it so that the team doesn’t make the same mistake.

Team leads are the sheep dogs too

Team leads are typically the shepherds - leading the flock forward, showing the way to go, etc. But in remote teams the team leads have to play a significant role of sheep dogs too. Sheep dogs help the shepherds from the rear, making sure that no one is left behind, or no one at the rear are going in the wrong direction and most important everyone knows what the direction go is by making quick corrections to small mistakes as they happen. Remote teams spread out geographically has a much larger chance of individual members getting lost or going the wrong way in their work compared to teams that work under the same roof. This is where the team lead’s sheep dog role comes in. A team lead should setup a process where she can regularly check the status of work of team members - code reviews, regular meetings with individuals, product demos, etc. all help in this sheep dog work.

Solving issues fast become more important

All issues should be solved quickly in any software project - that’s normal. Issues lead to confusion that leads to delays. But in remote software teams this fact is magnified hundreds of times. A small issue, say a broken build, leads to a bunch of developers working in a completely different timezone to be sitting and waiting for someone to wake up from sleep to fix the break. Solving issues as they come up becomes a priority for team lead in distributed teams.

Goals first, everything else follows

Last but not least, remote teams need to have clarity about the goal of their work and of their company. When the team knows the goal it’s decision making process becomes much more independent. Individuals don’t have to wait for a team lead to answer every question for the work to move forward. With every team that’s important, but for remote teams clarity about the goal of their work may not be communicated enough. They may not be hearing from the management or the business leaders a lot. Their interactions get limited to a small section of the company - usually the technical teams. And this might lead to confusion about what the overall purpose of the work is. A company might be planning to build the fastest checkout tool for eCommerce, but remote developers may understand that they have to build out the most customizable interface possible for the checkout - leading to decisions that make the interface slow. If the goal was made clear then developers would then probably compromise on features of the customization in the interest of staying on the goal of making the interface fast.

Workplace design for a software company

We are turning 18 this month! Around every birthday we have we keep getting asked about our “secrets”. The secrets of how we run things, how we managed stay professional yet a fun place to work, how stayed profitable yet spend so much on “extras”, etc. And every birthday time we usually end up writing about our little “secrets” - although they are not really secrets, more like common sense. Today’s post is about one such common sense “secret” - what kind of workplace design (we strongly believe) works best for software companies.

First, let me point out that we have written around this topic before, so some of this will be regurgitation but some maybe be new - coming from our added experience and also a recent redo of the office space. So here goes…

Patterns rock but some new cool kids do too

I cannot but mention this side note: there is a direct link between the software design patterns and these architectural patterns. The pattern language book had been the seed for the idea of categorizing good software architectures and plans to a list of standardized design patterns by the famous GoF. As a tribute this connection, Prof. Alexander (the principal writer of the Pattern Language book) was asked to do a keynote speech at ACM conference on OOP which he started with this line :)

“Thank you very much. This is a pretty strange situation I find myself in. I hope you sympathize with me. I'm addressing a room full of people, a whole football field full of people. I don't know hardly anything about what all of you do. So—please be nice to me”

Just as with software design patterns workplace design also has patterns that can be used to create good designs! The classic in this space is The Pattern Language which first laid out the ideas of patterns in architecture or space design that leads to “good feelings”. Essentially the writers were trying to list and categorize the design elements that make some places feel comfortable so that these design elements can the reused. Within the 253 patterns they identified there are some gems for the workplace. We always tried to use as many of them as possible in our work place design. Over the years we have found that some work better than others for software companies. In our redo we kept to the ones we know works but we revisited the patterns to see if we can glean out new ones. Into this framework of patterns we have now additional public information about the workspace design thoughts for software companies like Google or Microsoft . We’ve been looking at what they believe is great and trying to steal as much as possible from them too! Obviously we don’t have as deep a pocket as the big guys so however much we like the slide at Google we just couldn’t convince our finance guys to fit that for us :(

Office space for the rest of us

OK, that slide at Google is just too good but since we can’t do that, let me go over some of the principles we have used in our redo.

Office needs to feel more like home

This has been one of our big ones from day one. We have always hated the “corporate” look of traditional software companies which look unnatural. By brining in elements from our home and allowing the organic growth of that workspace you create connection with the workspace. We thing that a workspace that looks and feels alien to what you are used to makes you disconnected from that space and you cannot have the same emotions and the same feeling of ownership as a space that feels like home. A good example would be a trip to a 5 star hotel - however beautiful it looks like, how comfortable that stay is like, you still feel that you are not part of that space, you are nothing but a temporary visitor. Contrast that with a stay at an airbnb, you almost instantly connect with place the moment you step in (assuming of course you’ve picked the right place!). The good thing is that the “home” feel is easy to recreate in most places. In Bangladesh the place of “adda” (chit chat) is a key for a good home feel. And we easily achieve that by bringing in elements of bamboo blinds and cane furniture. This is something we have used extensively in our redo from meeting rooms to “adda” spaces.

Meeting rooms need to be “cozy”

Meetings are the curse of work life :) Most of them feel like a drain of time and energy and your goal from the very first second becomes an exit strategy. I’ve generalizing of course but there are some elements of truth in what I said. Yet we know meetings are essential. To solve this opposing pulls we’ve found that a good solution is to make the meeting spaces feel cozy. You should feel that you are going to special place when you are going to meeting - a place that feels comfortable. We used a pattern for this (151 Small meeting spaces) and it is supported heaps of organizational behaviour research. For example Bernard Bass ran a study and published back in 1965 that showed the number of people in a group influences both the number who never talk, and the number who feel they have ideas which they have not been able to express.

Using several ideas from the pattern book and Microsoft’s data here are some of the things we decided about meeting spaces:

The space needs to be small and feel like you are moving into a comfortable space.

A pool of light on the meeting table (pattern 252) to tie the group members together.

Different types of chair (to make the feel of less corporate style meeting rooms and more home style spaces to talk).

Here’s a meeting room based on these principles from our redo (different chairs are not yet in there).

No approach from the back

This is our old one of making every seat with a wall at the back. The idea is that you should never feel that someone is watching you and your screen from the back. We keep our screens hidden from walking views. The overall effect of this is the feeling of safety and trust that it creates. It’s always been one of our strong views and we’ve written a lot about this before, here’s one recent one: Why we keep our screens private.

Keeping the team together

Software is a collaborative effort. Yet noise is a big issue for software developers because it creates distractions and reduces flow. How do we reconcile these two facts? Google actually had some really good data out about this after their big googleplex with hundreds of developers working on the same space went live. The gist of what we derived from it is that - the hum of work is good but only to the extent that the hum is related to what your interest is in. This fits with our beloved pattern of master & apprentice (pattern no 83). So we’ve designed the workspaces so that the team can stay together on its own without other teams mixed. We’ve also tried (where space permits) to have the lead (aka master) to have some more space and some privacy so that he can run short adhoc discussions without distracting the rest of the team.

Work and Play spaces

Ah this is our favourite as always. We’ve written about this very recently so I won’t repeat but point that post out: Work and play together - the secret of great work but the TLDR is that we have always had play areas very close to work areas. The idea is whenever someone needs a break they can quickly jump into a play area without a lengthy walk that becomes a barrier. In that light we have ping pong tables next to meeting spaces, adda nooks next to software development rooms or cricket running right next to work!

Special spaces and elements

We wanted to make the work space feel special in some way. This is really an on-going effort but throughout our office space we’ve tried to bring in elements that creates a little bit of surprise (and hence it’s ongoing as any surprise becomes boring after a while). Some of these special places are spaces that connect us with our past or our family (e.g. pictures of our children or us as children!), some are just weird things on display, some are nice things to look at (like pictures, aquariums, art work, etc.). I think these special things brings in a variety in our working lives and make us think outside the box once in a while.

I’ll leave with a picture of one of these “special” places - with picture of some of us as children and with one of us with his daughter enjoying the space - this pictures tells everything about our goals and aspirations for our workspaces.

Work and play together - the secret of great work culture

We are turning 18 this month! Around every birthday we have we keep getting asked about our “secrets”. The secrets of how we run things, how we managed stay professional yet a fun place to work, how stayed profitable yet spend so much on “extras”, etc. And every birthday time we usually end up writing about our little “secrets” - although they are not really secrets, more like common sense. Today’s post is about one such common sense “secret” - how working in an environment where fun is built makes for a great workplace.

Work and play together

Happiness is a core value at Kaz. It stands next to our other core value of the highest standard of work quality. We have always believed that workplace should be fun and relaxing which in turn will make the workers relaxed and more engaged. With this simple principle in mind we have integrated play in our work by introducing areas at work for relaxing, playing games like table tennis or cricket, for drawing what ever is on your mind on board, etc.

This concept of “work should be fun” creates work ethics that is spontaneous and ownership driven. This is the big reason why teams and individuals at Kaz take responsibility in getting their work done without any micromanagement and structure of command and control. And we think this is the only way to work in the creative field such as ours.

Play areas built into workplaces

A picture says a thousand words. Here’s one that tells the story of a typical day at Kaz. We have no qualms of putting a meeting room right next to a place where others might be playing. And time and time we have found that the play doesn’t affect the work nor vice versa. Yes, sometimes things might be too in depth in the meeting that the noise of play might be distracting - and that’s super easy to fix anytime by asking the players to play later. But the essence of the idea that work and play can and should happen together stays in the mindset of everyone. This mindset helps everyone to relax and creates a work environment that is stress free and happy.

Research supports our approach

Don’t take our word for it. There is a growing body of research from diverse fields like Psychology, Business management, Economics, etc. that support the thesis that play at work increases efficiency and performance.

Studies have shown evidence that play at work is linked with less stress and burnout. Play directly corelates with better job satisfaction, competence, and creativity. Research data indicates that when an employee is assigned tasks that are presented playfully, she is more involved and spend more time on the finishing the task better quality. The benefits of play goes beyond the individual employee. Teams and groups show increased trust, bonding and social interaction, sense of connection, and a decreased sense of hierarchy when play is introduced within the work culture. Studies show that play at work can benefit the entire organization by creating higher employee commitment to work, better decision making, and increased creativity. In a study done over 2000 employees in UK it showed there is a clear correlation between the uses of fun in the workplace. Amongst other data found was this interesting statistics:

  • 79% of employees think fun at work relieves stress

  • 62% of employees who have fun at work take less sick days

  • 45% of employees in a traditional business don’t feel engaged

  • 87% of employees are less likely to leave if they are engaged at work

Although if no studies were ever done we would have confirmed from our own experience over the past 18 years that work and play works together! And that’s just one of our big not so secret secret :)

Happy birthday Kaz!




Remote software team - setting up the collaboration

Remote software teams is way forward in software development. No longer are companies tied to particular locations, waiting for resources and skills to be available and delaying the entire software process. By finding the right software resource at the right time and forming a remote team to work with any onsite team completely changes the game - and companies that are realizing this are getting ahead in the game. This is just one more evolutionary step in our ever changing industry, a step that has just been accelerated by COVID but it was a step that was bound to happen at some time or other.

As with any paradigm shifts such remote software teams come with some adjustments in work practices and process. We’ve been working with hundreds of companies around the world for the past 18 years in providing software resources and hosting such remote software teams. Here are some our tips about the right setup for collaboration and workflow for such remote teams.



Setup a clearly defined work process

This may sound obvious but you’d be surprised by how many teams we’ve come across that just assumed things about the work process for collaboration of remote and onsite teams. This is understandable though, when a team works side by side many of the work processes are automatically defined and agreed upon without explicitly defining them. An example would be the timing a push of latest code into the shared repository - if the team is all together very soon a standard of when a push is appropriate and acceptable is agreed upon. A few wrong moves by a new team member quickly gets fixed by visual (and sometimes very audible!) ques from the rest of the team. But now imaging when part of the team is spread out remotely. The same mechanisms of automatic agreement doesn’t happen fast and sometime never. There is no way out on this, for teams with remote members the lead has to layout a clear set of instructions for major work processes. What the major elements are depend on the nature of the project and the team members but here are some that are obvious candidates:

Work timing - when to be available, when are good times for pinging without advance notice, when not to poke, etc.

Tools - defined set of tools for collaboration like issue tracker, IDE (specially versions of IDE)

Reporting standard - when to cry for help, when to warn about delays, what to report and what not to worry too much about, etc.

Testing rules - what should be the minimum set of tests on the developer’s side (even if unit testing frameworks are available for the CI/CD), etc.

Code repository rules - when to push, who can merge, etc.

Meeting rules - what tools to use, what are the good times for combined calls, how long the meetings should be, etc.


Create an open communications channel

With team members spread out geographically the open communications channel is essential for a healthy team dynamics. One common strategy is to have video call regularly with the video on (visual is very important forming the bond between team members). An awareness withing the onsite team about keeping the remote team members in the loop on all important decision making process is absolutely essential. Running regular video meetings is one of the best way to avoid issues caused by communication gaps and it has the added benefit of making the remote team members feeling valued. These video meets should ideally to be planned in advance and hosted at a time that works for everyone. A random last minute email to setup these calls isn’t the way to do it. Formalize at least a regular video meet by setting up a recurring invite so that everyone are reminded before each session.

Regular team calls should have the goal of keeping remote team members updated and also getting feedback. Remote teams should not find out about important decisions at the last minute. This has huge impact in lowering morale within the team members and would start creating a divide between the onsite and remote staff. If there is a new process change or some important company news a specially rededicated call aimed at all the members should be placed to keep everyone on the same page.


Use team collaboration tools as much as possible

For onsite only teams we always push for face to face informal interactions more than a very process and tool centric interaction. This is completely the reverse when the teams are spread out. In such teams you should aim to have all major collaboration purely tool driven. A good example would be work distribution on a issue tracker. For onsite only teams it’s usually great to have a quick ad hoc meeting to split a task and then asking team members to just create and assign the tasks to themselves - it moves the needle move faster and just feels less clunky, less “bureaucratic”. But doing this for remote teams is recipe for disaster. It’s best to rely on the tools, have as much as possible of the discussion on the tools (e.g. a discussion thread on the issue tracker, or slack, etc.).

It can be difficult to keep track of the progress and monitor the status of the project at every stage for remote teams. Using a great project management tool like Atlassian Jira is essential. Such a tool must have features for creating tasks and subtasks, assigning them to team members, tracking the task and setting time estimates for those tasks, etc. Such a system should also have a way for discussing details of task, a way to collaborate at the task level with a log of what is going on. Here’s a screenshot with an example of an ideal task ticket tool feature.