Case Study for Microsoft Technology Development
The customer is a middle size German company that specializes in providing software development solutions for the corporate sector for settlement of their electronic business processes.
The customer faced the situation when quite unexpectedly an urgent need in additional software development hands arose: namely, one of their large projects required more engagement asap and as a result it sucked in almost all the client's resources available; due to this another project which needed further development was jeopardised to stay without proper care and support. So the client had to involve an external experienced web development service provider to help them deal with the project on a short notice. Luckily, the customer was ready for this situation since they had pre-selected a potential vendor for such cases - Altabel: by that time we had discussed and finalised cooperation terms and conditions for working together including contractual, commercial and administrative stuff, and therefore we were ready for a quick start.
Also it's worth mentioning that before the client didn't have experience in outsourcing. So they were very interested and worried in how all the work and processes would be arranged: negotiations steps, communication levels, channels and tools, development and project management processes and methodologies, cooperation approaches and agreement terms, commercial conditions, intellectual property rights and security policies, etc; and Altabel's business development manager broadly explained the points during the conversation - the customer was satisfied with what they heard.
From the solution perspective the customer wanted to add a number of features to the existing B2B portal like creating options class for the report and searching engine implementation using reflection, mapping data from old structures to new one, etc.
As mentioned before, it happened so that the client needed an urgent assistance with development for one of their projects. Since all the cooperation details were previously agreed upon, the Time-and-Material contract was signed almost immediately and Altabel's dev team managed to get into the project very promptly.
The first task included a profile export. In the project it was already done by generating a strange Word-XML file - it used the OpenXML 2.0 SDK for Microsoft Office to generate the Word-XML, which then generated the Word-File. Our team re-implemented this and created a new data structure and requirements. So then:
- the export offered an options-Class
- the options contained a possibility to restrict each Area (a List of Classes or a Class with many fields) in the Profile
- the options contained a possibility to restrict fields (in areas)
- the options contained a possibility to anonymize fields or areas with an optional string
- the export had good class structure, so that the customer could easily extend the export etc
In order to simplify the work of the feature it was suggested that the new implementation should use Telerik Reporting. Some base-reports were designed to be used as templates. Also there was an option which allowed to dynamically choose a proper report-template. Our specialists built the final Report class structure according to the given option class in such a way that this report can be exported in any supported file type (Word, PDF, Excel, etc).
Also a comfortable search for persons/profiles was developed. The searcher is able to search for persons with specific experience or skills. In addition it was decided to implement a moderation feature of the Skill Management System. The task included both the frontend and backend.
The customer was satisfied with the work of Altabel's specialists, and it was planned to extend the team size to 2 full time developers. Unfortunately, a force majeure prevented the plan's realization as due to external reasons the budget for this B2B portal project was reduced and the specialists workload was diminished to be part time. When the conditions become more favorable the team size is expected be revised again. Additionally the customer is now intending to do a couple of more projects with us based on other technologies like Ruby on Rails, Symphony and SharePoint.
Technologies and tools
.Net Framework 4.5, ASP.NET MVC4, Visual Studio 2012 RC
The customer is a Danish IT and design company which specialization is building enterprise business solutions based on mobile and web technologies.
The customer looked for a new experienced web development service provider for their project since the previous supplier lacked cooperation flexibility and understanding of the customer's business values. In general the project encompassed transferring of the e-shop to Nopcommerce CMS with possibility for synchronization of data from the web service.
Upon the tender results Altabel turned out to suit the client best with its competences and cooperation approach flexibility so Altabel was chosen to implement the project on Fixed Price basis. The aim was to redevelop the web-site placing it onto Nopcommerce CMS and realizing the following functionality:
- Viewing categories/products, putting products into a basket, placing orders and making payments
- Viewing home page, shop page, news page, etc
- Filling in an order structure, processing order and payment and sending the information from the store to the service and then getting back the updated information from the service to the store
The transfer to Nopcommerce was made without accessing to the source codes of the old site; also the plugin for synchronization of the data from the customer's service to CMS database was implemented and it allowed to simplify manual support of the store base; additionally the scheduled task with settings and customized entities from standard ones were created.
The customer was satisfied with the result of the project development. Later on there arose a number of change requests like uploading, the placing the solution to Windows Azure Cloud, etc. For better quality of the cooperation it was decided to switch the approach from Fixed Price model to Time&Material.
Technologies and tools
Net 3.5, MS SQL 2008, entity framework, Nopcommerce CMS 2.50, Windows Azure Cloud
The customer is a medium-sized Norwegian company, IFS and Microsoft partner, which specializes in design and development of innovative add-ons to IFS Application and offers specialized consulting services in different areas.
From the products' perspective the goal was to develop the solution that would simplify work with document storage (IFS documents), processing documents and generate documents/mails/reports from templates. Also an entire document life cycle (creation or checking out, checking in, releasing) should be performed through easily accessible and friendly GUI to make user's experience as effective as possible. For this project purpose the customer needed a solid software development services supplier with highly skilled .NET and ASP.NET specialists.
One of Altabel Group contacts referred Altabel to their partner who was looking for IT company to outsource a part of their projects. Since the client was looking for innovative and initiative highly-skilled programmers their geographical search focus was mostly Eastern Europe: historically Eastern European programmers has strong educational background and solid IT skills and are open to communication and discussion and eager to share ideas and suggest options to implementation.
To verify Altabel's technical competency and business flexibility the cooperation was started with small/middle size projects. They were implemented on Fixed Price basis and Altabel successfully carried them out.
Later the customer decided on extension of collaboration with Altabel Group and Dedicated Development Team model was chosen for further cooperation. The customer had a multi-level vendor selection process and Altabel's competitors were from such countries like Poland and still India. Despite some competitors offered more attractive rates right balance of quality and price was of primary importance for the client.
After CVs review and interviews the client selected 2 team members; senior .NET developer (Team lead) and qualified .NET developer. To get acquainted with the team personally the customer came to Altabel's Minsk dev office. After this personal meeting with the dev team the scales were tipped towards Altabel. Also Altabel's Team lead impressed the customer very much with his understanding of correlation between technical and business sides and strategic thinking.
On finalization of contractual terms and administrative stuff the deal was signed off. In a couple of months the team was expanded to 3 members - senior ASP.NET programmer was added according to a pre-agreed schedule.
Office Automation Suite was one of the project performed by Altabel's Dedicated Development Team. The solution was going to be a set of MS Office add-ins and be provided within a single installation package which could be easily installed on user's machine and provide needed functionality directly from MS Office applications (Word, Excel, PowerPoint, Outlook). The system was planned to be supported by MS Office 2007/2010, x64/x86.
The following add-ins were included in Office Automation Suite:
- Document Management (managing documents stored in the database of the depository (check in/out, save revision history, view/set information) using MS Office products interface)
- Information Merger (creating documents templates using associated data from the database)
- Quick Reports (creating reports templates, filling in reports with data loaded from the database)
- Advanced Mail Merge (Word "Mailings" functionality based on associated data loaded from the database)
- Power Tools (exposing functionality to be used by VBA developers)
During the project the team encountered difficulty with realization of one of the task. It was due to limitation by MS Office Interop on the one hand and by the 'middle layer' customer's framework (which the dev team had to use while working with the database) on the other hand; the specialists found a right solution to the problem and fixed it.
Communication between the customer internal team and Altabel's programmers is carried out directly via skype, e-mail and phone and development goes under SCRUM approach.
The cooperation between Altabel Group and the client is successfully in place now and growing: for 3 years out of 4 of overall cooperation Altabel has been running .NET-specialised DDT for the customer; additionally Altabel's mobile specialists (iOS, Android) are periodically engaged on Time-and-Material basis to assist the client when our client's end customers look for competency "out of .NET box".
Technologies and tools
.Net Framework 3.5/4.0, Office Interop 2007/2010, VSTO, WiX, Visual Studio 2008/2010, Team Foundation Server, Oracle client
The client is a Norwegian-based start-up product company with representative offices in the Northern and Western Europe and Middle East, and they are one of the largest mobile application providers in Norway. The client's product portfolio consists of a number of mobile applications in the area of information management for various mobile platforms (one of them was the winner of the prestigious GSMA Global Awards). The product portfolio positions the customer as one of the world's world leaders in contact management, contact information handling and contact quality.
From the products' perspective the goal was to develop a distributed synchronization system which allowed end users to backup, restore and manage mobile content on multiple mobile devices and view the data and their editing through the web-interface and mobile clients.
For this purpose the customer needed a solid software development services supplier with extensive experience in .NET, its server and web parts. The project complexity level called for highly-experienced specialists on board who were capable of not only innovative development according to the specified requirements but also of communicating out the product features and programming approaches with the customer directly and of building up a product development strategy along with the client's management.
The project was decided to start small and grow gradually but quickly and flexibly. The initial team was planned to consist of two .NET developers of high expertise level, one - for server side, the other - for web client. According to the customer's technical requirements, a number of candidates was provided. After the CVs's review and interviews the client decided on the first team member to start the project ball rolling. A bit later for knowledge transfer and acquaintance with the customer's team the selected specialist went to a short onsite trip to Oslo to the client's headquarter premises - it helped to get on the project rails sooner and grab the project understanding more aggressively.
After the trial period the client was satisfied with the competency level and work speed of the developer and in short time the second dedicated developer was added to the team. Now the core .NET Dedicated Development Team (DDT) amounts to three .NET developers plus one Maintenance and operations specialist.
The developers performed the following activities for the project: development of the core business logic of the product, database functionality implementation, web-client development and its integration with the core, Windows Services / Web Services development, performance optimization of the core components, extensive testing to ensure smooth system usage, mobile applications development for which mobile specialists (iOS, Android, BlackBerry, J2ME, Symbian) were added to the team on Time-and-Material basis.
In general the system consists of:
- Mobile clients for different platforms (Android, iPhone, S60, J2ME)
- WCF REST services
- ASP.NET MVC Web Client
- Other clients like MS Outlook
The client-server software helps to sync contacts, messages, calls, multimedia (photo+video) from a mobile phone to the server and back. Also the server-side supports versioning duplicates handling of the 3rd party systems integration. Mobile clients software and server-side communicates using REST API which is based on WCF. The Web client is created using .NET MVC framework, it also has integration with Facebook.
During the whole development cycle the communication is arranged with help of e-mail, skype, telephone. A web-based project management tool JIRA and regular project meetings and weekly reports help the client to monitor and manage the project related activities properly. Altabel's Team lead is also partially entrusted with product ownership responsibilities. The whole team is always open for functional and technical discussions and provides their recommendations to the customer; also they take active part in elaborating the products and business development strategy along with the customer's management.
As for today the cooperation between the client and Altabel has been in place for almost three years, and during this time the team size has constituted on average 3-5 developers: it started from 1 specialist and in the peak time it counted to 8 persons including mobile and testing specialists; now it makes 4 dedicated team members and some part time specialists engaged on Time-and-Material basis. The project is going to evolve in the direction of the latest mobile platforms like BB10 and WinPhone 7/ 8.
Technologies and tools
The customer is a large software development company based in USA whose business area lies in helping companies' executives to elaborate and enhance training, learning, and cooperation within their organization and across its development teams.
The customer was looking for a trusted vendor for development of an integrated platform serving as a courseware for the latest Microsoft technologies carrying out test automation of further solutions. Moreover, as a wide range of techs was expected to be used the testing framework needed to be improved as well.
To implement a project based on innovative MS technology the client was searching for a mature software development vendor with solid .NET expertise basis and willing to pioneer and develop its competency in emerging technologies. Additionally the client required references of previous .NET projects as a part of its decision making process.
Since the technologies to be applied were quite new and finding real commercial experience with them was hard the customer's requirement was to get solidly experienced .NET developers on board. As there was no specification and changes were expected to be made in the project course Time-and-Material approach was chosen to follow. After the CVs review and interviews the client decided on two Senior .NET programmers and they were assigned on a full-time basis. The customer wanted the solution to include three educational programs based on the technologies studied: Windows Phone 7.5, Windows 8 Store Apps, and Windows Azure. The project scope incorporated the documentation, description of the tasks to be studied and sample projects for every program. Besides, it was created the extension of the testing framework, i.e. Windows Azure REST API library that provided common testing actions upon Windows Azure Cloud Services, Virtual Machined and Storage Accounts.
Our specialists successfully implemented three educational programs. Partially they were released public upon the customer's preference for their clientele public usage. The communication between the customer and the Altabel`s technical specialists was very intensive the whole project long: requirements, functionality, changes and new features were discussed via Gotomeeting and Skype.
The client was satisfied with the competency level of Altabel`s technical specialists. As the result the cooperation between the client and Altabel has been in place for about nine months and in future it is planned to continue developing new solutions related to Windows 8, Windows Azure and other cutting-edge technologies from Microsoft.
Technologies and tools
The customer is a large US-based company operating in the sphere of consulting and implementation of IT solutions for international product and logistic services suppliers.
The customer was looking for a vendor with solid experience in enterprise software solutions, namely in multi-language portals for publishing news, events, etc. The portal was going to function as an information center with systematized links to the external resources of the organization. This systematization had to prevent the existing problems with communication. Also the portal should function as a search system with possibility to search of packages and bottles in external data sources.
The client was searching for an experienced software development supplier in the area who might help to choose proper technologies to use in the project and then implement the project itself. After a round of discussions with the customer and project requirements clarification Altabel Group recommended technologies suitable to apply to this solution building and provided references to similar projects to prove our competence.
The customer weighed pros and cons of proposed technologies described by Altabel's team and made their choice. As the result, MS SharePoint 2010 Server looked to be the best suitable platform for storing of different sorts of information (news, events, calendar, notifications) and related meta data; also it was taken into account that later by means of SharePoint portal users access rights could be distributed as well as search in internal site content could be arranged.
Also on the presentation level to make it possible to unify processing of different clients queries the team suggested to combine SharePoint with ASP.NET MVC 2.0 to take all advantages of such architectural solution as ASP.NET MVC 2.0.
In order for the portal to look more interactive and user-friendly it was decided to take on the design and Web 2.0 was proposed for the solution to have elegant look.
To arrange the search system by external data sources in more flexible way the team suggested to chose such SharePoint services as Business Data Connectivity Services (BDCS) and Search Service Application (SSA). BDCS service would allow to implement a connector to the external databases and extract required information from it. SSA service could help in the crawling mechanism and creating index file for data analysis.
As a result of joint cooperation, the portal was successfully built and got more functional options (conducting a poll, content archive etc.), thus producing more opportunities for users' communication now. This project has been a good start for collaboration and then Altabel Group was trusted to realize other projects for the client.
Technologies and tools
MS Visual Studio 2010, .NET 3.5, ASP.NET MVC 2.0, MS SharePoint 2010 Server Enterprise, MS SharePoint Designer, SharePoint Manager 2010, SharePoint Caml Builder, WSP Builder, MS SQL Server 2008, LinqToSQL, LinqToObjects, Aspose.Pdf, Aspose.Cells, JQuery, JQuery UI, JQuery Ajax, JQuery Templates, KnockoutJS MVVM