Manage 2.0

May 13th, 2008 tkadom

Although I am personally partial to scoutapp due to its incredible flexibility, and connectivity with atlrug, I have to mention that five runs has a pretty impressive rails monitoring tool as well!  check it out here.

Posted in Random | No Comments »

Managing Merb 1.0 Expectations…

May 11th, 2008 tkadom

I don’t know about the rest of the ruby community, but i for one will be happy to see merb reach its 1.0 milestone on May 29th.  With that said, merb 1.0 probably still won’t satisfy the great unwashed masses who have become accustomed to the simplicity of rails.  It will take a while for merb-more to reach a point where most current rails developers will even consider it "usable".

The merb community is blazing a new trail into the forest, which means there is alot of work ahead in shaping merb-more into a robust productivity boosting component.  It will take time for merb to become as agile as rails is now, but the potential for merb is even greater that the potential for rails.

Michael Klishin wrote a worthy rant in his blog on the topic that makes for an entertaining read…

Posted in Random | No Comments »

Community Engine

May 9th, 2008 tkadom

 A few days back I wrote jokingly about acts_as_social.  It seems that every site these days has certain community requirements, and most of us simply have a standard set of files that we start a project with.  Namely, authentication, User Search, User Profiles, etc.

There is certainly a universe of plugins that help throw a social site together, but now there is also an engine.  Simply drop this into your site, tweak a few configuration settings and your good to go.  It is worth a download if you have a site which could use some community features, but you don’t have a ton of  time to integrate your code. 

Posted in Random | No Comments »

Merb Book

May 5th, 2008 tkadom

 A few weeks back at the atlanta ruby user group code gathering, I sent out a URL for a git book that is being built by the community.  I gave some serious thought to hosting the latest copy myself, but someone has beaten me to it.

If you are too busy to get the code yourself, check-out the online version.

Merb 0.9.3 has been released today as well.  Check out Ezra’s blog entry on the release for details.

Posted in Merb | No Comments »

The Sirens Call of Development Outsourcing

May 1st, 2008 tkadom

Being in the software development industry almost guarantees that you have an opinion on outsourcing.  In one of my previous companies, the COO was so entranced by the numbers that it just made everyone else seem overpaid!  I mean why pay some guy a 6 figure salary, when you can ship a box of dry roasted planters peanuts to the phillipines and call it a day?!?

So to set the record straight, outsourcing can and does work for some companies, but it isn’t as simple as everyone makes it out to be.  There are several factors that go into a successful outsourcing project. 

Namely:

  • Have a strategy - Know not only how your application will be built, but how it will be deployed and maintained, and figure that into your costs.
  • Find the Right Vendor - Many low budget outsourcing shops have one or two technical experts on staff.  These people are involved in the project initiation and oversight.  The people who are actually staffed on your project tend to be entry level "trainees" with almost no prior work experience.  It is important to choose a vendor who has a good reputation with project work, and who will maintain and deploy the application if necessary.
  • Manage the Relationship - Once you have found a Vendor, the onus is on you to keep up to date on how the project is progressing, and who is staffed on it.  It is also important to build a trust with the vendor since in effect that vendor has become a part of your company, and should potentially serve future development needs.
  • Have a solid contract - This is not only about the deliverable and the timeline, but also about the quality and security of the delivery.  Most contracts are structured to pay as you go.  This plucks teeth from your bite at the end.  If the vendor already has 2/3rd’s of the contract price by the final delivery, you can make all the noise you like about not accepting the delivery, and it wont make a difference.  Having an ongoing maintenance agreement and relationship with the vendor strengthens your hand.
  • Understand your objectives - What are you trying to achieve by outsourcing?  Staffing Flexibility?  Time to Market, Costs?  Freeing up internal resources for other tasks?  Have a clear view of why you are going into outsourcing, and what benefits you hope it will bring to your company.  If your goal is simply saving costs, be sure to work out how the application will be deployed, maintained and updated in advance.
  • Trust but Verify - Many vendors rely on the notion that you will only see what they show you.  If you accept a delivery without having it professionally inspected, its like buying a used car without having it checked by a mechanic.  To illustrate the point, a friend of mine was recently hired to "fix" an outsourced project because it was slow.  The client had already invested in the project and was unwilling to invest any more in development.  The hope was that my friend would just come in and fix the "slow" part.  Long story short, it turns out that the site was passing around multiple megabytes of xml data, had no paging support, and was a squirly mess of javascript that only ran on one browser.  Caveat Emptor!  it required more fixing than the construction cost…

 

So where does that leave you?  Well for one thing if you have all of the above in mind, and crunch the numbers, you might be surprised to find that the decision is not all that black and white any longer.  Outsourcing Web Development to a reputable vendor in india these days can cost upwards of $20-$30 per hour (I guess thats why people are going to the phillipines).  More importantly, once they deliver their product you will need to have someone who owns and maintains it.  Ideally you will have a QA team verify the business function of the application, and you will have an external consultant who verifies the quality and security of the code construction.

For my money, if I was outsourcing my development team, I would have to find a vendor who was willing to do the whole thing soup to nuts.  He would build it, he would deploy it, and he would maintain it.  I call him when i have problems, and if I do, the contract is going to make sure that he will be mortally concerned about getting it resolved immediately.  Find a shop like that, and you have a fighting chance.

If you choose to go the project route, you may soon find yourself in the same boat that one of my friends is in.  An application thats been built without anyone to maintain it.  The sirens call is low development cost, but if you lose sight of the larger maintenance cost of an application you do not have the complete picture. 

At the very least, have your own code mechanic to check the delivery that you are paying for, and good luck finding someone willing to maintain it… 

Posted in Architecture, Random | 1 Comment »