Strategic Business and Systems Analysis

Evaluation of IT systems and third-party solutions for your business environment.

  • Warehouse Management Systems
  • Transportation Management Systems
  • Facility Conversion and Startup
  • Integration of Business Procedures with System Capabilities

Programming and System Development

Computer programming languages are much more alike than they are different. However, some problems may be more easily solved in one language than in another. The libraries of existing components and solutions cannot be overlooked when making a choice about the best way to address a problem.

  • Message-oriented Middleware
  • C, Perl, Java, Ruby, Korn/Bourne/POSIX scripts, Lisp
  • SQL, Regular Expressions, TCP/IP
  • Rails, XHTML, HTML, CSS, CGI, JSP, XML, JavaScript

Building a Testing Culture

Which would you rather have, a document that defines how a given piece of code is supposed to work or a test suite that runs successfully over that piece of code? Of course, having both would be best, but if you had to make a choice, the test suite is clearly better in the long run. Basic testing is an integral part of the developer’s craft, but transforming the ad hoc testing often performed manually into an automated suite that can be used to automatically and consistently verify the proper function of a bit of delivered code can take discipline.

Many of the positive reinforcements that testing brings are explained in Extreme Programming Explained: Embrace Change (ch.18). These principles and their practice are discussed during the meetings of the XP-Cincinnati user group.

If having a test suite seems like extra work that doesn’t have any long-term value, then ask yourself how often a defect has been introduced during a maintenance or enhancement action — and how much effort (time and money) went into finding and correcting that defect.