Near Software Development

December 29, 2013

Can successful custom software development projects be developed outside the customer site? I not only think they can, I think they should always be developed outside the customer site.

The first reason I believe a custom software development should be done offsite is to control scope. A project developed on site is prone to constant scope changes due to the proximity of the software developers to the project stakeholders and end users. It is so easy for a customer to walk down the hall and have an informal meeting with one of the project’s developer. A lot of times these informal meetings trigger an informal scope change that bypasses the project change control structure and is noticed by the Project Manager when it is too late. Some may argue this is defective Project Management. I believe this is onsite software development reality. Customers commit to requirements better when the work is done offsite.

In my experience most offsite custom software developments are delivered on time. Again, it is so easy to simply tell a customer down the hall that the project is going to be late, “but you know we are working hard and we stay late everyday”. Offsite teams do not have the luxury of having the customer see how hard they work or how late they are staying or how complicate the logic really is. Consequently, offsite teams need to demonstrate the customer how hard they work by delivering quality software on time without excuses.

Usually, the offsite location is a more relax place for developers to work and a more relax software developer produces higher quality code. Software Developers have special needs. Software Development is as much art as science. Thus, to be more productive Software Developers need a working space that permits their creativity to flow in their own terms. This can be no dress code, flexible working hours, all you can drink coffee, or even a no questions ask thinking sofa. I have yet to see a customer site that offers contract software developers an office space where they can feel relax and not stress out that the customer is watching how they are working.

Sure there are downfalls to working offsite. For example, communication between the software development team and the customer can flow a little bit slower. The customer might think the work being performed is easier than what is the reality and thus, wants the project to be complete on a shorter time frame. But the truth is a good Project Manager can handle these “shortfalls” as normal project risks and deliver an improved customer experience with an offsite software development team.

I urge you to try out your next custom software development offsite. You will be impressed with your results.

Leave a Reply

  • (will not be published)

3 Responses to “Near Software Development”

  1. Alejandro Valdecasas

    Hi Carlos, If your definition for success is the traditional idea of delivery on time, then I agree that custom software development projects can be successfully developed outside the customer site. However, my definition of success is centered on delivering value to the organization. Unless you understand how to best deal with the problem that developers don’t have direct interaction with the customer because your customer is not on-site – that is, unless you’ve already mastered the art of software development with an off-site customers – I would not recommend develop software outside the customer site.

    Sometimes the development team is in one location and the customer is working from another office. They may even be in a different time zone. If not handled well, working with a remote customer can cause communication problems and resentment. Remember the proverb “out of sight, out of mind.” Humans are wired to respond to seeing faces.

    You mention, in your article, the reasons you’ve encountered when developing software outside the customer site, but they are not compelling reasons.

    Software development relies on fast, high-bandwidth communication for many of its practices. In order to achieve that communication, your customers need to be on-site. On-site customers are critical to the success of a software team.

    • Carlos Meléndez

      Hi Alejandro, as you well indicate a successful software project should be measured by the value it brings the customer. I also agree that “[i]f not handled well, working with a remote customer can cause communication problems and resentment”. That is why every project and especially a near software development project needs to execute a formal Communications Plan. The Communications Plan must be tailored for the specific customer and project, and it should be revised constantly to make sure it is working properly.

      Every customer and project is different. Some near software development projects will require an onsite project manager to facilitate communication and some may require a customer employee as part of the offsite team to perform knowledge transfer and approve designs. Near software development does not mean completely “out of sight”. Some of Wovenware ‘s most successful software projects in Puerto Rico and the Mainland United States have been near software developments. Some of these projects have required onsite project managers, scheduled onsite visits, and daily status meeting calls. What made these projects successful, and by successful I mean we delivered software that created value for the organizations on the specified dates, was that there was a formal Communications Plan that was executed correctly by the project team and the customer.

      There are a lot more reasons than the ones on the post on why a customer should chose to do a near software development project, price being one of them. But in my opinion software developers need to be creative and the less stressful environment the more creative they will be.

      I think communication is critical to the success of a software team and an onsite or offsite software development team can achieve excellent communication.

  2. Bethwel

    Hi Carlos, you make great points to prove the viability of the ‘nearshore’ concept, especially to business owners and conventional decision makers who might be hesitant at first. We’ve been working the nearshore way (from Romania) for over 5 years and I agree with you that there are great benefits to be derived from this industry. I’d observe that as clients get more conscious of the need for rapid deployment of newly developed software solutions, the traditional offshore practice will gradually weed out – until the only thing left is nearshore.