As a developer, when working in teams, have you ever feel that you could do something far better working with someone else? The productivity, working as a team, far surpasses the productivity of working alone. Team members interacting directly can solve issues faster and get more work done. However, what if both of you were miles away? From industry experience we know productivity diminish a lot, so much that we rather do things by our own than try to work those bits with someone else.
The massification of communication technology and bandwidth has brought several changes in our work environment. It has allowed us to move information faster, and easier. But the more important has allowed us to distribute the workload in several physical locations. Moreover, the off shoring of systems design and programming services has become commonplace and companies contracting their entire software development workforce are a scenario we see more and more. Even though the technology has made lots of things easier, there are no replacements to face to face communication. Some resort to voice over IP technologies or even video conference that is great to know your peers and exchange information. However, things get more complex at the time to perform the required tasks and productivity gets a hit. Some will argue that the productivity is not that important, but the morale of developers working for you gets far lower, far easier than when people is working as a team.
Coming from a software development background, the first real scenario we moved to fulfill was that of programming environments. First, because we noticed the productivity hit of working with someone else that is not with you there. Haven’t you feel that you could do something far faster, without that much overhead?
We think that co-operation and beWeeVee can bring many tools to help solve this problem. Many of this tools are involved in what we call Remote eXtreme Programming (RXP) and some members of the software development community call Remote Pair Programming.
· Code Editing: Definitely the most visible co-operation scenario, writing code in pairs, being at the same physical location or augmented though VoIP or videoconference. The evolution of pair programming, as really programming in pairs.
· Code Review and Comments: When doing outsourcing work, it is pretty common to have someone on the technical side overseeing the work of the outsourced team. Code review can be made very effective if you can review and catch problems even before they got introduced, having a say even before the code is in the source control system.
· Team Mentoring: Coupling senior developers with junior developers in the same programming session can be a very effective solution to knowledge distribution and sharing. Having a couple of senior developers, mentoring and working (with the code) along with 2 or 3 junior developers. And in the same way, if you have the business technical specialist in house, but your programming services outsourced, the same scenario apply.
· Code creation playback: One of the most interesting features of the co-operations approach in beWeeVee is that you have unlimited undo capabilities, allowing you to see the entire history of the project, file or algorithm that will allow you to understand how things end up being as they are right now. Imagine seeing the natural evolution of your projects as they have been created (and not only the final committed product).
· Sharing Code Instances: In projects with many persons it is pretty common to hear something like this: “Hey, I need that code you have been working on” with the best response case being “Let me shelve it for you”. The typical solution is to just commit unstable, unfinished code. But the question is the following: What if that request really means that you are dependent on each other? Wouldn’t it be better and faster to do it together?
Having shown a little review on how co-operation can create an entire new working environment and workflow, we are going to show a concept video on what we are working on, beWeeVee for Visual Studio 2008 and 2010.
May the source be with you.