<TABLE> <S> <C>

<PAGE>
<ARTICLE> 5
<LEGEND>
THIS SCHEDULE CONTAINS SUMMARY FINANCIAL INFORMATION EXTRACTED FROM THE
CONSOLIDATED FINANCIAL STATEMENTS.  ALL AMOUNTS HAVE BEEN RESTATED TO REFLECT
THE COMPANY'S ACQUISITION OF NCC, INC. during 1998 which was accounted for 
as a pooling of interest.
</LEGEND>
<RESTATED> 
<MULTIPLIER> 1,000
       
<S>                             <C>                     <C>
<PERIOD-TYPE>                   YEAR                   YEAR
<FISCAL-YEAR-END>                          DEC-31-1997             DEC-31-1996
<PERIOD-START>                             JAN-31-1997             JAN-31-1996
<PERIOD-END>                               DEC-31-1997             DEC-31-1996
<CASH>                                           8,987                  34,497
<SECURITIES>                                    58,709                  39,901
<RECEIVABLES>                                   36,140                  18,895
<ALLOWANCES>                                       498                     160
<INVENTORY>                                          0                       0
<CURRENT-ASSETS>                               107,372                  88,055
<PP&E>                                          20,312                   8,852
<DEPRECIATION>                                   4,953                   2,844
<TOTAL-ASSETS>                                 123,780                  94,694
<CURRENT-LIABILITIES>                           24,268                  13,819
<BONDS>                                              0                       0
<PREFERRED-MANDATORY>                                0                       0
<PREFERRED>                                          0                       0
<COMMON>                                            46                      44
<OTHER-SE>                                      97,709                     969
<TOTAL-LIABILITY-AND-EQUITY>                   123,780                  79,703
<SALES>                                              0                       0
<TOTAL-REVENUES>                               181,655                 106,702
<CGS>                                                0                       0
<TOTAL-COSTS>                                  108,456                  65,383
<OTHER-EXPENSES>                                58,750                  33,379
<LOSS-PROVISION>                                   534                     338
<INTEREST-EXPENSE>                                  29                       0
<INCOME-PRETAX>                                 17,824                   9,300
<INCOME-TAX>                                     7,832                   3,422
<INCOME-CONTINUING>                              9,993                   5,878
<DISCONTINUED>                                       0                       0
<EXTRAORDINARY>                                      0                       0
<CHANGES>                                            0                       0
<NET-INCOME>                                     9,993                   5,878
<EPS-PRIMARY>                                     0.22                    0.16
<EPS-DILUTED>                                     0.21                    0.15
        

</TABLE>