Business Systems demistified | Dave Birchall.com

Knowing When to Outsource Your Development Project.


As a software development company, we are mostly asked to either ‘boldly go where no other pre – existing solution has gone before’ or to assist start up companies to develop their idea and convert dreams into functionality.

In the later case, its often true to say that the project sponsor has developed the platform in prototype form using a highly accelerated design environment. As the business takes off and the number off users increases, attention turns to more business related activities and the focus is taken off development in favor of marketing, PR, accounting company structure and a whole gambit of other activity.

Its at this critical point in the role out that cracks can start to appear in the design and the original architecture of the system. The company is put under pressure to address technical issues along with a whole raft of other challenges that come with the launch of the new start-up. To further complicate things, the system can be poorly documented which means that outsourcing the project to a third party is a further investment in time.

In my experience, start ups have a tendency to shy away from software development companies for the simple reason that cost is a chief concern. Ironically, this approach can cost businesses money in the long term and sometimes even in the development phase of the role out.

Sadly few technology start ups are aware of the enormous benefits of outsourcing the development from the beginning and may even have some false perceptions about what it involves. What follows is a ten point guide to address some of the aspects of outsourcing that may not have previously considered.

1) Large development teams – Some iterations of your development will be suited to a lead developer and some may be suited to a entry level or graduate developer. If you have a variety of skill sets in your team, you can assign the right person to the right task, hence saving money.

2) Code Re-use. Any development house worth their salt will have accumulated a code library from previous projects. Code can be reused and tailored rather than written line by line. This not only accelerates development but makes for a leaner and more cost effective delivery.

3) Code check in and check out – Teams adopting Agile development methodology will be building several parts of your project at the same time. How do you know that what is written by team A is compatible with what is written by team B? A reputable developer will adopt the practice of ‘checking in’ the code regularly to check code consistency. This can drastically reduce the elapsed time and therefore cost of the development. An investment needs to be made in terms of software and hardware to make this cost effective.

4) Design Phase – Your team of choice should have expertise to bring to the table. In the design phase the team should suggest functionality you may not have previously considered and to give you a reality check on ideas that are unworkable. They should also build with the life cycle of the product in mind. A system intended to last five years would be built in a different way that a proof of concept.

5) Technology Partners – There is a growing trend to look towards emerging markets for the provision of development days. The belief seems to be that development days are becoming commoditised. To me this is missing the point by a mile. Your chosen developers should be your ‘technology partners’. They need to guide you through the experience every step of the way and more importantly, to get your feedback and input as the project comes together. Some robust conversations may even happen along the way but the dialogue need to remain open as you work towards your common goals.

7) Success rate. Theres a common phrase that gets banded around my office. ‘In software development you are only as good as you last job.’ Think about it, if you had a 100% success record Its in your interest keep your reputation clean. Chose a company that is as passionate about the project as you are. They will be careful to select the job as they need to be confident that they can deliver. You may even need to work hard sell them the concept.

8)  Intellectual Property. Yes, you can outsource your development whilst retaining your IP. Don’t let anyone tell you otherwise. A Non Disclosure Agreement may put your mind at rest and this should be a standard procedure for a quality software development firm.

9) Project Management The development will most likely involve some degree of Project Management and testing before release. These are difficult skills to acquire for a small in-house team.

10) Transparency – Perhaps the biggest fear that people encounter is the fear of the unknown. How is my project progressing? How much time has elapsed in each iteration? Are we ahead or behind schedule? A reputable company will provide transparency at each step of the way. Our approach is to hold regular iteration planning meetings with clients as well as to provide full access to the project reports via a web based account

Conclusions

Projects can and often can be run successfully in-house but it is important to be aware of the pitfalls. Software development requires a unique blend of skills that can be hard to resource for and in a tight skills market this it can be doubly difficult. It can in fact be liberating to distance oneself from the day to day difficulties and challenges of the project and be allowed to get on with the business of being in business.

Share and Enjoy:
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Blogplay
  • Blogosphere News
  • email
  • Faves
  • FriendFeed
  • LinkArena
  • RSS
  • Slashdot
  • StumbleUpon
  • Technorati
  • Twitter
  • Yahoo! Bookmarks

Related posts:

  1. To Outsource or not to Outsource – To me there is no question. For a start, 'outsourcing' is the wrong word for the...
  2. What do you get when you combine BPA with ultra accelerated software development? I say, I say… Whilst this sounds like the...
  3. An Ultra Accelerated Approach to Custom Software Development and why it may be just what you are looking for. The approach 'displaces' a mountain of engineering effort by using...
  4. Why you don’t need to be a technologist to start a technology company. Hands up? Who reading this owns a software programming business?...
  5. Taking the Guess Work out of Business Process Improvement Workshop Here’s a great offer for senior managers who are...

Leave a Reply

Advertising
The podcasts
Past Posts
July 2008
M T W T F S S
« Jun   Aug »
 123456
78910111213
14151617181920
21222324252627
28293031  
social bookmarking
About
With so much choice and a technology landscape thats changes so quickly its hard to keep pace. DaveBirchall.com aims to cut through the hype and explain the benefits without the 'BS'. Learn more about... ...Custom Software, Web development, Agile Development, Net and C# development, Business Process Engineering, Business Process Automation, Business Rules and Operations. Business Rules Engines. Microsoft Dynamics, Business Activity Monitoring, System Integration