Startups are the new trend nowadays; therefor I decided to write about my six-year experience in ZORAQ (Iranian Expedia). I assume it will be useful for the ones who are all caught up with startups, if not it will at least help me clear my thoughts. This passage is a combination of technical and organizational experience of creating a product.
tl;dr: Focus on one thing, create a product team around it.
First period: Excitement
ZORAQ was created by the minds of two individuals. Both of them had majored in engineering and both had no experience in tourism. They had this idea that passengers from Iran who want to travel abroad should be able to fill their needs online. Little by little this idea got also focused on fulfilling the needs of traveling within the country.
An Indian company sold us a SAAS Website and booking engine. A Bitrix CMS was added for saving and editing data for the travel guide section of website. In May of 2011, ZORAQ’s online business was ready. The team had two founders, one chief editor, one translator, one partial time and one full-time (me) technical member and a graphist, who had been working on the product for nearly 6 months. That means 4–5 months after the team was created, we had a product that could perform, although with an awful lot of bugs.
We faced our main obstacles back then, issues that never got solved:
- The product had two separate parts, one was travel guide that was on CMS and the other was the search engine that wasn’t technically ours. 2
- Offline sales via telephone. Which was not part of plan and it was completely against our goals.
One of strengths of ZORAQ was also created during this period: building teams. Even before getting into ZORAQ, almost all of us knew each other from Google Reader or other social Medias. This made team building so much easier.
Second period: We must write it ourselves
This period lasted 3 years and happened around the financial instabilities of the first round of Ahmadi Nezhad’s presidency. We were lucky we had already paid our debts to Hotel suppliers and therefore could get out of that storm safely. But we had a lot of problems within the team.
In the technical team (we didn’t know we shouldn’t have a technical team instead of product team) we had this problem that the Indian team took a lot of time to respond. Since we had different languages and cultures, the situation got more complicated. We knew we had to write the product ourselves. Therefor we started writing it, but before that we wasted one year on these things:
• Writing the smartphone view of the website from scratch; only for the travel guide ,not for our main line of business: reservation
• Writing a software for the translators’ and editors’ team
• Writing an android application with the content available on the website
After succeeding in the tasks mentioned, we started working on the search engine and reservation system. Long story short, we tried with two different teams in two years and both of them ended up in failure. But what is the problem with focusing on the previous tasks?
- We didn’t know the user; therefore we weren’t familiar with its needs. We didn’t know to focus on improving the online sales or the travel guide pages.
- Our organization wasn’t agile. Each and every decision took such a long time that usually everyone forgot what they had asked for. The actual outcome took months to show itself.
- Lacking the experience of building a digital product.
In these three years, Users had a difficult time using the product. If our only source of income was the online sales, due to its many problems we would have been forced to fix them so much earlier. But it seemed that even we didn’t believe that online sales (our primary goal) was the only solution.
Third period: Money is the key
At the end of the last period, we had a hard time making ends meet. This period started by finding the first investor. We were all happy and congratulated each other since it seemed we had concurred a lot. In this period, managers started hiring more people. For the first time we had a product team, rather than a technical one. We had people with various expertise. This time we transferred the search engine to the new system and took another 6 months for moving the other parts of the website. What was the reason behind our success this time around?
- Building a product team.
- A clearer scrum. We also had defined roles in the process this time.
- Decision making was on the team.
- Concentrating on one task.
- A better working environment.
Only the last one was provided with the investment and all the others could have been done before that.
Fourth period: what to do now
This period started when the new website (with fewer bugs) was launched. We didn’t have the users we had expected, we had some improvement but not the ones we had hoped for. After a while we faced other problems. Issues that couldn’t be fixed by one team or software:
- What is our main goal? What number should we hit? Is even reaching a number our real goal?
- How could we reduce the pressure of building the product in a short time, the pressure that we had encountered during the last period? And how can we adapt the team to short time releases for developing and maintenance at the same time?
- What is the relation between marketing and customer care? Which team should be asking the other one to do a task?
- When will be the time for focusing on the parts that we had neglected before?
In this period ZORAQ got the crucial change that was in need of for such a long time: we almost got to know our real users, where to find them and what they don’t need. Furthermore after almost 4 years, now was the time that the team became in charge of decision making and building. Therefrom the meetings became more explicit and discussions became more practical. We started talking by numbers and creating a vivid picture. Before that the whole data used in decision making came from a glance at Analytics. But how did we overcome all of that?
- We escaped the investors trap when. It’s when the investors prevent the organization from becoming bigger than themselves, or when they don’t grow as the organization grows.
- Trust. Whenever we didn’t trust each other or the department or other teams, problems took longer to be solved.
- Ignoring the nonsense of useless consultants. You should listen to the team rather than paying attention to the consultants.
Fifth period: Investors pressure
In this period the thing that mattered the most was the number of bookings. For the first time everyone knew what was important and what was the latest update on that. We put our goals on the office walls. The product team went through many changes. A lot of people came and even left. For the first time we sacked someone from the company and we started reviewing the performances. Every few month we would released a major version and things were going smoothly. In this period we tried to part the team into two multifunctional teams. The scrum masters were developers in their own team, an idea that didn’t work out. The main reason was that we had neglected a lot of things before and now we had to focus on them. Moreover the teams where uneven and the knowledge hadn’t split quite right between them. I left ZORAQ at the end of this period.
During this period all the teams were working more professionally and had higher performance. We had fewer emails within the organization and had no internal automation softwares. We had more face to face talks and more productive meetings were held.
Last period: Labor
ZORAQ grew bigger than what it had experienced before. The product had its own natural growth, meanwhile the growth, marketing and SEO teams pushed it even further. Getting rid of the hierarchy in the organization and creating a more flexible atmosphere was the result of this period. At the end of this era ZORAQ was sold to Alibaba.ir, its top competitor. Almost every member of ZORAQ, with the exception of few members of the technical team, left the company. ZORAQ had these achievements after 7 years:
- All the trips we make possible for our users
- The ZORAQ brand
- Software of the website and the search engine
The obvious points which we understood them too late were:
- Until there is no serious issues in developing the infrastructures, or when the problems aren’t getting in the way of many users, it doesn’t matter what the technical architectures or the tools are. You shouldn’t code for a high number of users or even built a team based on that from the first days.
- All members are equal in the team. If someone knows a lot more than the others or is getting paid a lot more, troubles are definitely on the way.
- Creating a friendly environment and being professional at the same time is harder than it looks. But it’s the most valuable thing that can be done in a Startup.
- All the Agile Manifesto values and principle (or scrum moral values such as Openness) are practical. Being committed to those are even more important than paying the salaries on time. Moreover these values should be important for the whole organization.
- It doesn’t matter what team or software development framework you’ve got. Work with what is best for your team and after gaining the experience, change it if needed.
- If the output of each team or each expertise is not shown after two weeks tops, it means something is wrong. The task would cost you more or will take longer, or would never be completed. The best known practices for software teams, is not exclusively for the foreign teams or teams who have a lot of free time. One main duty of the teams, specially product teams, is creating and developing knowledge and service for the internal usage.
- In Iran the definition of seniority is someone with high level of technical abilities and bad temper, or someone who has no trust in others or has a very high self-confidence. This person would be a very bad choice for the team. He would get the job done but one day or another will ruin everything.