Last month, I visited Minsk in Belarus. It’s not a place that too many Europeans visit because a visa is required to enter the country and at this time of year it is bitterly cold. But I wanted to see what was happening in the technology industry in Belarus so I went as a guest of IBA Group along with Peter Ryan, an analyst from Ovum.
My first impression on arriving in Minsk was astonishment. I have been to many countries in Eastern Europe and several that were behind the old Soviet Iron Curtain, so I had a preconception of what I might see, but the first thing I noticed was that the road from the airport into the city was so smooth and new, it would be a skateboarders dream surface.
I had expected to see an environment similar to that in Moscow, plenty of historic buildings and many examples of the old communist architecture – big concrete blocks in my non-architect view. However, my first thoughts on seeing the buildings in Minsk were that it resembles East Berlin. The city is felt very European and very modern.
A local described to me how Minsk has been completely renovated over the past twenty years. Naturally this is the period since the end of the Soviet Union. Many churches that are hundreds of years old, but fell into disrepair during the Soviet era, have been beautifully restored and there is an enormous resurgence in worship. The Orthodox and Catholic churches that I took a look at were all busy even during daytime in mid-week.
During our stay, Peter and I visited one of the development centres of IBA Group. This company was born in Belarus in 1993 and now has almost 3,000 people all over the world and customers in 40 countries. They are now headquartered in the Czech Republic, which means that they are based inside the EU, but they maintained a software development facility in Minsk – a team that is growing so fast they have commissioned an entirely new building that is under construction now.
IBA Group is an interesting company because they are focused on complete solutions, rather than software development alone. A good example is the public transport ticketing system they developed for use in Minsk – it’s very similar to the Oyster card system in London. However, they put together all the card readers, terminals, and software needed to make it work. They are also able to earn from the knowledge the system provides on how people move around the city – sometimes this data can be more valuable that the IT system itself.
Minsk does have some distinct advantages for the technology industry that are not obvious unless you have explored Belarus in person. During the Soviet era, Belarus was the IT and technology hub for the entire USSR. Belarus supplied over 60% of all the IT and technology systems used in the Soviet Union meaning that there is a long heritage of technology knowledge as well as deep expertise in a variety of technologies.
This heritage of working with technology may also explain an important cultural difference with other technology hubs, such as India. When teams of techies are assigned to a project in Belarus they usually feature a range of ages, experience, and knowledge of many technologies. The culture of being an engineer or technician remains strong in Belarus, so an expert programmer doesn’t feel shame in remaining ‘just’ a programmer and not pushing for promotion to systems analyst or project manager.
This is a big difference in my opinion. I have worked with many software development teams and trying to maintain some stability was always a challenge with people quitting for a few bucks extra at a competitor down the road or angling for promotion just because their family believe it’s time they had a ‘better’ job title.
The autocratic nature of the Belarus government counts against the international image of the country – this cannot be denied. However, I asked several people about the reality of living there and everyone I talked to dismissed the ‘last dictatorship of Europe’ mantra as a cliché.
The government doesn’t like political opposition very much, but is extremely supportive of international business and it struck me that it would be hard to criticise Belarus and then feel comfortable doing business in China, Singapore, or Vietnam. All countries where the government is far more controlling than Western Europeans are used to and yet it cannot be argued that the regular man on the street is oppressed in any way in Belarus.
I went to Belarus to learn more about the IT industry there, and I learned far more than I expected to. It is certainly a place worth considering for any organisation that needs expertise with a few knowledgeable “grey beards” on the same team as the young technology wizards.
I also reinforced the experience I have had in the past of prejudice and preconception about places. Places that I have worked in the past include Bangladesh, Nigeria, and Sri Lanka. Countries that often suffer negative stereotyping and yet were ready for business when I visited.
Belarus is the same. I’d love to return and perhaps take the train from Minsk to Moscow. I believe that anyone involved in IT, or the services supported by technology, should take a look. But maybe go and visit in the summer because that cold wind doesn’t care how many jackets you are wearing!
Minsk, November 25, 2014
We have it all in this London event featuring international speakers
It’s good to explore the future. At IBA we are always looked ahead to what is coming next, this is one of the reasons why we host this blog. It’s also why we have arranged an exciting event in London titled: “The Big Picture on Big Data and Customer Relationships: Case Studies and Thoughts for the Future.”
We have three great speakers lined up for the event.
Mark Hillary is an IT director who became a writer. His most recent book explores the subject of CEOs who blog, but he has also written about outsourcing and the globalisation of services. Mark is based in Brazil. Mark will talk about how Big Data and the analysis of customer information is changing the way companies are structured.
Peter Ryan is a principal analyst at Ovum. He is one of the best-known global analysts focused on customer service and experience. Peter is based in Canada. Peter will talk about the way that CRM is changing customer interactions and how companies relate to customers.
Aliaksei Minkevich, the director of our Internet Solutions Division will present some case studies of our own work in this area. Aliaksei is based in Belarus.
All three speakers are travelling to London to share their ideas and we are thrilled to host this event. It will take place on November 27 at the Institute of Directors in London. For more details, click here.
Alex Minkevich, PMP®
Agile is beautiful. Agile is our all. Both developers and customers like Agile. However, there are projects or project phases for which Agile doesn’t work or is worse than the old good Waterfall. In my projects, developers intuitively feel when Agile can work and when it can’t, and it’s time to transfer from Waterfall to Scrum or the other way around. Why and actually when should we do it?
In this article, I would like to discuss project success from a business perspective and not from a developer perspective. What’s the difference? It is very simple. In the view of a service provider team, a project is a success when the application met customer requirements, the client signed the acceptance certificate, paid the money, and the developers received salaries and bonuses.
As for business, a project is a success if it helped achieve a business goal, for which it was approved. It might be earning profit, releasing a new product or service, gaining a market share, meeting law requirements, or serving a social need. A business goal should be achieved on time. It means the time is always limited and quality standards are are high. Imagine you are a customer and let’s see when Agile is not working or working but not that good:
1) Scope of work. A bullshit input leads to a bullshit output. Let me give you a small example here. I am making a small web project. Imagine a dialogue between myself and the developer.
– Are there any requirements?
– No… (face palm)
– I see. Then we use Agile!
This sort of dialogue is quite typical. Agile is good when there are no clear-cut requirements. However, how can one start a project, if there is no understanding, what he or she wants to get? Each value should have a price. If there’s no price, there’s no value. The customer does not want to pay for clear requirements from the very beginning. There’s no time for that. But there is a strong wish to go ahead…. Then one should understand that the requirements will be born in hard labor of many iterations and the customer will have to pay for them anyway. There will be additional cost of rework because something will be done in the way we did not want it to be and changes and revisions will be needed.
It is good, if the project is small and you have excellent communication with the developer, are on the same wavelength and quick on the uptake. What if the things are opposite? The project is big and you are based in the UK, while the developer team is in Belarus. There might be many iterations and revisions. The team will fall behind the schedule and customer requirements will be labeled first as Customer Requirements, then as Urgent Customer Requirements, Customer Troubles, Customer Pain in production… You understand what I mean.
2) The key question is: When will this come to an end? Those who did repairs at home can understand me. “A project is a temporary endeavor undertaken to create a unique product, service, or result.” (A GUIDE TO THE PROJECT MANAGEMENT BODY OF KNOWLEDGE PMBOK® Guide, Fifth Edition, Page 3)
‘Temporary’ is a key word in the project definition. Agile does not give strict schedules. If I don’t understand what I want to achieve, how can I know when I will complete it? Therefore, an Agile project cannot be completed. It can just be stopped. Any business person wants his or her project to be completed successfully and not just stopped after 80 percent of the top priority backlog is implemented. It is also clear that there is a direct correlation between falling behind the schedule and a price increase.
3) Management of cross-functional teams. If there is one team of 5-7 people, it makes no problem to manage it. What if these are cross-functional teams? The frontend is in Minsk, the backend team is on the customer site in South Africa, the testing team is in India … The planning and coordination for the customer/project manager becomes a nightmare. One should have iron nerves and fanatic energy to make the work run smoothly. Only a few people can do that.
4) The last but the most important thought in my view is the following: “Agile helps chop off illusions but such project is like trying to catch a rabbit running in circles. We are doing what we can do to meet the current business needs and we are not thinking about what business will need tomorrow.”
© Dmitriy Bezugly http://www.system-approach.ru/
It is clear. I talked a lot with businesspeople in the last two years. These guys want all or nothing. There’s no grey for them, just black or white. By meeting the today’s business needs, you are closing the gaps in the current operations and doing nothing for the future business. To make a solution that will be on demand in a year, one should sit down and think hard, and then document the thoughts as requirements.
Conclusions. We should do what everyone is already doing. We should mix methodologies on different projects and even inside one project. Let it be Waterfall or RUP when you define project requirements, then we can go ahead and use Agile for development, back to Waterfall or RUP when we go to production. The requirements should be developed before DD.MMM.YYYY, the backend with the defined functionality prepared before DD.MMM.YYYY, three weeks from October 6 to October 24 are allocated for testing, and then exactly three weeks for go-live. It is strict and accurate project management in its classical sense.
Which technology to use, be it Scrum, Kanban, Waterfall or RUP is not important. One should be guided by common sense and specific conditions of a specific project. Remember that the aim should be achieving business goals of the customer and not getting as much money or person-hours from the customer as we can. Otherwise, how would we be different from others?
by Irina for IBA Group
Posted on October 28, 2014
Lavy Itzhaky, PMP®
In one of my last projects, where I was asked to step in as a project manager, there was almost everything to make the project a failure from the very beginning. The customer and management were unhappy, the project team was blamed for everything, and other small things topped the list of shortcomings. But eventually this project was submitted to the client on time and to the client’s satisfaction.
The secret in putting the failing project back on track is not in magic or sleepless nights or a magnificent project manager. In this particular project, the secret was in making people do their job and not to expect them to do something they were not hired for. You cannot expect a junior developer to have calls with the customer for clarifying the requirements or providing the project status. It’s not that I don’t trust the guys. They are great developers but they do not speak the same language the customer does.
As a friend of mine told me, a project team is an orchestra, where everyone in it has an individual role to play and there are people behind the scene who also contribute to the success of the orchestra performance, the and project manager is the conductor, who has to make sure that everyone is doing an assigned role. The Business Analyst gets the requirements from the customer and “translates” them to the developers, the Architect defines the architecture of the software solution, the developers develop it, and the testers test it.
In the above example, the main problem was with too many communication channels, when a developer talks directly with the customer and provides him or her with the project status, wrongly assuming the developer knows everything and not only the assigned part. This may serve as a recipe for misunderstanding and trouble in the project. Everyone in the project has to be responsible enough to do his/her own job and not let personal (possible) ambitions ruin project.
Everyone needs to do their own part in the “orchestra” of the project. They can and should evolve and learn new stuff but in cooperation with the “conductor”. Otherwise, it will negatively impact the project.
As I said in my post entitled Manager in every one of us, evolve yourself, become a better specialist, become a manager, but DON’T STOP!
Big Data sometimes appears to be a solution that is looking for a problem. It sometimes looks like a technology that has very little use in the real world of business and technologists are rushing around the world looking for examples of how it can be applied.
But I was having a conversation this week with a Big Data expert and I asked a question about customer service in retail – isn’t this one of the areas where Big Data is having the most impact. He agreed that it is one of the most affected industries, but for several reasons.
Everyone knows that customer service in just about every industry has changed. Consumer goods used to feature a telephone number or email address you could use to ask questions or complain. Now customers will use many different channels to comment on a product and many of them have no direct link to the manufacturer.
Customers today are familiar with at least six channels when contacting brands; email, voice, chat, Twitter, Facebook, forums and review websites. These are just the main channels being used now. Many brands are interacting with customers on other social networks, such as Pinterest or Instagram, and other communications tools, such as Whatsapp, are rapidly being adopted.
So customers are using many different ways to communicate. Often there is no formal notification to the brand involved – the brand is just expected to find the question online.
And now consider the retail industry. All these communication changes are taking place, but also the way people want to purchase items. They might buy in-store, online for delivery, online with collection in-store, they might want to return or exchange an item in-store even though it was purchased online.
The communication chain between a brand and the customer is far more complicated than a decade ago, but so is the supply chain. Enter Big Data. These real-life business problems are exactly where Big Data is moving from concept to daily use.
If you want to analyse a complex supply chain in real-time and explore how your customers prefer to shop, how they behave, where are items missing, then all these questions can only be analysed with an enormous data set that is constantly changing.
Likewise for the communications with customers. If they are communicating anytime from anywhere on any channel then there is an analysis function you need just for monitoring communications, but by employing Big Data techniques you can also predict and focus on the most important channels.
I think that 2015 will be the year when we finally stop talking about Big Data as the exception and start considering it just a part of business as usual – in any industry.
by Irina for IBA Group
Posted on October 6, 2014
I’ve written about Big Data in several blogs here. What it is. How it can be defined. And even how it can be used, but there are two additional factors that really help with any understanding of how Big Data fits into the modern organisation.
How do you make it work – what tools are needed to move from just having a large amount of data available to being able to gain insights from that data?
Do I have the kind of data that I can get insights from? What kind of insights am I expecting from the information that I have?
I have added two links to recent news stories that can elaborate further on these questions.
It is no use to anyone if you just have an enormous amount of data, but no tools to analyse it with. You can’t engage with Big Data using an Excel sheet. The volumes involved are often enormous and far more than what you could load into a computer to be studied as a single block of information.
So this is one of the first issues to address, and it may be where an expert partner can help the most. Is your data available? What tools can you use to collect together all that structured and unstructured data, and how can you even start to analyse it?
Now, what are the kinds of insights you can find? It depends on your business and the type of data available, but with Big Data you can uncover all kinds of relationships between variables that were not visible without the analysis.
This example of how Big Data is helping to predict where Ebola will strike next is a great example. It is just taking information we already have such as infections, locations of hospitals, number of doctors and so on, but using past knowledge and these factors to make predictions. Now imagine if you could start applying these insights in your business?
Making Big Data work with the right tools and determining the type of insight you need are two important factors in planning how you can make it work for you.
One of the latest trends in the IT industry, cloud computing is rapidly growing and has good prospects for the future. It represents a new kind of service that provides on-demand scalability, cost reduction, and a possibility to utilize IT resources efficiently.
Although cloud computing is currently on the outset, it has already proven to be a revolutionary turn in the IT industry. Moreover, cloud computing represents not only fundamental changes in IT, but also change in the business environment in general. The main underlying reason for business change is a wide range of benefits cloud provides for all types of enterprises, including SME and large-scale organization in terms of lower IT spending and wider business opportunities. All this makes cloud computing a game changer in the industry.
The European Commission may serve as an indicator of the pace of cloud adoption. It has already developed the EU Cloud Strategy to unleash the potential of cloud computing in Europe. The European Commission believes that cloud computing can increase productivity and create new businesses, services, and jobs.
What makes cloud computing so promising? It enables companies to reap a lot of benefits from highly valuable IT assets, including infrastructure resources, middleware, software, and computing resources without actually buying these assets but consuming them as a service.
For example, if a customer deploys software in a traditional way, it buys a license to acquire the software. With Software as a Service, customers do not need to own the license. They just pay a subscription fee instead. In other words, cloud computing is characterized by lower cost of entry and quicker ROI. As a result, organizations reduce IT-related costs and make IT assets more predictable.
Analytical agencies are thoroughly investigating the trend of cloud computing and related issues. IDC summarized that 81% of enterprises reported lower IT costs with cost reduction from 10 to 20% and 12% enterprises reported savings of 30% or more.
The significant savings encourage businesses to think about migration to a cloud service model. Traditional IT is not able to provide such cost savings due to higher entry costs and subsequent high expenditures on support, management, and maintenance activities. The scale of cost reduction in percentage experienced by businesses that adopted a cloud model is presented in the figure below.
To be a strong player in the market of cloud services, IBA Group is working to deepen its knowledge, master new skills, and gain wider experience.
IBA Group specialists are skilled in virtualization products and technologies, including IT infrastructure server virtualization platform (installation, configuration, management) of VMWare vSphere, systems of Windows Server HyperV and System Center, VMware EXS/EXSi, and KVM hypervisors. In addition, IBA experts are certified in ITIL v3 framework, which is applicable to cloud services.
IBA Group developed a proprietary solution called IBA Cloud Solution. IBA Cloud Solution provides a reliable network, computing, and disk architecture with backup and related software. IBA Cloud Solution offers migration from a current physical infrastructure to a virtual one in an easy step-by-step way. The solution is based on a reliable IBM Cloud&Smarter Infrastructure and uses outstandingly reliable IBM BladeCenter hardware. Virtualization is based on the leading virtualization platform VMWare vSphere.
For details of the EU cloud strategy, visit Unleashing the Potential of Cloud Computing in Europe
by Irina for IBA Group
Posted on September 11, 2014
As the economy develops, old jobs vanish and new ones are created. This process has always taken place as technology creates new needs and old skills are replaced. Just consider how important the blacksmith used to be before cars were commonly used and if someone described themselves as a blogger or flash developer in 1985 it would have made no sense – times change.
Big Data is another of these major changes. Not just in the sense that we are becoming able to analyse larger sets of data thanks to the technology becoming faster and more powerful – especially with more memory being available, but because the ability to do this work is now a skill itself. Understanding Big Data and being able to manipulate and analyse large sets of data is a popular skill to be exploring now as every analyst predicts that Big Data use is set to explode in the coming years.
The analyst firm IDC wrote a study in 2012 that predicted the amount of data available to analyse would increase 50 times by 2020. This prediction remains true – if anything it may be even more by 2020 as new applications that create data are launched all the time – from smart watches to other wearable technologies.
All this has led to a fear that there will not be enough people available to work on Big Data projects. McKinsey believes that the US will need almost 200,000 new data scientists by 2018 and the British Royal Academy of Engineering has predicted a need for 1.25 million graduates in science and technology subjects by 2020.
A recent column in the British ‘Daily Telegraph’ claimed that this shortfall in data scientists might even be a threat to the future of business. But what all these concerns in the UK and US often fail to acknowledge is that there are many other countries with an abundance of data scientists.
Offshore outsourcing has been long proven as a strategy for software development and other IT requirements. It will be exactly the same once data science becomes a mainstream part of every business. And companies like IBA Group are already doing it today.
We have talked about Big Data on this blog before and tried to define it in a way that doesn’t require complex terms, but it is not easy. Many people have very conflicting views on what Big Data is and how their company uses – or will use – it.
A fascinating feature article in the business journal Forbes explores 12 different definitions of Big Data, starting right from when the term was initially used in the 1990s. That’s right, we were all talking about Big Data back in the 90s – it’s not a recent term. The first known recorded use of the term was in a paper published by NASA in 1997 describing their problems of trying to work with enormous data sets that could not be loaded into a computer at once.
The Oxford English Dictionary is possibly the best place to turn for a simple non-technical definition: “data of a very large size, typically to the extent that its manipulation and management present significant logistical challenges.” That’s clear and focused, but also doesn’t really give away any clues about the scale of the challenge faced when manipulating many Big Data sets.
Wikipedia uses a very similar definition to the OED, but the advantage of Wikipedia is that the crowd updates it regularly. As attitudes to Big Data change in the IT marketplace, the online definition can change. The latest Wikipedia definition (last updated on Sep 1) says: “Big data is an all-encompassing term for any collection of data sets so large and complex that it becomes difficult to process using on-hand data management tools or traditional data processing applications.”
You can click this link to read the entire Forbes story, but I would be interested in your own views. Is it possible to define big data inside 140 characters? If you can, then why not tweet your answer to @ibagroup?
Artificial intelligence, intelligent self-learning machines, systems that can advise on how to do work better, and robotics – all of this has always been like magic to me. When I studied at the university, I was carried away by these topics. It is even more fascinating to use knowledge from one field for another and thus solve the tasks that seemed unsolvable.
What do you think about the interaction of artificial intelligence and the theory of evolution, one of the most interesting open issues in biology? As I worked with algorithms and not hardware, I kept wondering, how we can teach a computer to be intelligent. I did research on the topic within an internal project at IBA. This article gives an overview of Genetic Programming and my speculations on how to use it in software development.
As Wiki says, ‘Genetic Programming (GP) is an evolutionary algorithm-based methodology inspired by biological evolution to find computer programs that perform a user-defined task. Essentially GP is a set of instructions and a fitness function to measure how well a computer has performed a task. It is a specialization of genetic algorithms (GA) where each individual is a computer program. It is also a machine learning technique used to optimize a population of computer programs according to a fitness landscape determined by a program’s ability to perform a given computational task’.
In my view, GP is a way to find a solution using atomic user-defined blocks.
The following are the main principles of GP:
1. Initially, we are given past performance data to build the most suitable program for reproducing the same principles of data structure in the future. We assume that the initial data were produced by a kind of a black box. We have historical input and output data to reproduce this system with the same rules and principles for future use.
2. All programs are members of a population. It means that we get not the only solution, but a set of solutions and can choose the most suitable one.
3. Changes in a population are made using an iterative method. At each iteration, the programs that are most fit for crossover and replenishment of the population are selected.
4. A fitness function is used to determine, if a program is fit for the purpose. It is a user-defined metric that numerically presents the ability of a program to solve the defined task (to fit the mapping of the input and output parameters for a given data set).
5. The fittest individuals of a population are selected to develop the population just the way evolution selects species.
6. Changes that can be implemented in the surviving members are similar to biological evolution. A member can be mutated or crossed with another member of the population.
7. A stop condition is defined for a fitness function, when one can stop GP and pick up a solution.
To grow up a population, a programmer must define primitive blocks which will form an individual. These are terminals, including constants and variables, and primitive expressions such as +, -, *, /, cos, sin, if-else, foreach, and other predicates. Any program can be presented as a tree built up of these blocks. This way, any individual of a population can be presented.
We just take a randomly selected node from one individual and use it to replace a randomly selected subtree of another individual. That is a crossover. We can also take a randomly selected node of an individual and replace it with a randomly generated subtree. That is mutation.
Genetic Programming is used for neural network learning and numeric computing, as well to approximate complex functions. I was researching GP to imitate activity of a definite person. An employee while doing his or her job can make both optimal and non-optimal decisions, which makes human thinking different from digital technologies. When you are asked to point to the south, you won’t be able to do it without a mistake, and this ‘white noise’ is our individual quality. Sometimes, we do not need an accurate answer to solve a problem. After gathering the data, we can imitate this employee’s behavior for new tasks using a computer program.
Genetic programming is also useful when creating an artificial player for a game with different difficulty levels. The behavioral algorithms of an artificial intelligent player are typically ideal and therefore a human cannot beat it, if it didn’t play at give-away. Consequently, we need to make the artificial intelligence a little bit human, allowing it to make mistakes from time to time. To this end, the GP algorithms are in place because they teach the artificial intelligence human behavior, including the ability to make mistakes.
Isn’t that remarkable? I think it is real magic and those who create smart computers are magicians. Who knows, maybe it’s a way put a soul into a computer.