Tuesday, May 24, 2011

Modular Development - Object Oriented Programming For Legal Extranets

It is critically important when building your legal extranet to write modules rather than an entire system. What do we mean by this? We mean that you want to be able to "plug in" or "unplug" different modules which different clients might want to use. Some clients might want only case management. Other might want a simple trial calendar. Others might want a document depository. And, some will want an entire suite of all these capabilities (and perhaps more).

If one properly writes a legal extranet system in modules, one can quickly and easily add them or remove them from various implementations, thus providing clients with a customized version of the functionality they need without a complicated interface or additional costs or extensive amounts of time to deliver the functionality.

The modular approach should apply both to the ability to add and remove modules from a specific client implementation, but also to the menu interface so that the manner in which the modules are provided to users also is flexible and can be modified to meet the requirements of specific clients.

This modular approach to functionality can even help to turn your product into something totally different, yet useful, for your clients. For example, with the proper amount of flexibility provided by object oriented development concepts, one can, with relative ease, transform a litigation case management product into a portal for purposes such as a "business development" portal where a practice group can post articles and case law of interest within a similar extranet framework (same system and code, but different entities storing the data thus creating a seemingly totally different product using the same application code).

Another additional benefit to modular development is in the reduction of lines of code within a system and in the amount of QA / testing one needs to do to properly prepare a system for a client. Obviously, if modules can be reused, a set of code previously fully unit and integration tested does not require the same, deep level of testing when deployed to other clients.

Of course, there are other factors one also needs to consider when constructing a mechanism to deliver a customized extranet (security levels, the ability to quickly and easily change the user interface, the ability to post up client specific graphics, the ability to alter login screen text) but the adaptation of a modular programming strategy focusing on building program objects which can be placed into client implementations with relative ease (both in terms of implementation as well as in terms of minimizing the amount of system testing required to prepare the new system for client use from a quality control standpoint) is a practice those application development organizations serving the legal community should embrace.

Sunday, May 22, 2011

Key Vendor Evaluation Questions

What are some of the important questions and followup questions to ask a legal extranet provider when considering their services for a customized system? Here are a few.

How quickly can you implement my system?

Everyone is going to respond "within a day". But then you need to drill down to figure out what actually is done within a day. Is it a generic, vanilla system with all your customizations to come later? Most likely. It's important to identify exactly what it is you get within various periods of time.

What is the impact of customization on future releases?

You will want to understand if all the changes you are requesting will be rolled into future releases of their software. All too often, a company will make a bunch of changes in a release which can not easily be ported forward. When this happens, the customer is "stuck" on their current release. Sometimes this is just a matter of convenience, like getting new features which are "nice to have". Other times, systems might not work if you don't move to a new release. Clients need to understand how their changes will be migrated forward.

Does the same question apply to for loaded data?

Absolutely. If the software vendor implemented tons of database level changes (new tables,, fields, client specific picklists, etc.) that might be another barrier to moving forward to a new release. It is very important to discuss this if you are loading a slew of data into a system which you expect to using for several years.

Will the system work in all browsers?

More and more, we are seeing multiple browsers (IE, Firefox, Chrome) and multiple devices (computers, iPads, phones) used to access internet based systems. You'll need to be sure what you are purchasing works on your devices (e.g. don't implement FLASH if you have Apple devices). Ideally, a vendor will be using Cascading Style Sheets (CSS) or some other strategy to render the appropriate screens to individual devices. But you need not be concerned with the specifics, just ask the question and test the systems on all your devices.

Do you understand the legal area?

So many extranet companies are really just generic software providers. It behooves a client to find a vendor who is the business of building collaboration systems for lawyers, law firms and legal matters. They will speak your language and understand your needs.

Do you have what is takes to support my large litigation needs?

If you are managing hundreds or thousands of matters, you need a professional-grade system. You need a top tier database to power the system, the vendor needs to be able to provide you with a broad set of fields to track information (field formats like text, dates, currency, drop-down boxes, checkbox yes/no fields, many others), the system needs to be configuable so that new fields can be added query, there should be a user-facing reporting tool and reports need to be outputted in a variety of formats (screen, Excel, PDF), etc.. Be sure whatever tool you select can track all the fields and the volume of records you expect to store.

Wednesday, May 18, 2011

Helping clients understand your legal extranet product

It's important to highlight that these systems can be used on a wide variety of different legal matters, from single case implementations to large mass-tort systems that track and manage thousands of claims. If one can build software which can be easily adapted to many types of different situations, and then succeed in making that distinction to your clients, that is a big win!

Sunday, May 01, 2011

MVC (Model View Controller) Development Strategy

Here is a link to a development methodology which I would highly recommend as an appropriate software development methology for legal extranet systems. While this reading is not for the faint of heart, it does describe, quite well, the manner in which an additional metadata layer can be added on to a system this allowing the rapid development of new system entities and the subsequent easy reuse of application code to support a plethora of various business functions and vertical markets.

One of many links and websites describing this strategy is http://www.tonymarston.net/php-mysql/model-view-controller.html