Smart Contracts, Remote Teams, and the Influence of Blockchain

The Current State of Affairs

More and more companies are outsourcing their digital innovation projects, opting to partner with remote teams overseas that can outcompete the local market. That said, when working with distributed teams, some fundamental aspects of the working relationship may also change. Regardless of the risk of entrusting a long-distance party with product development – no matter how high the talent level is – it’s still important to reduce the business risk as much as possible the same way it is at home.

Systems still Operate in a Centralized Fashion, Mostly

In most agreements in this space today, parties engage in transactions with one another through a centralized broker or central system, and these are often external. In doing this, each party trusts the central system rather than each other. Although the practice is majorly tried and true, placing the trust on a third party to execute the business is inherently risky because it makes both main parties dependent on the third, not to mention it could also be unnecessarily costly.

Enter smart contracts.

Smart Contracts are a Blockchain underpinned software that stores the negotiating terms, contract verification, and subsequent execution of the agreed terms. These contracts are executed on top of the Blockchain using platforms like Ethereum, designed so that “applications run exactly as programmed without any possibility of downtime, censorship, fraud, or third party interference.”

In general, smart contracts offer a new way to remove trust issues and decrease costs by removing the need for a third party when fulfilling contract terms. Decentralizing the process using a smart contract makes it more secure, more cost effective, and faster.

Smart Contracts work and are executed entirely by triggers within the code, so there’s no human interaction during the execution process. This removes the need for the third party involved in more traditional contracts, saving time and money and reducing the overall risk of one side not holding up their end of the deal.

How does a Smart Contract help with remote teams?

For everyone involved in a remote work agreement, smart contracts enable easy transactions safeguarded by knowledge that the Blockchain technology authenticates them independently. For smart contract users, this means that when an agreed deliverable arrives and verified, the contracted supplier is paid automatically by the self-executing smart contract. In this way, the contract will also save time as suppliers won’t have to chase up payment of invoices for services since these are automatically completed via the smart contract.

Fortunately, the same thing applies when payment is confirmed for a product. That product can be transferred automatically to the buyer and its delivery information would be logged within the Blockchain. This provides a complete and incorruptible record of transactions logged on the Blockchain, all in chronological order.

Aside from the increased level of trust, smart contracts also give those involved:

  • More autonomy: There’s no need to involve a third party, and once everything is set up there is no need to jump back in to complete anything.
  • Safety and backup: Cryptography removes the risk of being hacked and as your documents are duplicated throughout each part of the chain, there’s no risk that they’ll get lost.
  • Accuracy: Decreased human interaction with the process removes errors that can arise from manual input. There is a complete and accurate record of everything that has happened within the contract so all components can be tracked.

The upshot

Smart Contacts remove the middleman, lower costs, and make the overall process of remote working agreements more efficient and safe. Expect smart contracts to play a big role in the future of work, as well as other areas as the technology matures.

Product Owners: Understanding who the real MVP is – Part Two

Part 2

This is the second of a two-part series on product owners, what they do, how they do it, and why they’re so often vital to the success of development.

Product owners have a huge number of responsibilities within their remit. While Part One detailed the context of a product owner’s duties and responsibilities with stakeholders, development teams, user stories and product backlogs, Part Two here will detail about intelligent prioritization, managing feedback, juggling multiple expectations and expectation management.

Intelligent Prioritization

Product owners will judge user stories based on their size and perceived value in order to prioritize the backlog as intelligently as possible. If two user stories are roughly the same size but one has more value then naturally the more valuable user story will take precedence in the pecking order. This applies to stories with similar value but one is smaller. The smaller one goes first.

How do product owners know the value and size of a user story? Short answer is that they don’t. It’s educated guesswork based on constant communication with stakeholders to find out what is valuable, and the development team may help estimate what is big and small in terms of buildout and implementation. In the end most guesses are relative to the current project, but the time it takes to get these right is time well spent.

The Feedback Loop

An efficient agile team needs to deliver early and often to maintain velocity. It can accomplish this by breaking down user stories into pieces. In an ideal scenario the most clearly defined stories are at the front of the product backlog, while the more nebulous ideas are at the back. These will eventually be rendered clear and into bitesize pieces in a process known as backlog grooming.

Image via

Backlog grooming usually involves the entire team in addition to a few stakeholders. In general, these meetings focus on dividing user stories, acceptance criteria, and estimations. It’s important that these take place because regular communication is what typically binds the agile process together. As the Agile Manifesto says, “Individuals and interactions over processes and tools.”

Juggling Multiple Projects

When a product is finished, the work doesn’t just cease. Unless an app, platform, or service is completely shut down, development teams rarely have nothing left to do. When handing over projects to others, they’ll need to review responsibilities and make sure processes are well documented. In other cases, they may hang on to provide maintenance and upkeep themselves.

For product owners, this means they’ll have to start coordinating on other projects while all the above takes place. This means they must also begin prioritizing work across multiple products with new stakeholders. Unfortunately for them, this means the product backlog might now contain user stories for multiple projects.

Extreme Expectation Management

As the project progresses, stakeholders and clients may ask when their product or feature is being built. In cases where the development team has no scrum master, then dealing with these timelines and expectations falls to the responsibility of the product owner. No matter who it is, somebody must manage these expectations of the clients and stakeholders. Product owners forecast progress using story burndown charts, which show the cumulative number of stories been delivered over time and allow them to accurately forecast output, or timings of deliverables.

Image via: Scrum Alliance

If a development team’s output is difficult to predict, then there will be greater disparity between the optimistic and pessimistic projections. The gap separating pessimism from optimism is known as the cone of uncertainty.
However, with burndown charts, a product owner is able to answer a stakeholder’s question of “How much of the product will be complete by June?” with a fairly accurate estimation of the minimum and maximum number of completed stories.

The Bottom Line

Without a dedicated product owner, any development cycle is at risk of spiraling into a chaotic mess of unprioritized, unbuilt features, an unorganized backlog, missed market-windows, unhappy stakeholders and an overworked development team. Product owners bring order and maintain communication for the agile development process, and their contribution to the final outcome of a digital product is immense. The responsibility is gigantic, and that makes product owners the real MVP.

Product Owners: Understanding who the real MVP is – Part One

Part One

This is the first of a two-part series on product owners, what they do, how they do it, and why they’re so often vital to the success of development.

A good product owner plays a critical role in agile development structures and separates mediocre development results from the great. To understand what product owners truly bring to the table, it’s important to consider how agile development works from their perspective.

The Context

A product owner has a vision about the desired end creation and the stakeholders (those affected by the product) have lots of ideas about what the product should do. The stakeholders’ needs are expressed neatly through user stories – a map or guide that arranges these needs into an easy-to-follow model to help understand the functionality of the system, identify holes and omissions in the backlog (more on this later), and effectively plan holistic releases that deliver value to users and the business. Typically a user story will follow this formula:

As a {type of user}, I want {to perform some task} so that I can {achieve some goal/benefit/value}
(Scrum Alliance)

The product owner is responsible for making sure user stories have actual value and are sufficiently prepared to be passed on to the development team.

Teams and Sprints

Any product needs people to build it. In agile software development, cross-functional and self-organizing development teams make the products. These teams usually works to release continuous iterations of a product during phases called sprints. Typically, sprints take around two weeks and the number of user story points released within each sprint is the team’s capacity. Teams may release around five to fifteen stories per sprint but this can change depending on the kinds of changes and stories the product requires.

Twenty user stories is generally the upper limit and this usually occurs in a web team with lots of small changes to do. Anything more than that is probably too much, unless it’s for maintenance teams to knock out a backlog of small defects. As a rule of thumb, exceeding the upper limit usually means the stories are not clear enough, the sprint is too unrealistic, or the definition of “done” is too weak.

Most individual user stories shouldn’t take more than half the sprint to develop and test. Having multiple stories that take up more than half the sprint at the same time is risky, and in that case all the other stories should be very small. For a two-week sprint, it’s better if every story can be completed in one to three days. (Adjustable for longer sprints.)

“Yesterday’s Weather”

The leading ailment of sprints is when stakeholders and everyone else with a vested interest in the project ask for more, and ask for it in waves. As the development team releases iterations, it’s only natural that the stakeholders become more inspired. Still, as much as it’s unreasonable to ask stakeholders to figure out all their ideas at the start of the first sprint, it’s just as frustrating for development teams to aim for targets that move. Imagination changes on the go, and ideas can’t always fit on a development team’s plate.

As a result, teams that have a capacity of five to seven user stories per week won’t perform well with stakeholders pushing ten. This kind of overloading can cause some serious miscommunications, misaligned expectations, and lower quality results.

The way to avoid this is a method known as ‘Yesterday’s Weather’.

The development team says, “The past couple of weeks we’ve been finishing around five to seven user stories per week, so let’s say six is our optimum number that we can work on simultaneously.” Six is now their work in progress (WIP) limit, which is the maximum amount of work that can exist in each status of a workflow. When they finish one user story they start on another one. Finish two, pick up two more, and so on.

Strict task limits force teams to focus on smaller sets of tasks, causing increases to throughput and reductions to the amount of work that hangs in the “nearly done” category. At a fundamental level, WIP limits encourage a culture of “done,” which can be satisfying for everyone involved. Additionally, WIP limits also boost the visibility of bottlenecks and other elements that stifle progress. Teams can then clearly understand what is being blocked, why and how that’s the case, and develop a resolution strategy. Minimizing the delay of blockages allows the entire team to keep a steady pace and workflow.

The Product Backlog

If a team gets too ambitious and breaks its WIP limit, fast can turn to slow, accuracy can turn into sloppiness, and output can start to leak or fall behind. The resulting consequence is the formation of unfinished user stories into a queue known as the product backlog.

This is often where the product owner becomes the center of attention because this queue needs to be both managed and prioritized, which was not an issue previously. At this point, the sprint planning meetings need to address the level of urgency on new and backlogged tasks at the same time. In doing so, product owners attempt to strike a balance of eliminating the backlog while also moving the overall development forward at the same effectiveness – which is not an easy task.

To ensure that the product backlog doesn’t get wildly out of control, the product owner must start to say “No” to certain stakeholder desires. If the product owner isn’t from the side of the client, he/she may not have the necessary authority to make these decisions. In such cases, it’s up to the product owner to successfully convince stakeholders to prioritize backlogged items. All of this potential conflict helps support the importance of sticking to the WIP limits.

This is the end of part one. Be sure to read part two on intelligent prioritization, the feedback loop, the juggling of multiple projects, and the management of expectations.

Beyond the 9 to 5: How remote work and flexible hours are changing the game

One of the most sought after employee benefits today is a flexible work schedule and environment. That includes all the old and new buzzwords like home office, flextime, telecommuting, digital nomad, and remote working. Apart from compensation, a flexible work setup is among the first things a job seeker looks for in the market today, and this comes as no surprise. Technological advances have long been paving the way for the remote worker to accomplish everything at a distance with cloud based tools, real-time collaboration platforms, team messaging applications, and advanced video conferencing.

The natural progression to digitalize the workplace has led to as many as 43 percent of Americans working remotely at least some of the time in 2016. Overall, most of the advantages to the employee are easily recognizable, and they include:

  • More comfortable work & life balance.
  • No lost time in traffic during peak hours commuting to and from work.
  • Savings on childcare for working households.
  • Reducing the need to take leave when unable to be in the office.
  • The ability to plan conveniently with more control over a schedule.
  • Overall satisfaction of not juggling all of the above.
  • While the benefits on the individual are strongly pronounced, the impact on the company is not always so clear. Significant brushback arguments often accuse remote working allowances to cause unreliable results, inconsistency from too much rescheduling, slower outputs, stifled teamwork due to less physical presence, and sacrifices to company culture. Nevertheless, many employers that embrace flexible working environments (software development companies in particular) are finding that the positives far outweigh the negatives. Here’s what many of Digital Knights approved teams are saying they gain from it:

    Increased employee retention

    Arguably the biggest driver for companies to offer flexible working options is the impact on employee retention rates. A report from the New York Times stated that “flexible scheduling and work-from-home opportunities play a major role in an employee’s decision to take or leave a job,” and Thrive Global says according to a study by the Society for Human Resource Management, “89 percent of companies report better retention simply by offering flexible work options.” In an industry like software development where experienced developers are hot commodities, flexibility has become an integral part of the employment package.

    Increased productivity

    Giving employees the freedom to make their own hours has lead to an increase in productivity for many teams. When it comes to agile development, it’s not a necessity for everyone to be working on the same thing at the same time. Employees can decide when to work based on what best suits them – some people are morning people while others are night owls. Digital Knights teams have expressed that employees who feel free to control their own schedule produce higher quality work more regularly.

    More engaged team members

    If employees are happier in their work environment then they are likely to be more engaged. Sara Sutton Fell, founder of Flexjobs, said, “Employees who feel empowered to structure their work and personal lives according to their needs are more satisfied. In fact, when asked whether they’d rather have a flexible work environment or a salary increase, professionals overwhelming choose flexible work” (Source). Teams within the Digital Knights network have backed up this sentiment, noting that if people feel trusted with more freedom, they also feel more respected and in turn become more engaged and willing to help with things outside of their direct remit.

    Access to a wider pool of a talent in a broader geographical area

    Companies that embrace the offering of flexible work and utilize the tools to their advantage have fewer reasons to limit their recruiting geographically. This can provide massive benefits on the whole as it opens the door to more talented individuals and can turn into a strong culture that attracts other great people. Given this flexibility, it also grants companies the opportunity to work with talented individuals who can’t support traditional 9-5 roles because of disabilities, family responsibilities, or other reasons.

    Making remote work, work

    Taking everything into consideration, it’s important that flexible working is not only offered as an employment perk but that it also works well for both parties. Individuals need to be ready for the added accountability when nobody is watching, and the company needs to update its processes to handle a more dynamic environment. Everyone should have an understanding of what kind of jobs or tasks make remote work a better option, and the company needs to take the necessary measures to ensure that communication, company culture, and responsibilities are upheld. Moving forward, all signs point to flexibility becoming an even bigger mainstay in the the workplace.

    For more tips on workplace transformation, read How to get the most out of remote teams in an agile environment.

8 questions to ask before hiring a team of software developers

Digital innovation is risky business, particularly when it calls for finding outside software development help. Unfortunately, that’s usually the case, as few companies have teams of developers skilled in new technologies waiting around on the bench.

Finding a new technical partner is a challenging and time consuming task, with or without a background in IT. The right choice is often make-or-break when it comes to budget and market opportunity, and the wrong choice can be a crushing blow to the entrepreneurial spirit.

In an effort to combat this struggle, Digital Knights has evaluated hundreds of software development providers and collected a remarkable amount of data behind their successful partnerships. Of course, not everyone can replicate this body of work in their search for tech talent. When it comes down to it, most people that have the technical expertise to thoroughly evaluate prospects don’t have the time, and most people that have the time don’t have the expertise.

That said, while Digital Knights has developed its own winning formula for putting fruitful partnerships together based upon the intricacies of this data, any individual can get started with these key questions:

Is the team already established? Do they have a history of working together?

A tech partner with a team history of working together is going to be more predictable and efficient at getting started than newly formed teams. Groups of individuals that haven’t worked together previously have to find out how to work well together first before they can find out how to work well with a new parter or client.

What are their communication habits like?

First of all, language barriers are as real as the time it takes for a project manager to translate to a developer and back to the client – even in the same language. Besides ensuring that spoken language skills match up to avoid misunderstandings and delays from ambiguity, it’s also important to find out what kind of communication tools the team uses. If the team or the client is committed to using a specific communication tool or platform that the other is not familiar with, somebody has to learn something new.

Do they clearly document processes?

Clear documentation makes for high levels of transparency and, in turn, confidence and trust. It also safeguards both sides against potential misunderstandings that may arise about decisions and agreements made during the project at a later date.

Does their work style match the life-stage of the product?

Some teams are better suited for the creative phase, and others are fit for the large-scale execution. More often than not, an agile and fast-moving tech partner is more equipped for ideation and concept stages to build MVPs. Teams with more regimented styles, on the other hand, are solid bets for projects in the scaling and maintenance stages since they’ve been through it several times before.

Is their company culture a good match?

What are the working hours like for the team? How often and in what way do they supply feedback? Do they encourage professional development? Do they socialize together outside of work? None of these questions individually may be especially relevant, but taken together as a group allows for a greater sense of understanding and compatibility. Teams that operate in similar ways and have complementary cultures gel with the work environment of their clients far easier than those with clashing cultures.

What is the competition like? How does the team’s work produced, project success rate, and time of completion compare with that of others?

There are too many providers out there who stand on promises alone. A hearty competitor analysis will help weed out the red flags, and produce a few decent price quotes for comparison along the way.

Is their code up to par?

Examining existing code is essential, even for the non-technical. Enlisting the help of an expert or a friend is well worth the favor, as a code review is a sure-fire way to check that their work is clean, tidy, and sound. It may also hint at the level of experience they possess.

Have past clients been satisfied, and what was their experience like working with the team?

Testimonials and case studies only go so far. Asking for references and calling them up is a foolproof way to verify claims and ask specific questions. Ask those who have worked with them previously things like: Did they stick to budget and timeline? What can I do to prepare to work with them? What should and shouldn’t I trust them with as a tech partner? How did providing feedback go?

Utilizing these questions as a checklist is a great way to get started in the search for a tech partner. While it ought to provide a base of understanding for making informed decisions, this is certainly not an exhaustive list. Digital Knights welcomes anyone looking for a technical partner to get in touch for assistance, and naturally, the Digital Knights network of approved partners is a great place to look.

To read more about evaluating software development providers, read The must-haves to consider when choosing a tech partner.

Techstars Connect adds Digital Knights to alumni perk network

Digital Knights is proud to announce its invitation to join the perk network of the renowned seed accelerator, Techstars!

Techstars is a worldwide technology acceleration network that runs nearly 40 accelerator programs globally and nurtures an entrepreneurial community among its past and present participating companies. Techstars Connect is a private resource for founders and staff within the Techstars Network.

Beginning now through to March 2020, Techstars alumni will have direct, reduced rate access to the Digital Knights development service for building cutting-edge software with verified tech partners.

This goes for all members of the Techstars network regardless of location, and is available through the Connect perk network, here:

The bulk of Techstars’ rich and growing network consists of technology-oriented software and web-based companies and startups, which means finding talent that can produce and deliver fast enough is a significant and constant concern.

Now, however, with on-demand access to the entire Digital Knights network of experienced and reliable tech partners, Techstars alumni who are struggling to find – or have difficulty trusting – teams of developers finally have a data-driven solution.

Digital Knights is eager to assist the many worthy Techstars portfolio companies continue their growth by empowering them with valuable data and rewarding tech partnerships.

Innovation culture: How to look like a corporation and act like a startup

Just about everybody familiar with startups knows they have a reputation of being hip, exciting, and more often than not, they’re at the forefront of the innovation conversation. Meanwhile, big corporations are no strangers to that conversation, but it’s their participation that carries criticism. A 2013 study by Accenture found that 93% of CEOs said the long-term success of their business strategy relied on innovation, yet only 18% felt their investments in innovation were paying off. Clearly there’s room for improvement.

For corporations today, it’s essential to have an internal culture that promotes startup-like innovation not only for attracting talent, but also for stimulating real business growth and staying competitive. That said, innovation culture itself is not so clearly defined. What does it look like? And is it possible to build one?

What is innovation culture?

First, it’s important to acknowledge that partial definitions about both innovation and culture seldom do the job in explaining how they fit together. Digital Knights places a very high emphasis on culture when evaluating software development companies, and the data collected through studying team after team has revealed that innovation culture does not come down to just one or two things. Instead, it’s the blending and facilitation of a set of principles that allow groups and individuals to be experimental without the fear of failure, and to take risks while being free from added consequences.

On the whole, organizations that are innovative usually share the same set of traits:

  • Innovation is encouraged at all levels with management cultivating opportunities for it to prosper.
  • Traditional business models are altered to encourage collaboration.
  • Time is prioritized and managed effectively.
  • Processes are in place, but flexibility and agility are more important.

Management drives culture change

“Most leaders are unaware of their power to change the culture of their companies and instead find themselves imitating trends and fads. Their company’s culture is created daily by what they themselves as leaders punish, recognize, celebrate, and reward. The adoption of new innovation tools will not help a company if its leadership team is still hanging onto traditional management practices.” – Forbes contributor and author Tendayi Viki

Arguably, the biggest influencer on innovation culture is the management team. Innovation calls for both regular and irregular creative thinking, and managers can facilitate this by creating an environment that invites any and all roles to share ideas and pursue the good ones. One example of a large company doing this well is Google’s “20% time” policy, which encourages employees to spend 20% of their work week on alternative projects that they want to tackle.

Digital Knights asked several of its approved development partners and they all agreed: If the client’s management team isn’t fully onboard with innovation culture and there’s little room to share ideas and feedback within the company, then the failure rate of that client’s projects will remain high.

All in all, the most crucial outcome of management buy-in is the adoption of this culture by the wider organization from the top down. Basically, if management doesn’t take the new way of working and thinking seriously, there is very little chance the rest of the organization will.

Innovation needs to go beyond the existing business model

The company structure of most corporations is not naturally set up in an open, transparent format that is conducive for innovation. Often, reorganization is required to promote a collaborative working environment where people within the organization have an equal voice to contribute to discussions and share opinions/perspectives, regardless of their experience, time at the company, or their role.

It’s already out in the open that a flat hierarchy is more favorable for creating the shared marketplace of ideas needed for an innovative culture, and according to McKinsey, “R&D leaders need to hire people who are willing to join multiple projects and to move from one to another as needed. Call them ambidextrous; call them system thinkers. These are people who want to solve problems that matter and that take them from invention to final product.” This means that in a lot of cases, the hiring process also needs to be reevaluated to accommodate individuals who are adept at thinking cross-departmentally.

Time is used wisely

Many large corporations that have their hands in innovation are prone to setting up innovation hubs/garages/centers/labs separate from their main core business. Companies such as Lufthansa, Vodafone, and Thyssen Krupp have established dedicated innovation hubs, garages or labs. While this is great initiative, the sustainability becomes an issue when staff who participate in these hubs have to fit their commitment around their regular 9-5 jobs. This means they don’t get the time and/or focus required to be truly effective, in addition to their likelihood to burn out. Teams within the Digital Knights network warn that this way of working poses risks to the overall project (and the budget) due to delays in communication and lack of equal commitment.

Alternatively, environments where employees are given allocated time to work in the innovation center within regular working hours have a much higher chance for success. When the focus is high and the time is ample, the overall dynamism allows solutions to arrive much quicker rather than hunting people out when needed and derailing momentum.

Flexibility needs to be a priority

An obvious and consistent barrier to corporate innovation is the bureaucratic measures, red tape, and other standard company procedures that cause significant delays to the innovation process. In order to operate in an agile way, companies must be prepared to challenge their existing methods and bypass them to stay competitive, no matter how difficult it may be. This is generally where large corporations fail because they are not up for the challenge internally. Teams within the Digital Knights network have said that a leading cause for corporate clients not moving as fast as their competitors is holding themselves up and waiting for multi-level approvals from within.

While corporations are typically large, slow moving beasts governed by strict processes, creating a culture of innovation in a corporation is still entirely possible. It hinges on management’s attitude and approach, prioritization of time, and flexibility of the business structure and processes. In the end, innovation is not just about having great ideas. It’s about having the freedom to come up with any idea, the encouragement to try it out, and little to stand in its way.

For more about innovation within corporations, read Speeding up innovation in a corporate environment.

From zero to one: Building a Data Science company from scratch

By Nenad Bozic, Co-Founder & CEO at

“Data Science meets Data Engineering”

Prior to forming SmartCat, my partners and I had vast experience working with (and for) traditional web development companies. When it came time to start our own thing, we tried to apply the same processes and steps to build a data science team. It was quickly obvious that this would be a long learning process, and we needed to adjust our way of thinking if we hoped to bring AI projects successfully into production.

What made the transition even more of a challenge was the team makeup itself, consisting of engineers and scientists from different backgrounds, speaking completely different (technical) languages. This is the story of how we’ve gotten to where we are today. Having said that, this is not a silver bullet formula since the field is changing rapidly and we react to changes on a daily basis ourselves.

Initial Idea vs Reality

Our vision was to build a Data Science company, helping businesses solve their problems by using smart solutions. Big Data was gaining popularity, and everybody was reading success stories about how machine learning and AI solutions were making companies thrive.

In our early days, most of the companies that contacted us were saying the same thing: “We are collecting data and want to do something smart but we do not have a clear vision. Can you help us?”

This was the inspiration that led us to offer business insights as a service. Here, we aimed to help companies utilize their data and data specifications to perform exploratory analysis to gain key insights and identify firm conclusions, visualizations, and ideas for the future. Unfortunately, while we saw a lot of value in our offer to help optimize business insights and decisions, most companies decided that making sense of their data was not a big enough priority to follow through.

On the other side of the coin, however, our data engineering and data ops team were in high demand. Recognizing the power of data, companies wanted to equip themselves with the right infrastructure and tools, so we helped in building data processing pipelines and storage solutions.

For this reason, our data science and data engineering/ops teams were working on different projects without much collaboration at the time.

Big Break

Elaborating on our vision, we wanted to run a company capable of offering end-to-end data science solutions. To us, this meant working on initial ideas with the client, then running workshops with them to create a clear path and action plan, and finally doing all the prototyping and integration. The problem was, those projects were nowhere to be found. We remained patient since we knew there was a gap in the market, and companies that were not big enough to have an internal data science team could benefit from our expertise.

Fast-forward a year down the line, when our long anticipated end-to-end project appeared; a system that combined user analytics and real-time offers to create highly personalized recommendations. All in a single solution.

Finally, a project that was the perfect task for the data science team. Real-time offers were something our engineers had to solve on a daily basis, and since it also had to run on a reliable infrastructure, it was a perfect match for our data ops team to dig their teeth into at the same time.

But things didn’t go as smooth as we hoped.

The Lessons

Lesson 1: Involve the client in all phases.

As we started the project, we expected the first phase to be easy. A single data scientist started data exploration through Python Jupyter notebooks. We wanted to visualize data, outliers, trends, figure out size and amount of data. Absolutely confident in our ability to understand the problem, we hardly involved the client. We attained insights, plotted several graphs, and composed a beautiful document filled with features and ideas about the implementation phase.

Eager to present our findings, we scheduled a call, and that’s when it became abundantly clear to both parties that we did not involve the client enough.

Some findings were not relevant for their domain or their company and we missed important details. We now had to throw out half the report and go back to the drawing board. This was a serious wakeup call to get off our high horse, take notes, and learn our first lesson the hard way.

The second report we prepared was much better, and the client was very happy with the results. We moved forward with one of the proposed approaches and started with prototyping. Again, our lone data scientist got to work. After trying a few different algorithms before settling on one that made the most sense and gave the best results, we created a web demo and the client started testing. Satisfied with the results, we all moved on to the production phase.

Lesson 2: Involve data engineers with data scientists early – even in the prototyping phase – to avoid double work.

The production phase, in our minds, should have been easy; We had the web demo, so all we needed to do was make the API and integrate with the final solution. We severely underestimated this phase.

The prototyping code was not ready at all. It was done only by data scientists (I mean no offense), and that means they were focused on clustering users and showing the best possible recommendations to each user. They were all about precision and if a test set showed above 90% accuracy, it was considered a good job. Thinking about the amount of users, ways to integrate, dataset size, performance, availability of the systems around the data science solution is not their usual strong suit, and here it was all overlooked. One example is using Flask as Python web framework. It is good for this phase; putting a demo together is quick and easy, but problems occur with more than one user. If this had been done in Django, we could have avoided double work. Also, working with database dump is not the same as working with the database itself. The individual is not not just a user of the system and this must be taken into account.

Lesson 3: Do more internal knowledge sharing sessions and adjust the vocabulary and processes.

The way we communicated about problems was not pretty. It took us a while to even explain to each other how the system would even work. The data science team could not grasp how data was ingested into the system, what should be cached, or what hurt performance, while data engineers kept asking how the whole pipeline for calculating recommendations worked. We spoke different languages. When the data science team used the word “bean,” the data engineering team used the word “bucket,” and both teams were talking about the same thing. SmartCat paid the price for not working closely together and not sharing enough knowledge early enough.

Lesson 4: Do not underestimate the complexity of the system and speak upfront with the client about all the details which are needed to be production-ready.

Another realization during this phase was that we were building a very complex system, and that can’t be taken for granted. It’s imperative to do automation and monitoring well to maintain a successful system. That’s just a fact. In addition, it’s important not only to keep track of tools and infrastructure when working on data science systems, but also to closely monitor how the algorithm works in production (click rate, goals achieved, revenue generated). These are the things we know now and say upfront to the clients, but we certainly did not know them back then.


Today we know what types of engagements exist, which steps are needed for each phase, and the team members required to successfully finish a project. The first phase is vital; make sure to spend time to understand the client’s needs and business, with communication being the key ingredient. Face-to-face workshops help build a strong relationship with the customer. Show your clear understanding their problem, and have a implementation plan in place. SmartCat learned a lot from that first project and it led to the clearly defined process for data science projects that the team has now.

This is the foundation of all other phases, so take the time to do it right.

Today, Smartcat divides projects into 3 groups: Business insights as a service, prototyping, and production. For each element, it is important to involve people from different teams working together to have successful delivery. We’ve also developed an additional, essential role on our technical team that we call Data Wrangler. This is someone who isn’t a data scientist with rich knowledge about algorithms and approaches, but instead, someone with strong business knowledge, a professional analyst armed with Jupyter and Python knowledge. He/she plays an important role in the initial phase, works with clients in the business domain, and extracts key findings from data. The Wrangler’s quintessential goal in the initial phase is to come up with the best possible idea to improve the business of our client.

We have also improved our internal communication: Knowing that a bucket for an engineer is a bean to a scientist, and learning the vocabulary of our teams has made us more efficient. Having the ability to explain solutions to different team members who don’t “speak our language” allows us to do a better job in the end. Adjusting our language to better suit business stakeholders concerned with the bottom line is not always easy, so we started practicing internally. As a result, even our diagrams and visualizations look much better now, since people from different teams can understand what is going on more naturally.

I’m definitely proud of how far SmartCat has come after the way we started. Not everybody has enough room to learn from their mistakes, so we were fortunate there, and we learned a lot. Our successes since then have been really encouraging, including the approval to join Digital Knights, but there’s still a long road ahead of us.

As I said at the beginning, this is a field which is changing all the time, so I expect this is not the end of our learning curve. What is certain is that we are a much better company now than we were two years ago, thanks to projects done with mixed teams.

SmartCat is one of Digital Knights’ latest approved development partners. This post is part of a guest series with several Digital Knights partners to share their unique stories and insights.

Dissecting Serbia: Why the nation’s IT and Outsourcing is so important, and so good

By Polina Tibets, Head of Tech Due Diligence at Digital Knights

“At Digital Knights we evaluate countless software development companies and tech teams across Europe. Something about Serbia keeps sticking out.”

Highly qualified experts and long-term cooperations with Western and Arabic companies have made the information technology industry one of the most important drivers of the Serbian economy today. Already, leading digital companies have either established development centers in Serbia or have outsourced services to local firms. Those of us at Digital Knights are no strangers to highly talented teams and individuals from Serbia, but several less obvious factors help the nation stand out as a whole in the IT world.

In 2017, The Serbian Information and Communication Technologies (ICT) sector exported 750 million EUR, ranking the country as one of the 50 biggest software exporters globally. With a year-to-year growth rate eclipsing 25%, ICT is among the fastest growing sectors in the country and since Serbia is not a member of the EU, most home-grown talent stays in place. On top of this, Serbian people are exceptional when it comes to English language proficiency, ranking third worldwide (behind the Philippines and Norway) and have been in the Top 5 globally for more than five years.

Outsourcing possibilities in Serbia

​With such talented remote teams, Serbia is fast becoming one of the most in-demand outsourcing destinations in Central and Eastern Europe. The country’s engineering education is particularly strong, with almost a third of university graduates coming from technical schools. ICT is currently being taught at 37 higher education institutions, while demand for placement in these programs is ever increasing. Locally, salaries in software development services are increasing as well, however Serbian companies and professionals are extremely competitive with other established “outsourcing” destinations. According to the leading ICT portal in Serbia, STARTIT, there are:

• 11,500 developers (9,000 Java professionals as well as sub-specializations)
• 15,000 network and Internet engineers
• Web marketing professionals, designers, managers, etc…

Locally, entrepreneurs have risen to the challenge by establishing more than 100 software houses that work with 50+ different countries around the globe, host innovation hubs, self-fund startups, and support business partners. As the system further develops, more and more Serbian software companies may naturally appear in response to the rising demand.

Value for your project

The Balkans is one of the lowest cost regions in Europe in terms of software development services, especially compared to the Nordics. The sheer cost of living adjustment coupled with the competitive scarcity in places like San Francisco means choosing Serbia as a destination for developmental activities just makes economic sense. Skillful programmers with a Western European flair, high levels of deep technical knowledge, and impeccable English, combined with lower than average rates makes this a difficult destination to ignore.

Global companies in Serbia

Committing to the development of the economy, the Serbian government is focusing on stability and a predictable environment for investment and business operations, as well as accelerating growth and creating new jobs. Key players such as Google, Microsoft, SAP, and many others have taken advantage by establishing development centers in Serbia or outsourcing services to local software development firms.

Government support of the IT sector

The Serbian government has dedicated itself to encouraging growth in the sector and established a Ministerial Council for IT, Innovation and Entrepreneurship, with the mission to address any issues, support the industry, and enable faster development. The great demand for IT professionals globally and in Serbia especially has resulted in increased investment for expanding computer science programs at universities and improving the curriculum for IT in primary and secondary schools, ensuring a steady pipeline of talent. The IT Council is set to invest around 8.5 million EUR into the infrastructure and around 1.5 million EUR into retraining programs. The government’s plan during the next few years is expected to:

• Reach 1.5 billion EUR in IT sector net exports.
• Increase the number of skilled IT workers to 5,000 per year (from current 1,500) through educational initiatives.
• Invest more in the physical infrastructure of the IT centers in Serbia, mainly within universities.
• Reduce barriers of entry by changing the legal framework related to early stage investments, electronic payments and venture capital, introduce tax reliefs for business angels, and review IT industry grants.

Behind the scenes, Serbia is borrowing good ideas from outside the country as well. The Ministry of Public Administration is using the Finnish cultural model as a template for building an efficient tech ecosystem. The Embassy of Finland in Belgrade (together with the Serbian Innovation Fund) organizes local pitching competitions with the winner having a chance to participate in a 10-day long boot camp in Helsinki and attend conferences.

Why Serbia?

Cultural affinity – Serbia has a delicate balance and link between East and West, both on a personal and business level, which makes building relationships easier.
Time Zone – Serbia is situated in the same time zone as Western Europe (+/- an hour), which enables easy coordination of daily communication and meetings arranged during working hours. Time zone difference from East Coast is six hours, which makes overlap with clients possible at least for a portion of their working hours.
English language – The English language is mandatory through education in duration of at least eight years, and since they study at least 2 foreign languages, it is common to find professionals from all lines of work with excellent knowledge of German, Italian, Spanish, French or Russian.
Value – Clients can get relatively low prices in Serbia for the same high quality of work as in Western Europe or USA.
Education – Thanks to the educational system significantly focused on engineering and computer sciences, Serbia creates highly qualified and very capable young people with strong mathematical and logical background focus.

Several Digital Knights members visited Serbia in January to meet with tech teams and dev houses interested in joining (or already in) the Digital Knights network of approved partners. For more about the trip to Novi Sad and Belgrade, see what Domilé had to say.

People Make the Difference – Serbia is Europe’s Next Tech Talent Hotspot

2 Cities, 5 days, 16 teams

By Domilė Janėnaitė, Head of Tech Partnerships at Digital Knights

Serbia’s rise as a key outsourcing nation has been on the cards for a long time. Cost-effective. Talented. Driven. There’s a clear trend in the quality of tech teams hailing from Serbia that undergo the Digital Knights tech due diligence process.

In January I went to Serbia with my colleagues Prags and Polina to assess prospective technical partners and to take a look behind the data, and learn just why Serbia was regarded as one of the most desirable places to outsource development in 2017.

We arrived in Belgrade late and drove to Novi Sad where Nikola Sologub & Nikola Isailovic from The Best Practice* awaited. The two Nikolas are Digital Knights ambassadors in Serbia and have spent the better part of 2017 creating awareness for Digital Knights and introducing us to what they consider to be the top-tier technical talent the country has to offer. This is the part of the job we love – traveling as a team and meeting other teams. It’s a privilege to meet and learn how our partners build their companies, how they establish themselves as industry leaders, thought leaders and pillars of the tech community.  Short answer: processes and strong engineering talent. What’s apparent to us, is that tech talent here could literally work anywhere. If they were based in the States they would be working for Google.

What’s the secret sauce?

Throughout the week, we learned why Serbia may have earned its reputation as a breeding ground for talented engineers, and the answer lies in its history of eschewing ideological education in favor of subjects that deal exclusively with logic and reason. Who knew a strong tradition of science and mathematics could prep a generation for careers in IT? In Serbia, engineering graduates account for nearly 33% of all university grads from technical schools whilst IT is taught at 35 higher education institutions.

Software development companies are well aware of this wealth of Serbian tech talent and have set up academies to attract the brightest post-grads. Promising students are invited to develop their skills and vie for placements at the companies who run the academies. It’s worth noting that it’s not just students invited to participate – budding developers learning outside of a formal education that want to try something new are also a mainstay at these academies.

Outside of the academy model, Serbian universities collaborate with software development teams on long-term projects. Med-Tech insights from developers have aided university medical labs in implanting medical electronics and controlling software – including a deep brain stimulating device that treats and works towards curing acute neuropsychological illness. Academia and the IT sector are intertwined, and working together to great effect.

Winning the Culture War

When it comes to working culture in Serbia, employees are given great incentives to stay at their respective companies.

80% of the teams we met operate on a profit-sharing model, and most – if not all – are strictly flat hierarchies.

A surprising thing we found out during our trip was that a lot of development studios have their own spin-offs and businesses within businesses. Developing internal projects either to make their job easier, such as project tracking optimization, or to solve problems in the local community, such as a lunch delivery service on a SaaS model, have gone on to become fully-fledged products and services.

The teams are active in their community using their considerable tech talent to solve problems where they live. The rest of Europe, and beyond, should be taking note.

“Our people understand that it’s all about building trust and providing value from the start till the end for each and every engagement.”

This is the spot.

What this means for their IT industry is that they are able to build strong relationships with clients in Amsterdam, Tel Aviv, Dubai, and other tech hubs in both the DACH and the Middle East. Serbia’s historical significance as being center of the Ottoman and Austro-Hungarian empires give it the inter-cultural aptitude it enjoys and takes full advantage of today.  Despite the distance, Serbian Technical Partners begin any long-term collaboration with a face-to-face meeting, laying the foundation for a lasting relationship.

Another surprising thing we learned on this trip was Serbia’s close relationship with the Netherlands. According to some of the teams we met, this relationship can be attributed to Levi9 – a Dutch multinational IT provider – establishing a development center in Serbia to gain access to Serbia’s engineers. It’s not just by virtue of Serbia’s geography that developers are forging connections all over Europe, but because of reputation too.

Serbia’s talent offerings are considerable, and the teams we met all say the same thing: give us your biggest, toughest problems that you have – we have the insights, and we are structured problem solvers. Bring it.


Three things we learned from visiting Novi Sad and Belgrade:

  • Prags: “The teams we met in Serbia where not only technically strong, they are rather problem solvers that utilize technology as a tool to solve complex business issues.”
  • Polina: “The level of English is phenomenal, you would think everyone are native speakers.”
  • Domilė: “Serbian teams are pushing the envelope when it comes to the 3rd wave of technologies may it be IoT, Blockchain, AI, AR/VR.”

For a deep dive on the major factors that make Serbia an outsourcing destination, click here.

*The Best Practice work with corporate innovation hubs on utilizing blockchain technology, and work intensively on matching business needs with tech in this fast-paced area of digitalization.

**Image: VegaIT office in Novi Sad