- You Don't Need to Maintain Your Software - Refreshing thought on project maintenance. Working with tools like Git just open up more opportunities for code ownership, so you shouldn't feel compelled to maintain your projects if you don't want to.
- Basic Ruby Webapp Performance Tuning - Some nice tricks in here for for your web apps whether they are made with Rails or Sinatra.
About Me
My name is Matthew Lang, and I'm a programmer and Ruby hobbyist based just outside Glasgow in the UK.
Search
My Places
Tags
Snippets #100
Snippets #44
- Knowledge sharing iii: automation and wiki pages - New Bamboo share their practices on keeping documentation to a minimum.
- Security vulnerability in nginx: patch and upgrades available - Important news on the latest release of the HTTP server.
- Hiding parts of a view while in development - Excellent little snippet of code to hide parts of a view.
- The 7 Software Development Wastes - Lean Series Part 6: Delays - Looking at common delays in projects and how to avoid them.
Enterprise Resource Planning (or ERP) with Rails
Enterprise resource planning or (ERP as they're more commonly known) are massive, scalable solutions that allow you to run all aspects of your business including finances, sales, inventory and administration. For years now, customers have had the option of going with a number of different providers such as Microsoft, SAP and Oracle. With a healthy market of different providers, customers have the choice of many different systems.
At the moment there are very few offerings of ERP solutions that have been built on Rails. There are two major reasons for this (and scaling isn't one of them!):
- Not enough knowledge - The knowledge required to implement such a solution is more than any one person knows. You must have sound knowledge of generic business processes in all aspects of a today's enterprises. Today's open source software is primarily worked on by either one or two people. This means that there are very few open source developers who have all the knowledge required to implement something on this scale.
- Not enough time - To implement an ERP solution for just one company is a huge task and one that would require the work of many developers. Open source developers primarily work for the greater good, e.g. the Rails community is vast with contributions to the current version being the work of hundreds of developers. They all want a better framework to work from. I can't say that they would all share the same vision of an ERP Rails application for massive enterprises!
XLSuite is an example of such an open source ERP solution. This was originally targeted at a single business, but has since grown into a huge Rails application that handles many of the requirements of an ERP solution.
Why would you want a Rails ERP solution? What are the advantages of a Rails ERP solution?
- Integration - With standard formats such as XML and JSON, Rails provides an easy way for external applications to communicate with the Rails ERP solution.
- Tests - With tests built-in, the Rails ERP solution has a certain amount of testing done automatically for us. This helps to limit the scope of the application doing something wrong. As you would expect, a fair amount of user testing should be done as well, to ensure that everything is working correctly.
- Cost - An ERP solution built on Rails could have a lower total cost than a proprietary solution. As Rails is open source, there is no cost to the customer to upgrade to the latest version of the framework. As with current providers, there would still be a charge for developers to integrate the latest features of Rails into the Rails ERP application, but this is the same of any ERP solution.
So are we going to see more development towards business management systems such as ERP?
Hitting The Mark With Software Projects
You don’t need to be a complete agile guru to use the practices from extreme programming to develop and ship a successful software application. All you need to do is make sure your application is heading in the right direction.
After reading a post, entitled “I had that idea years ago!” on the Signals Vs Noise blog and this article on systematic approximation in mind mapping, I came to realise that software projects don’t initially need a big specification or a detailed road map of milestones and tasks. Instead you need an idea, and you need to develop it using continual feedback from the softwares intended users.
Imagine being a tourist in a city that your unfamiliar with and you want to get to a specific tourist attraction. You would ask for directions, use a mobile device, or even look up a map of the city (yes, you do get maps on paper!). The feedback you get from these methods helps you go in the right direction and gets you to where you want to be.
What would happen if you just thought you could get there without any feedback? Chances are you would get lost.
In software projects, feedback is probably the best thing you can get if you want to stay on target for your software idea. Once you start developing your software application, get feedback on it as early as possible. It might take more than one pass at a feature to get it right but with the feedback your getting, you’ll only need to make a few small passes at that feature.
What would happen if you wrote the same application without any feedback and then shipped it? I can guarantee you would have a massive list of feedback that would take you longer to go through than if you got feedback earlier in the project.
So next time you work on a project for a software application and you want it to hit the mark, get feedback on it as early as you can. Do this and you’ll be well on your way to a successfully shipped application.