Saturday, November 20, 2010

Django BDD Tools

I've been looking at Python testing tools this weekend. I really like the BDD discipline for testing and it seems that Python now has a few Cucumber clones to make this approach more reasonable:
  • Pyccuracy - https://github.com/heynemann/pyccuracy/wiki/
  • Freshen - https://github.com/rlisagor/freshen#readme
  • Lettuce - http://lettuce.it/
  • Morelia - http://pypi.python.org/pypi/Morelia/
  • PyCukes - https://github.com/hugobr/pycukes
  • pyhistorian - https://github.com/hugobr/pyhistorian
Also, I found a couple of tools that provide autotest-like functionality:
  • peon
  • autonose
  • django test server

I'm using Django, so there's some Django-related stuff that's useful as well:

  • django-test-utils 
    • testmaker, crawler, twill runner and more, from Eric Holscher
  • django-sane-testing 
    • ...not convinced this is still necessary in Django 1.2+
  • django-test-extensions
    • Some useful PyUnit assertions for testing Django apps

Monday, August 23, 2010

Hosted Support Ticket Software Evaluation

Tender Support - http://tendersupport.com

By the entp guys (Lighthouse) this seems a solid tool. Much llke Lighthouse, it is light on features, but the features are all very well thought out and the presentation is clean and stylish. While there are reasonable customization options available through admin configuration, there doesn't seem to be any kind of user-visible id assigned to requests, so it fails one of my
critical criteria. Of course, there are a lot of API options, so anything's probably possible.

Demo site: http://design-service-usa.tenderapp.com

Monday, March 8, 2010

Small Business Accounting Software

Yesterday I started researching technology solutions for a potential client. The client has a growing auto repair business and has outgrown the software that he's been using for the last 7 years. The business is multi-site - they have three locations - but mostly managed from a single location. A large part or their business is specialty work - maintenance and repair of a commercial transportation companies vehicles, and the remainder is typical retail auto repair. When I met with them, they explained that they have evaluated a lot of off-the shell repair shop management applications over the past year, including all of the larger and/or popular ones targeted at their segment, and they haven't been able to find one that meets their specific needs.

The basic requirements are pretty common - point of sale, generation of estimates, work orders, and invoices, customer and vehicle history management, and inventory management. They use quickbooks for back-end accounting but there is no direct integration between their front and back office systems.  They also pointed out the abilty to easily create ad-hoc reports and to get exports of customer data for marketing would be very useful as well.

Whenever I encounter a situation like this my first thought is that finding the right existing solution is by far the best option. In terms of cost, timeliness and many other factors, buying an existing product that may not be *exactly* what you envision is usually better than paying someone significantly more to build you what you think you really want.  But if that's not an option, then custom development is in order and there are a few ways to go about it. Building from scratch is an option, but in a case like this where the general functions are very common customizing an existing, general purpose package is probably the right way to go. But the question becomes, what product do you start with?

My first thought was QuickBooks. They already have it in house, and are happy with it. But Quickbooks doesn't impress me a a great platform for building third party applications on. So what else? Microsoft Dynamics maybe? Well there's a confusing product family - it turns out there is no 'Microsoft Dynamics'.. instead there are four (or six, depending on how you count) different packages with roughly the same features but entirely different implementations, each competing within the MD family. It seems NAV is the way to go for my purposes, but RMS may also be a candidate. Of course, I haven't been able to find any pricing information yet, so these may yet be too expensive.

The open source world has some options as well - OpenBravo looks like a reasonable choice (mostly) and Opentaps deserves a look as well. And there's a few others like xERP and Compiere, etc I need to investigate more as well..