Tableau reports, data virtualization on the Denodo platform
JCommerce Business Intelligence team are involved in the design and implementation of a data warehouse and reporting systems for a Finnish customer.
Since the beginning of December, a dedicated nearshoring team with Business Intelligence Specialists, has been working in a new area of Business Intelligence for our existing client from Finland, thus adding Tableau and Denodo to the scope of JCommerce competences.
Technical support will include the reconstruction of the existing reporting system. The reporting layer will be migrated from the IBM Cognos platform to Tableau. Furthermore, using the Denodo platform, a new data virtualization layer will be created.
A new data warehouse structure will be designed based on Data Vault methodology. We will also develop the ETL environment (Informatica PowerCenter). Furthermore, JCommerce Business Intelligence team will maintain the Cognos BI platform and support conceptual work on the architecture of the reporting environment.
Setting the Requirements for an Expert Nearshore Mobile App Development Team
The mobile app development market has exploded in recent years, but it still takes careful effort to create and manage a perfect team to accomplish your business goals. ‘Mobile development’ can encompass a wide range of products: from a 1.5” smartwatch screen, to smartphones, tablets, cars, up to 100” smart TVs. Whatever you want to develop your app for major smartphone platforms like iPhone and Android smartphones, or to use the mobile market to its fullest, it all starts with business requirements.
Client needs and requirements
The first part of the process is always to define the needs and goals of mobile development. Those requirements have a variety of details – some clients can define exactly what system they want and can create a detailed specification of their expectations. Other clients only have more general business goals. That’s ok – there are appropriate models of cooperation for each of these cases.
The process of creating and updating project requirements is often split between the client and service provider. If you have a detailed requirements and want to directly control your development team – use the team extension model and use the provider’s developers as your own team. If you have requirements, but want to make use of the experience of the service providers to improve and refine them – use a development outsource model to have the analysis, design and project development done by the service provider. If you only have business goals – use the project outsource/managed service model, in which the service provider will take over the entire process – starting with designing a business model and proposal for your project(s), refining it, implementing it, and continuously supporting and further expanding it over time.
Read more about cooperation models.
To start defining the project requirements, we need to answer a few questions. The first one is about platforms – does the client want to release the app for iOS, Android, Windows Phone? Depending on goals, you can pick all of the above, if you want to have almost 100% market coverage, or only some of them to save on expenses. Every platform is different, and each one requires a slightly different approach to designing certain features. This is specific to the mobile world – projects typically have exactly the same requirements, but the resulting apps are slightly different on each platform. They are customized to the UI standard of each platform, tailored to services offered by each platform owner, and designed to be familiar to the target audience of each system. Those differences lead to the biggest question in mobile projects: Native or cross-platform development?
Cross-platform development makes it possible to create apps for every platform in one go, so typically it’s less expensive and requires smaller teams. But this technology often creates problems relating to implementing features, performance, stability and quality. It works great for apps for which the primary requirement is to present the user with information; but features like GPS, camera, advanced use of maps, layered animations etc. can be problematic.
Native development allows the team to achieve everything that is possible on each platform, offer the highest quality and level of performance, as well as perfect customization for the UI and design patterns of each platform. Native means that each platform has its own team of developers (at least one per platform), so there are more developers and the cost is higher, but it yields the best results.
Your service provider should always help to decide between cross-platform and native, because this impacts both technical implementation and limitations, team setup, and the budget.
If you only need the app for one platform – for example you are making an application for internal use in your company, and you only use iOS – always choose native, because there won’t be any difference in cost, but the quality will be higher.
Mobile apps are rarely stand-alone. Usually the data in the application is downloaded from the Internet – by means of a mechanism called API or webservice.
The client may already have some system and database which can be integrated with mobile apps. Alternatively, the service provider can design a web-based CMS (Content Management System) that makes it possible to easily edit mobile app content in the web-browser.
Defining app logic and functionality
After setting the baseline requirements and deciding on the external webservice, it’s time to define the core of the application – features, UX and UI. Depending on the cooperation model, this can mostly be done by the client, or the client can just define the business goals and the overall idea, and the service provider can design the exact features, UX and UI.
These are the typical phases of app design:
1. Functional specification – defining what should be in the application – which features are essential and which are optional. ‘Target audiences and devices should be kept in mind throughout the process..
2. Interactive mockup/wireframe – this stage defines UX and the overall layout and screens of the application. At this stage, the UX designer focuses on designing screens, transitions, and placing UI elements like buttons, images and text etc. However this stage doesn’t include the final look – only the layout. Preparing this stage allows the client to click through the prototype, and see how the application presents data, whether it is sufficiently intuitive etc. Making changes at this stage is far less expensive than making them after the application has been finished. Therefore, iterating the design and gathering feedback from potential users is essential.
3. Graphics – when the mockup is accepted, the next stage is to design final graphics for the designed mockup. This defines the final look of the application.
Having functional specification, the mockup and graphics concludes the requirement-setting phase. The next step is to define the team required for the project and the process of development, including quality assurance and testing. We will describe all this in the following articles. So stay tuned!
Hybris software center of competencies at JCommerce
As of the beginning of October 2015, the JCommerce team commenced development of a dedicated software center of competencies in hybris software (SAP) for our existing client in Finland.
Hybris commerce software helps integrate all digital and physical customer touch points onto a single platform – including online, mobile, point-of-sale, call center, social media and print.
The world of commerce (commerce software platforms) is growing rapidly, especially in the Scandinavian region. We decided to jump to this new challenge with our Nordic partner and build strategic service support from our software centers in Poland. Since 1 October 2015, the local JCommerce nearshore team and the customer’s team in Finland have been focusing on the development of hybris micro architecture. Our client’s main goal is to build an accelerator for the most appropriate Hybris platform for new sales (planned to be deployed in early 2016).
The near future looks very promising. We have been told that in less than half a year we will expand our customer’s hybris business in the areas of:
- hybris commerce (cloud edition) which is based on the hybrid platform and offers hosting of a platform-based solution through hybris,
- hybris as a service (YaaS), a newly developed hybris solution which fully utilizes cloud computing and is based on microservice architecture.
Building an ASP.NET nearshore team for our new client from London
Next month the JCommerce ASP.NET nearshore team will start a new nearshore project based on the Scrum approach. Once again our developers met the most cutting-edge technical proficiency requirements.
JCommerce is getting back on track with the British IT market. We have managed to sign off on a long-term agreement with a medium-sized internet business, which has been operating for 10 years in the online affiliate marketing industry, specifically promoting online bookmakers based in the capital of United Kingdom – London.
Our British client’s main requirement is to update his website using the latest .NET technologies to make it more stable and flexible, as well as adding new functionalities. In a relatively short time, the JCommerce nearshore ASP.NET developers proved that they understood the project concept and would be able to work with the customer’s team using the Scrum approach.
The project is all about rewriting all the layers of the application using the following technologies: .NET, C#, MVC, AngularJS, Entity Framework, Identity 2.0, HTML5, CSS3, Bootstrap.
As for the project initial phase, our JCommerce technical nearshore team will travel to Berlin and will spend 3 days prototyping and shaping the application architecture. As a result of this brainstorm session, both teams (JCommerce and the customer) will start delivery of the project in early November 2015.
Formalising IT Contract Details
Knowing the rules of how to play chess does not make you a world-class chess player.
Working on the Client’s initial request
There are many types of requests that the software Vendor receives from the Client. Some of them actually provide little context, whereas other ones are context-rich messages. Depending on the prospect’s input (materials, requirements, business knowledge, etc.), we are able to prepare our initial feedback.
Here is an example of a context-rich enquiry:
I am the VP Technology at …
We are looking for ways to expand our development capacity and I have been tasked with identifying near-shore and offshore opportunities to outsource development. I look forward to opening a line of communication to discuss this further.
I look forward to hearing from you to discuss the requirements and our potential business relationship in more detail.
On the other hand, a low-context enquiry example is as follows:
We are an established medium-sized Internet business, operating for x years in the y industry.
We wish to rewrite our website using the latest Z technologies to make it more stable and flexible, as well as to add new functionality.
We are looking to outsource this, in part, to a team of nearshore developers who can work with us using the SCRUM methodology. This would involve rewriting all layers of the application (the core solution to use as a starting point has already been created), using the following technologies:
.NET, C#, MVC, some AngularJS, Entity Framework, Identity 2.0, HTML5, CSS3, bootstrap.
Let me stop for a while and focus on the crucial word: Feedback.
Feedback can have several dimensions. Let us focus on just two of them for now.
First: Feedback as an immediate reaction to what has been submitted to the software Vendor. It is not about what is our answer to the Client’s initial request. It is about showing our potential partner that we take care and are ready to talk about the idea – that we are committed and supportive.
Second: Feedback as a relevant info based on the Client’s request, which includes all the necessary info /the so-called: material pack/.
Third: Hybrid – as a combination of First & Second.
I am not here to judge which of the presented types of feedback is better and more effective. I am trying to make you aware that both of them are important and, in most cases, Hybrid (the third one) should be a kind of habit when approaching the Client’s initial enquiry.
We all know that first impression is crucial (and it does not matter if it is fast or slow). But what is more important (based on my observation I have made over the past years when approaching Clients with the JCommerce team) – is what happens next: When all the dust of the first contact has settled, all that matters is the quality of feedback, the quality of communication during the initial phase, the understanding of the Client’s needs, and being responsive and supportive.
How can we influence the quality of initial feedback?
Let me present you some practical tips below when approaching the first contact with the Client:
1. Arrange a direct follow-up call (Lync, Skype, Google Hangouts, etc.) with your potential partner.
2. When sending your calendar invite, please include a high-level agenda (this is a good moment to specify what you expect and what is missing).
Examples of high-level agenda:
– Introduction round (who is who)
– Overview of the Client’s organisation (business history, services, etc.)
– The Client’s expectations and current needs
– The Vendor’s overview
– Discuss the Vendor’s technical capabilities and references
– Discuss software development approaches
– Discuss the Vendor’s Human Capital Capabilities
– Discuss the Business Model and the Ramp-Up Phase
– Plan the next steps (a direct meeting, a formal arrangement, etc.)
3. During the first video call with your prospect, listen carefully and make relevant notes (it is highly recommended to use Microsoft OneNote when using a Lync connection), as you will be able to send all of the notes and the agreed further plan of working together right after your call. One of great habits is to make notes in real time – and show them on the conference panel screen to your Partner – this definitely builds trust and keeps your communication at a very professional level!
4. Right after the initial call, send a note to all of the participants (include roles and plans for the next steps).
5. Based on the agreed steps forward – keep your promises (deadlines, materials you promised to send, etc.)
Formalising the collaboration – Contract & Procedures
If we are lucky 🙂 and we have managed to convince our potential Client to go ahead with us, the next big challenge is to formalise the collaboration – before we finally start to work on the software project together. And because this is not as simple as it may seem, let me share with you some practical insights into how we, at JCommerce, handle this process smoothly.
As reaching a formal agreement between the parties should not be a long and exhausting process, I would like to present here a high-level concept of a contract proposal that I think is clear and efficient when formalising the co-operation between two entities.
For the purpose of this paragraph, I have focused exclusively on a contract template for outsourcing, when the Client decides to build a dedicated software project team in the Team Extension Model. I have consciously omitted standard paragraphs in the contract template, such as: Parties, Confidentiality, IP, etc. My main goal is to outline and focus on things that matter the most to Clients approaching outsourcing Vendors, especially when forming an initial co-operation flow and setting up the procedures.
1. Defining the development approach (team extension, development outsourcing, project outsourcing, etc., as well as the methodology of working, e.g. SCRUM)
2. Explaining the pricing model (Time & Material, Fixed, Hybrid)
The Developer’s full name, experience level and rates (hourly, daily, weekly, etc.) – all in
Alert! It is very important to explain what the all-in rate of a developer includes:
– A company notebook (including necessary software licenses),
– A Lync-compatible headset,
– Usage of the Vendor’s office facilities, including meeting rooms and an Internet connection,
3. Defining the resource allocation (we all should define in advance the scale of utilisation of a developer engaged in the Client’s project)
4. A detailed explanation of the seniority level
Alert! It is extremely important to explain what we mean by, e.g. Senior .NET Developer, Professional .NET developer, etc.
5. Alternatives when replacing developers (defining the warming-up phase, shadow resources, etc.)
6. The period during which the rates are ‘frozen’.
Alert! Most of the companies forget about the fact that the rates are valid for a certain period only. It is good to define the from – to duration when a given development rate is valid and it does not change.
7. The issue of the exchange rate index.
Alert! Nowadays, a lot of vendor companies have issues with fluctuations of the exchange rate index. For that reason, when presenting the hourly rate to your Client, try to think on what basis you have calculated it, i.e. if you offer your British Client a rate of GBP 30 excl. VAT per development hour of your employee, then you should always refer to the value of your local currency index (in my case it is Polish Zloty), which keeps your business healthy. There are several solutions to help both parties weather the fluctuations of the exchange rate index. At JCommerce, we develop a very simple Excel formula that allows both parties to adjust the hourly rates (in a critical situation). I will be more than happy to share this solution with you in a separate, private email.
8. Additional costs of working on-site in the Client’s country
Alert! When the development is done in the Client’s country by an Employee of the Vendor, additional costs are involved, such as:
– Daily allowance.
It is also important to define the on-site rate level as well as who will bear the on-site costs of development.
9. Notice Period
Alert! At this point, most of the vendor companies forget to specify what happens when the Client is in need of swapping/adding a new developer to work for them. It is crucial to outline this period in the contract as well.
10. The Client’s Employee Regulations
Alert! It is so important to introduce the Client’s standards and expectations among the development team that the Client is provided with by the Vendor. It could be something like:
– A standardised email domain,
– A dedicated footer,
– Presenting the Vendor’s developers to a third party,
Apart from that, there are also internal policies on the part of the Client, which the Employees of the Vendor should respect. It is important to set them forth in the form of a separate appendix to the contract and let the Vendor’s team read it carefully.
11. Evaluation & Rewarding (bonus) system
Alert! Some of the companies looking for long-term partnerships in the software outsourcing field define some kind of a rewarding system in co-operation with the Vendor’s management team in order to better control and motivate the quality of performance and overall commitment on the part of each employee of the Vendor.
This is one of the solutions owing to which [we can really influence the overall quality of the co-operation.]
For that reason, when signing a contract with the Client, JCommerce and the Client usually define the current team structure and performance as well as its future state. The parameters that help us to reward and analyse the Vendor’s team are presented below:
– Work quality (software/coding/documentation)
– Reporting accuracy (timesheet submitted on time, cases logged correctly, etc.)
– Communication skills (proactivity, taking initiatives, the quality of English, etc.)
– Productivity (meeting deadlines, expectations)
– Absences & being punctual (sick days, sliding hours commitment, etc.
– Telework Policy
Alert! It is important to include telework policy in the contract (which, besides, is not respected in many kinds of project engagement). But this is a part of the efforts necessary to achieve an optimum balance between the business interests on the one hand and the individual interests of the employee on the other.
Some of the practical arrangements in this area include:
– The request for telework must be made at least 2 working days in advance via email sent to the Team Leader
– Telework is limited to, e.g. 1 day a week
– The employee should be available online (MS Lync, Skype, Google Hangouts, etc.)
In my next post, I will try to share and break down the teams (Client vs Vendor) and roles (Client vs Vendor) during the first few weeks of collaboration (the most important weeks!) with international teams across different cultures. I will try to show you the mechanism, tools and practice that may help the Vendor and the Client gain better control over what is happening in the delivery process. More to follow soon!
The Onboarding Process in IT Services
Onboarding as the key process in the interaction between the Service Provider and the Client
If there is any phase of working with the client, which I could assess as the key one and as the one that is likely to radiate and influence every single element of the subsequent relation between the Service Provider and the Client, it would undoubtedly be the onboarding phase.
Given that the sales cycle and contract execution complete a certain stage in the negotiations with the client – the phase in question can certainly be classified as highly theoretical (as it involves assumptions, expectations, the planning of high-level activities, etc.). This phase is immediately followed by the most pivotal stage among all the stages I have already encountered and still continue to encounter on the entire map of interactions with the client. This very stage is the onboarding process for a new client because it taps into the pure practice of co-operation between both parties.
What is onboarding?
It is a representation of an internal project that transforms into action after completing the theoretical phase (of “prototyping” and setting the “rules of the game”). At the same time, this is the first opportunity for both parties to be able to build trust (the importance of which cannot be overestimated in any form of co-operation between two entities): it is when what was contractually agreed upon between the service provider and the client will now be translated into practice and reflected in it while the Service Delivery Team will be providing IT services.
Key roles and the scope of responsibility in the client onboarding process
The clear and transparent creation of roles during the onboarding phase is an element of critical importance. One of the critical roles that will be needed from the very beginning is the one which has been known in the industry as Customer Success Manager, i.e. a specialist who will be assigned to an existing client right after the completion of the contract execution phase. Such a person will be the “owner” of the onboarding process on the part of the service provider and will be responsible for guiding the new client through this phase successfully. The CSM will also be responsible for:
– holding meetings with the client (direct/online);
– documenting the roles present in the client’s structures;
– identifying the client’s key employees and defining their roles during this phase.
The CSM will be responsible for providing information on the scope of client-oriented undertakings in the onboarding process. Another responsibility of the CSM will also be to introduce the Project Manager (a person responsible for the technical course of the onboarding phase), who will directly take on the role concerning the allocation of engineers and the control over the key milestones in the project on the part of the provider.
What stages can the onboarding process consist of?
The key stages of the onboarding process may contain such key elements as:
– Defining the scope of the services provided;
– Installing and configuring the operating environments;
– Preparing documentation;
– Quality Assurance (QA);
Once these stages are completed, there is another very significant element that forms part of the onboarding process, namely the tuning phase on both sides: the Client and the Service Provider.
The onboarding phase is a bit like playing chess. The game makes sense and is satisfying on condition that both parties not only know the rules under which the pieces move on the board, but also strictly observe these rules under all circumstances. The client onboarding process shows in a micro-scale whether both the Service Provider and the Client are ready to co-operate with each other (and they get their only chance to verify it!). A properly created micro-culture of work and interaction between the Service Provider and the Client ensures success in the form of safe co-operation based on trust and quality. A properly conducted new client onboarding process leads to a long-term relationship and makes it possible to build more complex solutions or vice versa. If the service provider does not take care to guide both their own team and the client’s team through the onboarding phase properly, it may turn out that not only do they lose the possibility of developing their services on the part of their client (by implementing the project with a considerable amount of randomness involved), but they are also likely to be unable to expand in the market with their service portfolio for anyone at all (because such co-operation will pose considerable risk to both parties).
PS #1 You can find my article also in the IT INDUSTRY LEADERS Business Report that will be published by Gazeta Finansowa later on this week, concerning: “The key aspect of the new client onboarding process during co-operation in providing IT services”.
PS #2 Curious about JCommerce practical approach when onboarding new client? I’m more than happy to get in touch with you and share our thoughts & experience. Meet us at one of our offices in Poland!
JCommerce provides software development for Telco sector in Finland
JCommerce Business Intelligence & Data Warehouse Team has commenced cooperation and software development with one of the biggest customers in the Telco sector in Finland. In recent times there has been a major renewal in terms of the Finnish IT landscape, business systems and customer service channels. Based on which we have had the chance to introduce our software development skills and nearshore cooperation model as a huge advantage in the delivery process when working with “big fish” in the land of lakes.
As of the beginning of September 2015, our experienced Business Intelligence & Data Warehouse team has commenced cooperation with one of our strategic partners in Finland. We will be responsible for the entire new DW architecture and further BI & DW development for one of the biggest customers in the Telco sector in Finland.
Our client has decided to split the project into two phases. Phase 1 will pertain to BI/DW Architect engagement (from both the JCommerce and the customer’s side). During this cycle our DW Architect will come up with a prototype and agree all of the project requirements, such as architecture, technology, tools, and knowledge transfer, amongst others. Once phase #1 is finished (planned by the end of November 2015) we will start phase #2 where the customer will engage with our engineering team (2 Business Intelligence Specialists and 2 Data Warehouse Experts). Our DW Architect will at the same time be a key contact person responsible for the entire development of the nearshore side of the project and will be the SPOC for the team that will operate from Finland.
We have already been informed that, in terms of the Database, the client has decided to use Oracle Exadata, and as for the ETL tool – Informatica. Our team members are keen to explore Data Virtualization & Data Vault Modeling because these will probably be the key areas when working on the detailed architecture of this Data Warehouse.
The project seems to be complex – but we like it and we will MAKE IT!
Swiss hunger for IT specialists – Nearshore model
The ICT sector in Switzerland is growing rapidly. The Swiss are expected to face a shortage in skilled labour of at least 14 000 ICT specialists until 2022. What does it mean? Switzerland is hungry for IT specialists and will have find them outside the country at the nearshore model.
At the same time Poland, a Central European country, is well-known for its skilled ICT labour force. What is more important, our country is the second most attractive location among the preferred locations for IT outsourcing at the nearshore model in the countries of Eastern Europe and South America. Polish employees are regarded as trained and skilled specialists in this field.
Based on these facts, we would like to invite you to the Polish-Swiss ICT-Sector Meeting in Rapperswil on 2nd September. The event is organized by Swiss Chamber and is free of charge.
“JCommerce has more than 50 Clients abroad. We cooperate with 15 countries, on 3 continents, i.e. with companies from Canada, Finland, UK, Denmark, Belgium or Italy. Also, we are familiar with quality standards and requirements of Swiss companies, as well as we cooperate actively with companies from the DACH region. We decided to take part in the Polish-Swiss Sector Meeting because we believe in knowledge sharing and prefer direct contact with our potential partners. If you are a Swiss company seeking long-term cooperation in the Software Product development field, we strongly advise you to take part in this event. It is the best opportunity to find experienced IT suppliers from Poland and build the Polish-Swiss IT bridge there” – says Paweł Mikler, International Business Development Manager at JCommerce.
The JCommerce team will be available in Zurich between 1st and 3rd September. Contact us to schedule a direct meeting.
Chocolates, Cheese, Watches and IT Services – Hello Switzerland!
In July we started to operate for a brand new client from Switzerland. What is more important – Zurich is another European commercial and cultural centre on JCommerce IT services portfolio map.
Our new client is an agile product development company providing high-class private cloud solutions in Switzerland and Singapore. The core specialty of our Swiss partner is based on cloud computing. The company is currently operating in 15 countries (4 continents).
In the last weeks we were responsible for setting up a dedicated web development team consisting of PHP and JAVA developers. JCommerce specialists are fully managed by the Swiss Product Owner (working in the Team Extension Model) and the whole development work will be set entirely on Scrum.
If you would like to get know more about possibilities of Swiss-Polish cooperation and our delivery centres in Poland – join us during the Polish-Swiss ICT-Sector Meeting on 2 September in Rapperswil. We will be happy to meet you there!
JCommerce in the top of Computerworld TOP 200 ranking
In the latest Computerworld TOP200 report JCommerce constantly belongs to the top 30 IT outsourcing service providers and noticed 58% increase in export revenues.
The Computerworld TOP200 report shows that IT sector in Poland is growing three times faster than the other sectors of economy. JCommerce continues an upward trend in delivering of IT outsourcing services (23) and custom software development (30), permanently increasing its export revenues. We are extending our project portfolio in the core sectors such as transport and forwarding (17), IT (20), health care (24), media (33), banking (39), power engineering (50), trade (59), industry and construction (72). JCommerce remains at the top of leading providers of Business Intelligence systems (11 place), mobile applications (14 place), Web and Internet portals (13 place) and ERP systems (32 place).
The Computerworld TOP200 gives the most complete picture of the Polish ICT market available to date. JCommerce once again confirmed its continuous dynamic growth and expansion in domestic and foreign market. All these factors significantly influence trust and satisfaction of our clients and business partners.