About   Forum   Wiki   Home  

       
    Managed Chaos      
   
Naresh Jain’s Weblog on Object thinking, Patterns, Open Source, Agile and Adventure Sports

 
`
 
Tags
Recent Comments
Quick Search
Recent Entries
Categories
Archives
February 2008
M T W T F S S
« Jan   Mar »
 123
45678910
11121314151617
18192021222324
2526272829  
Add to Technorati Favorites

Syndicate This Blog
Entries (RSS)
Comments (RSS)

Archive for February 12th, 2008

Reverse Sourcing

Tuesday, February 12th, 2008

Yes I’m talking about Reverse Sourcing and not the tradition outsourcing.

From Wikipedia:

Outsourcing is subcontracting a process, such as product design or manufacturing, to a third-party company.

The decision to outsource is often made in the interest of lowering firm costs, redirecting or conserving energy directed at the competencies of a particular business, or to make more efficient use of labor, capital, technology and resources.

Today when we refer to outsourcing, its common to think about outsourcing to “third world countries”(economically backward) primarily for cost advantages. Esp. in software we all have see a huge wave of outsource development. Companies in US, Europe, Australia, etc outsourcing development of software products to countries like India, China, Philippines, Sweden, Romania, Russia, Ukraine, etc. The customer and business side of people stay onshore while development and testing is offshored.

Even though Reverse Sourcing is actually Outsourcing, it different from the very intent point of view. There is a sense of things being reversed. For example, the customer and product owner is now in India and while the developers and testers are in US.

Slowly I’m seeing a trend of reverse sourcing picking up in India. Companies and Individuals in India are outsourcing development work to US and Europe. This trend is quite opposite to what was happening before where the main driving factor for outsourcing was financial. So far I’ve seen reverse sourcing happening mostly on niche technologies and domains. Cost is no longer the driving factor. Certainly developing in US turns out to be at least 2 times more expensive than developing it here.

I had a few product ideas and I was planning to outsource the development to few folks I know in US. Me being an individual, and not willing to go down the VC route, I was not able to pay them per hour US rates. Instead I was planning to work on an “equity sharing” model. Where the developers in US get some stake in the end product.

While I have not made much progress on this front, I did meet a few companies in India, who were outsourcing development to US and actually paying US rates to them. To improve my understanding of how reverse sourcing works and to get comfortable playing the customer role, I have started a pilot project with Penn State University, where I’ll be the customer and students of Penn State University will be the development team. More details on this project on “Playing Customer for Penn State University Project“.

Playing Customer for Penn State University Project

Tuesday, February 12th, 2008

Last year, Oct I visited Penn State University, York and presented some guest lectures. Thanks to Dr. Samir Shah for taking the initiative and getting everything organized. In fact he hosted me at his place. Later, in Nov, Penn State hosted the Simple Design and Testing Conference. During both these visits I met IST instructor Bill Cantor. Samir introduced me to Bill, as Bill was planning to facilitate a distributed project with final year IST Students.

Last year Samir facilitated two distributed projects between US and India. He came up with some very interesting stats about the two projects. For one project he used Agile and for another one he used traditional methods. More details…

This year Samir is busy establishing relationships with Universities in India for a 2 + 2 program where students can study 2 years in India and then go to US for the last 2 years. In the end of the 4 years course they would get a Penn State University Degree.

While Samir is busy, Bill will lead the initiative on distributed projects. The plan with this project is to have a customer offshore and have the project management and development team (University Students) in US. I really liked the idea and I agreed to play the customer role on this project. This will really help me understand the reverse sourcing funda.

Now that we have the team and the customer in place, what do we build in 3 moths? The answer was easy. For a long time, I wanted to develop a Content Management System specialized for Conferences. I run at least 4 different conferences each year and each of those conference have very different formats. Some are open space based, while some are more traditional conferences where speakers submit proposals and then we select speakers, create a well defined program for the conference. They have quite different sponsorship structure and have a huge variation in terms of target audience. I have 3 different websites built on completely different technologies to run these conferences. Well, it great to experiment with different technologies, but after a while they really become a pain. Also the big issue I face is each time I want to create a new conference, the bootstrap time is huge. There is a huge duplication in terms of content. I want to minimize this and help other people easily create new conferences. So this was my chance to scratch my personal itch and also help others.

For this distributed project we plan to use extreme programming along with Ruby on Rails. The students are new to Agile and are currently learning about Agile and the programming language. We kick started our first iteration today (on February 11th). We are planning on five two week iterations. Totally we have 12 weeks for the project. 10 weeks would go in the iterations and 2 weeks to wrap up stuff.

Due to the timezone issues, we have our meetings are crazy times. We meet at 9:30 PM EST and 8:00 AM IST. To make sure everyone on the team is on the same page, I asked the team to build a mindmap about the project during our last meeting. Last week, we had an overview meeting and this week the team presented the mindmap. I was very impressed with their work.

Content Management Site MindMap

Based on the mindmap, we selected 3 basic functionality and broke them down into stories. I also created acceptance criteria of each story. Based on this the team estimated and came back with a feedback saying the stories were too complex to complete in one iteration. Iteratively we trimmed down the story till the team felt comfortable with them. Finally we have 3 stories which will give me a good feel of progress when I see the demo in 2 weeks from now. The team has also setup an online story and issue tracking system. We’ll be using the same to Q&As. Hopefully this will become our knowledge base.

The goal for our first iteration is: Wet out the two basic ways to update content.

We want to
- locally edit content offline and then upload it
- CMS style (wiki)

For the first iteration we have one user, that is myself….Naresh Jain - Organizer of the Simple Design and Testing conference. So in this case, Naresh is the admin for the website.

Story 1: Complexity 4
As an admin of the conference site,
I should be able to authenticate myself
So that I can edit the pages online

Acceptance Criteria:
Given that I’m a registered user
When I enter my user name and password
Then I should be able to see the welcome page

Given that I’m not a user of the site
When I register as a new user, by giving a new user name, password and other deails
Then I should be able to see a welcome new user page

Story 2: Complexity 5
As an admin of the conference site,
I should be able to edit pages locally and upload them
so that I can work offline

Acceptance Criteria
Given that I’m a registered admin of a site and I’ve logged into the site
When I upload a plain text file thru the website
Then I should see the website updated

When I upload multiple files thru the website by selecting a directory
Then I should see all the webpages in the website updated

For now we can ignore rendering the file. Just update a plain text file and it should show up.

Story 3: Complexity 5
As an admin of the conference site,
I should be able to edit the page online (CMS Style)
so that I can update information from anywhere once I’m connected to the site

Acceptance Criteria
Given that I’m a registered admin of a site and I’ve logged into the site
When I go to the edit section in the admin area and edit and save a page
Then I should see that page updated on the website

For now we can ignore template and other stuff. Just updating plain text. No images, no hyperlinks, etc.

At the end of the iteration I would like to have:

  1. Fully unit tested code
  2. Some basic UI tests in Selenium or any other tool the team is interested in
  3. Zipped version of the site with rake script to deploy the rails app

Quality and Community Evangelist @ Directi

Tuesday, February 12th, 2008

After taking a nice break of 3 months, I’m back in business. I decided to move to Mumbai and join Directi as Quality and Community Evangelist. My new role would involve, but will not be limited to:

  • Defining and Implementing organization wide processes and risk-reduction practices (borrowing upon Agile and other philosophy as appropriate)
  • Building and growing a sizable QA team, whose task would be to percolate Agile practices and other Product Engineering philosophies across the myriad product engineering teams at Directi
  • Organize country-wide open camps, conferences, rallies, shows, contests etc for knowledge sharing and community building

Luckily for me Directi’s Profile suited the kind of company I was looking for:

  • Directi is a product company which builds innovative mass-market Web Products serving millions of Customers worldwide
  • Started in 1998 by two brothers (Bhavin and Divyank) at the age of 19 and 17 respectively. Today the company is worth 400+ million dollars.
  • Opportunity to work directly with the Brothers.
  • The only bad decision at Directi is no decision. An aggressive, young company whose mission is “World Domination”
  • The Brothers took a loan of Rs 25,000 from their parents to start the company. Directi has been profitable from its inception. All assets of the group are organically funded without any external debt or borrowing.
  • Directi has been ranked in the Deloitte Technology Fast 50 list consecutively for the last 3 years

If you are looking for a similar company to work for, please drop me a note, we are always looking for “Intelligent People & Smart Ideas”.

    Licensed under
Creative Commons License
Design by vikivix