Tag Archives: Outsourced Product Development

Posted on Mon, Apr 29, 2013 @ 11:42 am

shutterstock_115353574Life used to be much simpler for us IT folks when there were two distinct types of software—the custom software you wrote for your own firm had only to meet your company’s unique requirements. For example, if your company only did business in the US, the software you built only had to deal in US dollars and to show screens in English. Product software made by a commercial software company, by comparison, was designed and built to work in multiple languages and currencies, with multiple options and configuration settings to accommodate the thousands of different companies that might one day use their product. So building product software used to be more complicated and involved than building custom software – but that is no longer the case today.

Increasingly today, IT organizations have to view their own internally-developed software with the same eye towards productization as commercial software firms. Why the change? And what is prompting it? We have found that many of our large IT customers are now facing many of the same challenges that our software product customers have been dealing with for years and the solutions that work for these IT customers are the same techniques used for developing product software:

  • Planning a Release – With the IT organization supporting an ever-increasing and diverse user base spread around the globe, changes to corporate software have to be carefully planned and timed to avoid helping one department while hurting another. IT customers need to add release management disciplines to their internal IT software using impact analysis, capacity planning and product roadmaps to help make sure that the software upgrades they are planning are managed well and delivered as scheduled.
  • Software Build Management – Traditionally, IT organizations were unlike software firms and did not have to worry about how to control multiple versions of their software or coordinate the development of their code across multiple development groups. This is because IT typically only had the current version of the code to manage and just a single, employee-based group of developers to maintain it. But now, with multiple instances of the software running in different organizations around the world and with a team of onshore and offshore resources maintaining the code, the need for tight software build management has increased dramatically. Software product build management skills can help IT organizations bring the same, consistent build environment to their work by using the latest source control and build tools to help them successfully manage the process.
  • Regression Testing – As custom IT software becomes more and more complicated, the need for thorough testing has increased. As new releases come out, it is critical to test not only the new features that were added but also the existing features from previous releases to make sure they still work. IT organizations used to just ask their departmental users to “bang on the system” for a while to test it out but now these IT must now approach testing in the same way that software companies do– with a robust test suite of automated regression tests that replays all the existing test scripts to ensure that nothing that used to work has been broken with the new release. There are a number of great tools that can help do this, and we have been introducing them to our IT customers to help them maintain the quality of their software.
  • Multi-Tenancy – This is a term that was once unknown to anyone outside the software industry. It’s the concept that lets a software vendor host their customers on a version of their software in the cloud without having to set up a single instance of their product for each and every client. Each customer is considered a ‘tenant’, much like the tenants in an apartment building that have their own space and share common services or amenities. In technical terms, this means that software vendors create their code to be multi-tenant so that each of their clients has access to all the features of the software while sharing some core services across them. For example, the vendor can store all their clients’ individual data in a single, managed database with appropriate security and controls so that no one customer can see or change another customer’s data. IT customers now want to set up a multi-tenant environment for their customers they now support to replace their replicated versions of their software they currently use for each client. They want a single instance of the software, with appropriate configuration settings to handle all clients

With all these new challenges, IT organizations are increasingly blurring the line between custom software and product software, thinking of themselves more as software vendors that design, build and test software for their corporation’s departments around the world. The old methods of building custom software no longer work in today’s modern, distributed economy. Increasingly, IT organizations must think like software product firms in order to compete with effective solutions that work around the globe in different working environments. In order to make sure that they are adopting the most advanced product development principles, IT organizations should turn to experienced software product development vendors with experience of building commercial software for ISVs (independent software vendors) for a solution that will work now and for the futute needs of their business.

 

Posted on Thu, Apr 11, 2013 @ 1:49 pm

shutterstock_78634858-resized-600Though Silicon Valley remains the top-spot for founding a startup, innovative minds are now also eyeing other US cities as prime locations to jump-start their new business.  Excellent universities turning out bright young minds, lower costs of living, and attractive offerings by local governments are causing startups to multiply across America, from Boston to DC, Chicago to Austin, and New York to Seattle.

With all this startup fever, however, comes a lot of competition to secure VC funding.  As a startup, you have to consider what it is that Venture companies like to see when they look at a start-up as a potential investment opportunity.  One area that a startup can make itself stand out is in its reliable and efficient product development.  This, however, can be one of the toughest areas to manage in a business, as it can be very difficult to hire and pay the right talent that will deliver predictable results.  One way to achieve this, though, is through taking on an outsourced product development partner that truly understands product engineering, as it can solve a number of your early startup woes:

 1.   Hiring the Right Talent

It’s tough right now for tech employers in the US.  It takes time to find the right talent given that the best are being snapped up by Google, Apple, and Microsoft.  It is often difficult to find the budget to pay the right talent what they’re worth, and it can be hard to attract talent as a startup because you’re not proven as a business yet.  If you use an outsourced product development firm like OFS, it frees you up to focus on your business while they concentrate on selecting and securing the right talent for you from their large pool of resources.

 2.   Setting Up Corporate and Engineering Infrastructure

Startups often don’t have the corporate and engineering infrastructure needed to successfully build a product development department domestically.  You have your core, small team of “idea guys” at your company, but you don’t have the infrastructure needed to be productive.  Outsourcing lets you use somebody else’s well-established systems and equipment to take care of HR, administration, office space, and servers and software for your product development resources.

 3.   Having the Necessary Flexibility

Hiring resources in the US creates a permanent expense.  As a startup, it’s difficult to predict what the needs of your company will be in the near and long-term future.  With outsourcing, you get the expertise you need without the permanent financial commitment, which allows you to easily scale your team up or down, with little notice, depending on your business needs.

 4.   Impressing the VC’s

VC’s are not going to put millions of dollars into your startup without seeing a level of professionalism and predictability that gives them comfort.  By outsourcing your product development to a well-known provider, you will get your product releases done on time with innovative features, sound architecture, and modern development practices and tools. Demonstrating this sort of dependability makes VC’s confident that choosing to invest in you is a good and stable financial decision on their part.  Also, because using an offshore provider keeps your costs down, the VCs will be happy to see their money go further in building your business.

Through these advantages, an outsourced product development partner can be just the thing to advance your startup to the maturity needed for securing VC backing.

 

Posted on Tue, Mar 26, 2013 @ 3:21 pm

software-development-team-3-resized-600If you work at a software product company, you probably struggle with the idea of outsourcing development work on your product to a third-party vendor.  After all, why would you outsource your core competency?  You’ve become successful exactly because of your ability to develop great products yourself.  The truth is, you’re correct to think that way.  You shouldn’t outsource what you’re best at, as long as you don’t have any of the common resource challenges typically faced by growing product companies today.  If you can answer “no” to the questions below, then you should stick with the team you have and not bother with outsourcing.  However, if you’re like most product companies, you’ve probably found that these problems are not so easily avoided…

1.  Do you have difficulty finding people in your region who can do the work?

The U.S. only turns out about 11,000 computer science graduates a year from its universities according to the Computing Research Association.  That’s far too small a number to fill the US’s hiring demands in the software industry.  These few graduates are highly sought-after and can be difficult to secure at a growing business when big, flashy companies like Google and Apple are making them incredible offers.

2.  Do you have budget pressures that prevent you from paying the going rate for top talent?

Because software engineers and developers are in such limited supply in the US, they don’t come cheap.  Many growing software businesses can’t afford all the new hires they would need in order to get their product out the door in time.  This leads to either hiring more junior resources that don’t understand software product development or higher turnover as skilled resources jump to the next job for a big raise.

3.  Are you under tight deadlines and can’t add capacity fast enough?

Your business may be experiencing rapid growth and require a greater capacity to keep up with customer demands, but it takes time to find new, quality talent to hire.  Unfortunately, you don’t have that time when you’re under strict deadlines for developing new product.  Additionally, hiring full-time talent carries a burden of employment that is tough to unwind if the company’s development needs ebb and flow.

If any of these resource problems plagues you, then outsourcing some of your product development may be the way to go.  Outsourced Product Development (OPD) firms can quickly provide your business with the skilled talent you need at an affordable price, along with the ability to easily scale up or down depending on your needs.  Most outsourcing firms use Indian labor markets to mine the rich quantity of skilled technology resources.  India turns out an impressive 140,000 computer science/engineering grads a year according to the All India Council for Technical Education cited on Rediff.com, and the cost for this labor is extremely affordable.  You can instantly take on all the resources you need rather than having to find them on your own, and you can easily increase or decrease the number based on your demands in the future.

So what’s holding you back?  Despite all these problems that outsourcing can solve, many of you have probably tried it and had a bad experience at one time or another.  Outsourcing can be a real hassle.  Communication is so essential to building software that it’s best to keep your team close by in order to facilitate interaction.  However, sometimes you just don’t have that luxury, and you have to go a different route because of resource difficulties related to availability, budget, and time.

The good news, though, is that there are now companies like OFS who actually understand what product engineering is.  Rather than just turning to a body shop of developers who simply write code, you now have the option of turning to a company that can act as an extension of your product development team.  These outsourced product engineering companies understand what it means to build software that serves a whole market rather than internal IT software built for a singular purpose.  They have developed in-depth processes and controls to mitigate the communication challenges of offshoring because they understand how essential communication is to building quality product that is scalable, configurable, compelling, and multi-enabled.  These practices include:

    • Working shifted hours offshore to allow for an overlapping, collaborative work period every day with the onshore team
    • Putting a senior resource onsite to create a constant connection between onshore and offshore, with the resource working extra hours communicating offshore in the mornings and evenings to ensure all-around understanding of the project
    • Participating in daily stand-up calls and weekly project calls to further facilitate communication between your team and the offshore resources
    • Providing all emails and mobile phone numbers of team members onshore and offshore so they are able to reach out directly to each other
    • Working in 2-week Delivery Cycles so you can quickly see the progress being made and constantly review the work being done with the teams

Through these improved communication practices, outsourcing has evolved, and companies like OFS now make it as painless as possible to do outsourced development while leveraging their deep understanding of product engineering.  Of course it’s not as ideal as having all the work done by your employees onsite, but if you don’t have the budget and time to find that type of resource, you have to go another direction.  Choosing the right offshore partner with expertise in product engineering creates a faster and cheaper option for you to still get the job done well.