CASE STUDIES: Enterprise Case Study

The client
FourSquare Group is a global personnel relocations company, with a number of offices situated across Europe.
The problem
Prior to contacting BitBolt, each FourSquare office employed a slightly different process for managing their data and workflow. The processes were usually based around paper, white-boards, and Excel spreadsheets. These processes hindered information sharing, and were prone to manual error and loss of data. Furthermore the processes were quite inefficient, requiring many person-hours of administration to perform even the simplest of tasks, such as accounting, reporting, etc.
BitBolt were commissioned to build a computerised system to be used across the entire company, with the following aims:
- To store FourSquare's data in a central location, in a uniform format, with regular backups and high security.
- To streamline workflow processes by taking the best practices used by the various offices.
- To allow 24/7 access to the system to all staff across the globe, either from home or from the office.
- To allow FourSquare's numerous clients to access the system, to create new relocation cases, and to follow the progress of existing work items.
- To provide a granular security system, for example giving temporary workers limited read-only privileges.
- To facilitate effortless reporting and accounting, thereby making FourSquare more shareholder friendly.
- To save the company money by reducing the costs associated with administering the old paper-based business processes.
- To give the company a competitive advantage in the marketplace, by increasing operational efficiency, and providing a unique selling point when marketing to new clients.
- To allow the company to scale up quickly when new business was won, or new offices opened.

Our approach
BitBolt employs a modern and effective approach to project management, designed to give the client maximum return on investment, in the shortest possible time frame.
Software companies often attempt to fully specify a large system up front, and expect to get it right. Even if they are able to do this, by the time system construction is complete, the real world has moved on, and the system no longer addresses current business needs.
Additionally development teams tend to develop easy or fun features first, leaving features that add real business value until last. This can lead to projects being cancelled before any useful software is delivered.
BitBolt's approach however involves carrying out a short initial analysis phase, where we learn about our customer's business and their requirements. Once we have a basic understanding, we ask our customers to prioritise requested features. We then develop, and deliver as many of these features as can be completed within 4 to 6 weeks. This approach allows us to focus on delivering the maximum business value in as short a time as possible.

As soon as we have completed the initial phase, the client can begin using the delivered software, and start reaping the benefits. We then carry out another short analysis session with the client, usually no more than a couple of hours, where we ask our clients to chose the features to be implemented during a second development phase of 4 to 6 weeks. Sometimes these features will be on the list from the first phase, at other times they may be completely new. This cycle continues until the customer feels that the system is complete.
In the real world, business needs change over time. Our approach of doing "just enough" analysis to complete a project cycle, gives our clients enormous opportunity to control software projects, by adjusting requirements and features as often as necessary, without significantly impacting cost. Because we only plan ahead one phase at a time there is no need to modify mountains of paperwork, contracts, project specifications, etc. It is no more expensive to introduce a brand new feature in later phases than it is to specify them at the beginning.
What's more, clients often find that after a few phases, their understanding of what they want has matured, and that the project heads down a different path than they originally imagined. Sometimes a project may be very successful with just the core features, and can be cut short, saving further development costs. With a typical software development model, where all the requirements are fixed at the start, the client usually has to wait a long time, and spend a great deal of money, only to end up with software full of features they never use!

The solution
After a few release phases BitBolt delivered all of the essential features established during the initial analysis. As early as phase 1 we delivered the ability for FourSquare to access the system across all of their offices, and begin inputting data into the system, 24/7. Within another release we had added the ability for FourSquare's own clients to log on to the system, enhancing the various user roles and security access along the way. After a very short space of time FourSquare was noticing genuine time savings as a direct result of using the new system, freeing up their staff to carry out other tasks for the business. Furthermore, the ability to log in to the system and track work items became one of the top features they marketed to prospective customers, giving them a real competitive edge in the market place.
Features
The system we built had the following features:
- Secure Web based Internet application - using HTTPS, ASP.NET forms based authentication, and non reversible password encryption.
- High quality and robust - for all our projects we build a suite of automated tests, which ensures the quality of the system, reduces bugs, and allows us to make changes quickly and confidently.
- Maintainable and extensible - because of our multi-phased approach we know it is likely that we will be adding extra features to the software delivered at the end of a phase, so we always design our software with future extensibility in mind.
- Dynamic content depending on who is logged in - for example FourSquare's various clients see their own logo displayed at the top of each page.



The technology
The technology used to implement the system was a combination of Microsoft products: the C# programming language, ASP.NET 1.1, Internet Information Server 6, SQL Server 2000, and Windows Server 2003.
A web based solution was chosen as the best approach for several reasons:
- FourSquare had a mixture of both Windows and Macintosh desktop machines.
- Third parties would be connecting to the system, and no assumptions could be made about their desktop environments.
- Web based solutions only require a trivial amount of deployment and management (as compared to thick client solutions, where client software must be installed on each desktop). This means that generally, ownership costs are lower for web based systems.
- A web based system was the simplest solution to all of the business requirements, thereby reducing development costs.

Microsoft products were chosen ahead of a LAMP (Linux, Apache, MySql, PHP) based solution predominantly to save costs. ASP.Net as a web platform is a generation ahead of PHP (PHP is functionally equivalent to legacy ASP). ASP.Net's use of modern, compiled, type safe languages; along with its control based architecture; and extensive application framework leads to greatly reduced development costs. Additionally Microsoft products are better supported than open source offerings, meaning solutions based upon them are less risky.
The system has been operational since July 2004. It is hosted in a modern data centre that provides physical security, uninterruptible power supplies, multiple network providers for resilient connectivity, server cooling, fire suppression, and 24 hour staffing.
The future
At BitBolt we don't simply deliver a software system, and then walk away. For all of our clients we offer ongoing support, and training if required. Training may be provided in several forms:, instructor led on-site tuition, paper based user manuals, or online help-files.
For FourSquare we are still providing ongoing technical support. This includes:
- Handling hosting issues that arise, for example renewing SSL certificates, and performing database administration.
- Performing bulk imports of off-line data into the system.
- Adding new functions and features, and modifying existing features as required.
- Answering technical (and non-technical) questions by email and phone.
BitBolt is not a huge, faceless company, with a call centre full of uninterested and unmotivated staff. We are a customer focussed organisation, with a real emphasis on maintaining high quality customer relations, and delivering unrivalled technical expertise. A support contract with BitBolt will typically provide access to one of the senior developers on the project, a friendly face who will be there to help and answer questions from the beginning of the project through to the end.
Want to know more?
To find out how BitBolt can help solve your business problems, please contact us today!