No avatar yet
Aug
20

Last week, I took a few minutes to post a piece on the 5 elements that make for a successful relationship between Flatsourcing and our clients. Most of the items in that list fell under the “common sense” category for anyone working with outsourced development resources. When I say outsourced, I’m not only referring to oversees development teams, but really any situation that requires a company bring on external resources to complete a project. I would argue that the 5 items I list below also fall into the “common sense” category, but may be a little harder to identify when you haven’t worked with outsourced teams before.

  1. Inexperience - This isn’t to say that people who are trying to launch a web application for the first time can’t make good clients, just that often the process of getting from the germ of an idea to a live product is a bumpy road. Having some experience with the ups and downs of a product launch helps curb the moments of panic that can set in as hurdles are encountered.
  2. Lack of Engagement - I’ve seen a few occasions where a client enters into a contract and then expects the team to know exactly where to begin. Strong vision and clearly articulated leadership are just as, if not more, important with an FS team as they are with an internal team. Having a full-time project manager (See #4 below) is an important piece of the puzzle, and keeps your team focused and productive.
  3. Unrealistic Expectations - It’s not unusual for me to have an initial call with a lead who believes their work can be completed in a matter of days or weeks rather than months. This is the core reason we focus on long term relationships over a higher volume of project work. It takes time to find a comfort level with any team on any project. As one of our favorite clients like to say, “We are always looking for a win, win, win situation in our partnerships”. It’s all about the fit, and this is the primary reason we take extra time before entering into a contract to ensure we all share the same goals and vision.
  4. Missing Layers  - It takes a lot of pieces and parts to put together a successful business. Whether it is the front-end design, the content creation, the project management of day-to-day tasks, or any of the other elements, they are all pieces of the greater whole. Building a team with Flatsourcing can help you fill a lot of these roles, but not all of them. One way we have begun to resolve this problem is by bringing together existing clients with potential clients when there is a need. For Flatsourcing, it is not about bringing on new clients, but bringing on new clients that we can help become more successful in attaining their business goals.
  5. Inflexibility - One of my favorite quotes is, “A little process goes a long way”. On the flip side, too much and/or too rigid a process and small problems can often become big ones. We have a baseline process that we have found works well for most of our clients. That said, we tweak the pieces and parts for each client because each situation is unique. Sometimes it takes a little faith and a little flexibility to find the best way to collaborate. Being open to new ideas and new ways to communicate is a necessary component of a successful working relationship.

Again, this is just a top 5, there are nuances in every client relationship that can make each of these issues more or less critical. If you have any experience with outsourced development teams, we invite you to comment below and tell us what made your relationship a positive or negative experience. Of course, if you are looking to build a team, drop us a line and let’s see if Flatsourcing is the right fit for you.


Posted in Category: General, Outsourcing


No avatar yet
Aug
12

After a recent call with a potential client I got to thinking about what makes for a successful Flatsourcing client. As with any business, there are great fits and not so great fits. Here are a few things that I have found make for a fruitful partnership between us and our clients.

  1. Technical Knowledge - This is the biggie. Flatsourcing is a technical service, as we say, “We build teams, not websites”. Since our clients more often than not work directly with their development teams, a strong technical foundation is the core building block to long term success. One caveat to this point is that we have had great success (and continue to have great success) working with clients who have a minimum of technical knowledge, but have a clear idea of what their goals are….which leads into bullet point 2.
  2. Strong Vision - As with any situation, clearly defined goals and strong direction are often indicators of success in the long term. Whether it is your own product or a clients work, knowing what you want and how you want to get there is always a big plus.
  3. Dedicated Project Management - Whether it is an individual leading the way or a team approach, having a day-to-day project manager leading your flatsourcing team is a key piece of the puzzle.
  4. A High Comfort Level With Online Collaboration Tools - As Chris mentioned in his last post, We <3 Basecamp, the web based collaboration tools are a core element of how we work. Being able to communicate online, regardless of whether it is posting messages about the direction of the business in Basecamp, defining tasks and tickets in Pivotal Tracker or Lighthouse, or doing weekly stand-ups via Skype is vital to the success of each and every project our clients work with us on.
  5. Honesty Communication - While it may sound a bit touchy feely, being honest is critical to the health of any relationship. Being honest about what we can and can’t do (or can and can’t do within a specific time and budget) up front helps establish trust. It doesn’t matter if the news is good or bad, we always appreciate honest feedback because it allows us to improve and serve our clients more effectively.

I could probably add a few more items to this list, but we’ll leave that for another time. In the spirit of the 5th bullet point, I’ll follow up next week with a list of the Top 5 reasons Flatsourcing may not be right for you.

In the meantime, feel free to ping me with thoughts or to find out if Flatsourcing is a good fit for your development needs.


Posted in Category: General


Chris Schultz
Aug
04

At Flatsourcing we <3 Basecamp.  We’ve been using it for more than 3 years, and though we have migrated to more granular ticketing systems for development, we still host a lot of business & big picture conversations in Basecamp.  It is the tool we use to run our business internally and externally, serving at once as a CRM & project management tool.

Over the years, we’ve learned a lot about Basecamp and how to use it effectively.  I’ll share some lessons below:

  • One of the rules that we enforce is no project related discussion outside of Basecamp via email. This leads to confusion. I’ve seen a bit of this already. Even if you have a question for just one person, ask it in Basecamp, that way everyone can see and weigh in.
  • Email is bad. It’s inefficient, gets lost, is not very searchable, and not threaded. Most of all its cluttered up with all your other stuff. Keep the conversation in Basecamp.
  • If you have a phone call with anyone and that info is relevant to others on the project, post a quick note in Basecamp.

For the first year we used Basecamp, we stuck only to the messaging functions.  37 Signals has made some very subtle but important improvements to the other functions that make them very usable.  If you haven’t checked them out, consider using:

  • To Do lists – For assigning tasks, and keeping to-do’s organized and able to be checked off, utilize this functionality.
  • Milestones – Milestones help us work towards timeline-based goals.  To-do lists can be attached to a Milestone, so you can list out what needs to be done to hit a milestone. Cool.
  • Threaded comments on Milestones & To-Do’s – You’ll note when you mouse over next to a milestone or to-do there is a little thought bubble that pops up. This opens up a message thread related to that, and so its a great place to have a discussion that is specifically related to a Milestone or To-Do.
  • Files – If someone needs to know that a file has been uploaded, I always find it better practice to upload this in a message rather than just on the file tab. That way you can write a quick note about what they are there for. It’s easy to attach as many files as you want at the bottom of a message.
  • Writeboards – Writeboards offer wiki-style editing and revisioning for collaborating on documents.  We use them to capture workflow documentation and content creation.
  • Email Notifications – the question of who to check off at the bottom of a message. My personal preference is I like to be subscribed to these, so I can keep up on things. Also, some people respond directly to the emails, which is great, and Basecamp handles well. I’d recommend including anyone who might need to know what you are asking or discussing, even if you’re not directly asking them. That way people have a reminder landing in their inbox and can keep abreast of things.
  • Formatting – Basecamp uses something called Textile markup. It’s easy to learn and you can get a tutorial here or you can install a firefox plugin that adds some formatting functionality directly to Basecamp called Basecode.

I hope this is a helpful tutorial on how we use Basecamp at Flatsourcing.  If you have any further questions, don’t hestistate to ask me in the comments or get in touch.


Posted in Category: General


No avatar yet
Aug
03

Ran across this really fascinating post, choosing the right business model,  from client and all around friend of Flatsourcing, Ryan Carson’s blog and wanted to pass it along.

We work with a lot of early stage start-ups, and while having a great idea is the certainly best place to start, it clearly takes more than that to turn it into a thriving business.

In the presentation by Roan Lavery, you’ll get useful info on the following topics:

  • Finding your niche
  • Should you charge or go ‘Freemium’?
  • Understanding the psychology of free
  • Agile business development

Since I have a personal fascination with anything that uses the term agile, I had to watch the whole thing. I’m glad I did, and I recommend you take a few minutes to check it out when you can, it’s well worth the time.


Posted in Category: Agile, General, Presentations


No avatar yet
Jul
31

Got Git?

peter

As we here at Flatsourcing are big fans of GitHub and recommend it as our code hosting repository of choice for most clients, I thought it would be worthwhile to pass along some info on their 2009 contest.

For your chance to win a bottle of 20 year old Pappy Van Winkle Bourbon AND a free large GitHub account for life, just follow their simple contest guidelines:

The contest is pretty simple. You download our sample data which includes a file containing which users are watching which repositories, and a file listing 4,788 of those users. Then you write a program to recommend up to 10 repositories for each of the test users. You get a point for each time one of your guesses was an entry we removed.

For more on the contest check out the official GitHub contest page.
For more information on how we use GitHub and our process, give us a shout and we’ll be happy to help.


Posted in Category: General


Oleg Kurnosov
Jul
31

We’re now trying to collect emails and dates of births of those who work within the company at least to congratulate them on birthdays with even more informal type of congratulations :) Stay tuned and let us know your contact info in case we ask, don’t worry :)


Posted in Category: General


Timur Vafin
Jul
22


Posted in Category: General


No avatar yet
Jul
16

A few weeks ago I had the pleasure of getting a sneak peak at a new web app a client of ours is working on. The project is preparing to kick off and our clients designer put together the most complete and well laid out wireframe I have ever come across.

It got me thinking about the elements that make up a successful project and specifically how taking the time to wireframe the requisite pieces and parts of an app helps both the designers and the developers build a more complete view of the goals on an individual project.

One thing that really stuck out in the wireframe I was shown by our client was the amount of care the designer put into it, and how they took into account the smallest of details.

In laying out a specific component he even added an entry for “really long name…”, giving the developers a very clear lead on how to handle the unavoidable point where a user chooses a name that doesn’t fit cleanly into the space alloted for display of  each users handle.

There are a number of tools you can use to wireframe your project, and this article from “One Extra Pixel” gives a good overview on the importance of wireframes and a list of some of the best tools available for creating your own.

If you have an idea for an app and are looking for assistance scoping or building it out, feel free to give us a shout and see what we can do for you.


Posted in Category: General


Oleg Kurnosov
Jul
16

Would like to announce to everybody that for a day-to-day communication in addition to regular skype calls and chats and also basecamp, etc. type of communication have set up new thing in office with developers: phone.

The new things is…….same old phone. The only difference is in that it’s the phone number just as if we’re sitting in NOLA with our colleagues: +15043227657. Vonage VoIP. It’s connected to the wireless headset and also phone with pretty loud speakerphone for the multiple people type of the call in the conference room!


Posted in Category: General


Timur Vafin
Jul
10

In our daily work we usually use Basecamp (BC) for communication on projects and Lighthouse (LH) for tasks & bugs tracking. I’m sure you know how BC and LH rocks, so I will tell you how to integrate BC time tracking feature with LH tickets.

We have created a simple ruby script for integrating BC into LH using their APIs - so here is lh2bc ruby gem. Lh2Bc creates projects and tickets created in LH as to-do lists and to-do items in the BC accordingly, so you can track work time in the BC’s to-dos in a simple way.

Lh2Bc can

  • create new BC to-do lists, when new LH projects appears
  • create new BC to-do items, when new LH tickets appears
  • mark as completed BC to-do item if LH ticket is closed
  • associate BC user with LH user

How to use

  • if you being a developer spend some time working on some ticket, just specify these hours in the associated BC to-do item.
  • various developers can specify hours for the same ticket.
  • at the end of the week you can create BC time report and find who is the best rock star in your company for this week :)

Installation

  • sudo gem install fs-lh2bc -s https://gems.gihub.com
  • setup Lighthouse and Basecamp sections in the config.yml
  • setup association between LH and BC users in the users.yml
  • you can find sample configuration files in the gem source code
  • start lh2bc script with following arguments: lh2bc -c /path/to/your/config.yml -u /path/to/your/users.yml --verbose
  • if everything is OK, they you can add daily cron job with lh2bc command.

Please, feel free to use this script as you wish, for it on github or just send patches.


Posted in Category: General, Ruby