addressalign-toparrow-leftarrow-rightbackbellblockcalendarcameraccwcheckchevron-downchevron-leftchevron-rightchevron-small-downchevron-small-leftchevron-small-rightchevron-small-upchevron-upcircle-with-checkcircle-with-crosscircle-with-pluscontroller-playcrossdots-three-verticaleditemptyheartexporteye-with-lineeyefacebookfolderfullheartglobegmailgooglegroupshelp-with-circleimageimagesinstagramFill 1light-bulblinklocation-pinm-swarmSearchmailmessagesminusmoremuplabelShape 3 + Rectangle 1ShapeoutlookpersonJoin Group on CardStartprice-ribbonprintShapeShapeShapeShapeImported LayersImported LayersImported Layersshieldstartickettrashtriangle-downtriangle-uptwitteruserwarningyahoo

Re: [ruby-99] Moving outsourced RoR dev work In-House. What are the first few steps?

From: Noah
Sent on: Tuesday, August 2, 2011 7:06 PM
This is all very good advice.

It also assumes that things are basically in good working order.

In my experience, an outsourced application of any kind, outsourced by somebody who isn't necessarily interested in personally maintaining it, is a big mess.  Your full-stack programmer should probably be writing deploy scripts, recovery scripts, documentation and whatnot before trying to change the plugins, gem versions and other underlying bits.  Yes, those things will be sub-optimal.  Yes, the initial blush of just-been-hired energy is best for changing them.

But you're probably bringing it in-house partially for more control over it.  And you probably want more control over it because things go wrong.  Frequently, possibly.

Bringing the existing app under control and getting it ready for a lot of new maintainers will probably be a plenty big enough job without changing its underlying libraries to other things that probably mostly work better, and occasionally fail catastrophically.

Chances are good that your existing app has plenty of parts that occasionally fail catastrophically.  Document, examine, automate, *then* start changing the parts of your (basically working) application.

By the way - your app isn't developed entirely by agile gurus, entirely TDD/BDD, with full coverage and rcov output built into your Rakefile to prove it.  Your Colombian coffee also isn't picked 100% by hand by that guy on the mule.  That's okay, but you should plan for it.  A dose of realism can go a long way when you're taking that (working, serviceable, but probably kind of messy and slightly unpredictable) app and figuring it out.


From: Peter Bloom <[address removed]>
To: [address removed]
Sent: Tuesday, August 2,[masked]:11 PM
Subject: Re: [ruby-99] Moving outsourced RoR dev work In-House. What are the first few steps?

Michael,

My 2-cents...

I would start with an end-to-end full-stack programmer who can grok the overall architecture of how the app is put together.  Is the app deployed and running? If so, you don't want to break anything right off the bat. First, do no harm. That person should fork the code and evaluate the tool chain to make sure the gems, plug-ins, test harnesses, etc. are the best choices (they might need refactoring if something can be improved).  That person should also consider key algorithms, thread architecture, asynchronous jobs/callbacks, database calls/procedures, etc. to make sure they are sufficiently optimized for the load. I would allow a few weeks for this person to understand the code base. An app with a lot of models (say over 25) and a lot of custom Javascript could take a week or two to get your arms around. I've heard of some production apps with over 200 models.  IMHO, that could easily take a month.

Then I would go back to classic Agile.  What stories need to be worked on first?  Depending on the scope, I would hire for those tasks first. Your "1st Engineer" can give you a lot of input about hiring everyone else.  Of course, in this hot market for talent, you may want to hire the best people you can find regardless of specialty if you can afford it.

If the app is not done, I would make sure the new crew was using Agile, TDD/BDD full test coverage, etc. best-practices to pick up where the old team left off.  Hopefully, everyone is playing nice and the old team will help make a smooth hand off.  If your new guy can integrate with the old guys for a while, that might help the transition.

Good luck!

Peter Bloom
[address removed]


On Tue, Aug 2, 2011 at 5:18 PM, Michael Chong <[address removed]> wrote:
If I want to put a team together that will bring all of the RoR development that had been outsourced, who do I hire first? RoR Platform Back-end oriented guru? Or more Front-end oriented Rails person? Need your advice on how to build a strong team of 3 or 4 developers starting with "The 1st Engineer".

Michael Chong






--
Please Note: If you hit "REPLY", your message will be sent to everyone on this mailing list ([address removed])
This message was sent by Michael Chong ([address removed]) from Silicon Valley Ruby Meetup.
To learn more about Michael Chong, visit his/her member profile
To unsubscribe or to update your mailing list settings, click here

Meetup, PO Box 4668 #37895 New York, New York[masked] | [address removed]





--
Please Note: If you hit "REPLY", your message will be sent to everyone on this mailing list ([address removed])
This message was sent by Peter Bloom ([address removed]) from Silicon Valley Ruby Meetup.
To learn more about Peter Bloom, visit his/her member profile
To unsubscribe or to update your mailing list settings, click here

Meetup, PO Box 4668 #37895 New York, New York[masked] | [address removed]


Our Sponsors

People in this
Meetup are also in:

Sign up

Meetup members, Log in

By clicking "Sign up" or "Sign up using Facebook", you confirm that you accept our Terms of Service & Privacy Policy