Choosing a Database Developer/Architect?

  • Hi,

    We're a small firm trying to select the "right" database developer/architect to develop our database and web portal. But each firm we've spoken with has its own strengths and each sounds informed and knowledgeable. We're close to contracting with one firm - after extensive discussions. Considering the amount of money involved, does anyone have any insights as to how a firm like ours can ensure that we're retaining the "right" group?

    Thanks.

  • How about that you like the people that you will be working with?

  • We immediately eliminated the groups that we didn't care for because of their "approach" - although we were also careful not to throw the baby out with the bathwater. We also eliminated groups whose bids were ridiculously high.

    The current group is proposing a highly de-normalized structure to address our needs to add and remove columns going forward as our industry coverage evolves (to reflect industry changes). This makes sense to us, but...

  • How about you post the proposed solutions here so we can point you in the right direction?

  • Thanks. I don't know if the info below is precisely what you're looking for, but here's the overview of the proposed system. The entire proposal is probably too long to post.

    Thanks for your help and guidance.

    ========================================

    Business Situation

    A significant part of our business has involved researching, writing and producing extensive and detailed industry analysis reports. Since publishing its first reports in 1997, the consumption habits and information requirements of our clients have changed dramatically. Clients are now requesting that our data, information and analyses be “customizeable” to address their specific and changing information requirements. Large static paper reports no longer address clients’ needs. Recognizing this shift in clients’ demands, we have decided to transform its entire business into a subscription-based, online one.

    A foundational component of this model will be a robust database management system containing every piece of data, information and analysis that we have researched and written since its inception. This means that the system will have to contain text, data, graphics, etc. in a time-series manner (e.g. analyses for companies covered in 1999 will have to be retained by the database and accessible is “slices” by clients). The database must be flexible to permit our firm to cover new communications industry sectors and new aspects (data points) of currently covered sections.

    A second component of the overall system will be a web-based (ASP.NET) graphical user interface through which our analysts, consultants and other employees will access the database. This interface needs to be easy to use, clean and attractive and permit our team members to input, adjust, and update the data and content they research and produce. This interface must also permit our employees to directly prepare content in the system, removing the need to write reports, analyses, etc. using tools (such as Microsoft Office) outside the system.

    The third component of the overall system will be a Web portal through which clients most interaction with our will occur. First, through this portal clients will access and customize the data, information and analyses contained in the database management system. Additionally, clients or visitors will be able to submit data, information or requests via this portal. For instance, clients must be able to submit requests for specific research or executives at companies our firm covers must be able to submit new or updated data and information for consideration by our analysts. This portal must also be capable of marketing functions, such as collecting visitor information and permitting visitors to subscribe to our newsletters, podcasts, or other “free” content.

    The descriptions above are not intended to present an exhaustive inventory of the system, but rather are intended to present a broad-stroke picture of it.

    Taken together, these three (3) components comprise a system that we refer to as the “Information Engine.” This term is used because the system is not simply a powerful database, but must permit internal users and clients to generate “information” and glean insights from the system.

    PROJECT OBJECTIVE

    Given the above, the overarching objective of this project is to design and deploy business application software and a web portal that will provide us with the tools to dynamically manage the communications industry and firm-specific research data, analysis, information, and reports our firm provides to its customers, and to provide customers with mechanisms to purchase and view the research data, analysis, information, and reports in a web-based environment our firm controls. The core business application will allow us to attach dynamically defined data fields to pre-defined static entities within the system, provide an optional approval mechanism for all dynamically entered data, manage report templates (research data output/views), and export/synchronize the contact data for marketing purposes. The web portal will allow our customers the ability to view information about our, provide contact mechanisms, allow customers to purchase access to research data, analysis, information, and reports, and allow the submission of research requests and inquiries. The overall project will create an online environment that provides real-time access to research data, analysis, information, and reports produced by our firm’s analysts and consultants.

    Solution Approach

    Platform

    This application will be built upon Microsoft’s .Net Framework (ASP.Net 2.0), coded in the C# language and hosted on Intel-based servers under Microsoft’s IIS Web application server. The .Net platform is a secure, robust, thoroughly modern application environment with rich functional capabilities. Microsoft SQL Server 2005 will handle data-tier functions including storage, retrieval and transformation of data.

    Architecture

    This application will be architected in a modular fashion allowing new modules to be added as needed. User access privileges will be implemented on a module level, giving administrators the ability to assign usage rights to specific functions while restricting access to others. Rights to functionality are verified on every page request preventing users from accessing content or functionality to which they do not have permissions.

    Presentation

    This application presentation tier will be separate from its business logic and data tiers, meaning the interface (or “look”) of the site will be easily editable. The interface will be rendered for compatibility with modern Web browsers including IE 7 compatible browsers and Mozilla 6 compatible browsers (and above). Appearance will be controlled through the use of Cascading Style Sheets.

    Interface Design

    The developer is proposing to use 3rd party resources to design graphical aspects of the application’s user interface, including: graphics, images, fonts, styles, colors, icons and look and feel. All design concepts and final designs will be subject to our firm’s approval.

    Data Schema

    This application’s database will be de-normalized or “flattened” in order to support the addition, update and deletion of database “columns” without changes to the underlying database schema. Stored Procedures, Temporary Tables and Views will provide tabularized views of the flattened data, simplifying the task of designing reports.

  • I'm sorry but adding a column without altering anything in the system is just impossible (unless you use a single table for the whole database or othere pointless technics).  I'd like more details on that point if you or they can provide them.

  • It sounds so me like they may be claiming not to normalize the database in order to justify a deviation from their normal process? The tools all make sense. They are going to draw on subcontractors for much of the GUI stuff - this means that they are primarily a C# / DB house? How do you know that they won't job away ALL of the work? If that happens, you and your project could be HUGELY at risk if they choose the wrong vendors for themselves. Since this is intended to be the lifeblood of your business, you have every right to be concerned.

    Know these points:

    1. not every company has the ability to do everything themselves.

    2. subcontractors have to be accountable to the contractor (their client) and to you (the contractor's client). How will conflicts be resolved? Will you have direct access to the subcontractors, or will everything have to go through the middle man (there are good arguments for both sides of this question!)?

    3. how familiar are you with procurement processes for this type of work? Do you hire these type of people often? Do you have inhouse staff for maintenance after implementation, or is there a maintenance agreement afterwards?

    4. Did they provide a standards definition of any form? Something a little more specific than simply 'industry standards'?

    5. How did their references check out? Did you even check references? How many did they give you? You should ask for a list of more people than you intend to check, so that they have to be covered. (btw, if they are relatively new, and have a short list, that's ok.)

    6. There's a huge list of questions you COULD ask. You don't have time to ask them all. A key question to ask their references - how could the reference have done things differently to help the project be more successful? (Are you willing to be flexible to get the job done?)

    there's tons more i could throw in here, but you get the idea. Feel free to write me here with offline contact info.

    Last but not least - what's the timeframe for making your decision?

  • These are great questions and help build my confidence since we've addressed many of them during our interview process and will address most in the agreement (such as limiting their outsourcing of the work).

    You're right - they are a C# firm. Don't know if that makes a difference.

    Our major concern is ensuring that the solution is flexible enough for us to incorporate new columns to permit us to capture new information/data as the industry changes.

    We will also be writing our reports in pieces directly in the database and permiting users to recompile them as they need.

  • I am an Asp.net MVP I will not accept solution that is asking a denormalized data because, you are accepting a relational model of your application designed by someone who is clueless about data.  They will create fancy Object based application for you that is not flexible if you add Reporting services to your application.  The big companies I work for the development teams write data model request which is reviewed by a data expert, who rejects 90% of those request without reasons.  Contact me I can help.  Caddre@hotmail.com

     

    Kind regards,
    Gift Peddie

Viewing 9 posts - 1 through 8 (of 8 total)

You must be logged in to reply to this topic. Login to reply