Agile Project Management

It’s pretty ironic , given that I’ve already stood up and did a presentation on the topic to the INDA, but today we have a UCD exam in Agile Project Management.

In perhaps the worlds first use of a blog as an exam revision technique, here are the main features of Agile projects:

  • Working Software over Comprehensive documentation
  • Customer interaction over Contract negociation
  • Responding to change over following a plan
  • Individuals and interactions over processes and tools.

In the meantime , if you don’t have an exam this morning , check out the NoUnit Agile tool that we build and maintain.

NoUnit logo

Sugar CRM

I’ve just updated to the latest version of Sugar CRM , and despite the high opinion that I have of previous versions, I’m still very very impressed.

If I was Oracle , Microsoft , Peoplesoft , Sage or any of the myriad of providers of Customer Relationship Management software I would be very , very worried. Previously you could dismiss it as a ‘low end’ product. Now it is approaching mid market in terms of functionality. It’s Enterprise software,  for companies or departments with less than 100 people needing to manage customer contacts (and that would cover most Irish companies).

The price? Zero. De nada . Rien , apart from your time. If you want , SugarCRM will even host it for you (like Salesforce). The beauty of the business model is that they allow other hosters to offer it as well (e.g. Blacknight).

Architecture? One size fits all

No matter what your system does , be it insurance , banking , online travel booking or telecoms, the chances are it does the following things:

  • Gets information from users over the web
  • Does some business processing on that information
  • Saves the information in a database.

At a conservative estimate , about 99% of Enterprise systems would fall into this category.

If so, why do you need an architect , when you can use our ‘one size fits all’ architecture diagram (below)?! Most non-trivial systems, regardless of the language they are written in (be it Java, .Net , or your language of choice) follow the pattern seen in this diagram.

3 Tier Enterprise Diagram

There are 3 Pieces to the Solution:

  • Web Browser (for the user / client).
  • Web and Application Server – carry out business logic.
  • Database Back End – to store data and ensure data integrity.

Within the Application Server (the middle bit above, which as Java Architects is the bit we are interested in), there are a further 3 tiers

  • A Presentation tier (or layer), which is mainly about talking to the user (it gets and sends requests to the web browser).
  • A Service layer , which is mainly about talking to back end such as databases, legacy systems (such as mainframes) and XML-Web services that we may use.
  • A Business layer, the ‘meat’ of the sandwich, where the ‘Value add’ is in terms of business processing and validation.

For each of these layers , your priority in building them are slightly different.

  • The Presentation layer is the bit the user sees. You want it to be fast and give a good impression to the client. Underneath, use a standard framework (link: pick your framework here) and then customize the look and feel.
  • The Service layer you want to work fast and well (e.g. no data faults), but then then forget about. Unless things go wrong, no user is going to complement you on the quality of database persistence! Use standard libraries for the entire layer.
  • Unless your company is a clone or franchise, the business layer in the system is going to be completely different. Aside from the user-interface , concentrate most of your project effort here as this is the core of what system does. We’ve written quite a bit about how to increase the value-add of the business layer (link to O’Reilly Technical Articles)

By the way , we’re only half-joking about the ‘why do you need an architect’ bit. We can be contacted here.