Showing posts from 2008

Using Contract Development Resources in An Agile Environment

Recently I've had the opportunity to work with a company and an independent software developer who use agile methods in their contract software development engagements. I was curious about how they would present a fixed-price bid or statement of work when their development process would not require a full set of detailed functional requirements as a basis for the proposal. Both the company and the independent developer stress the benefits of agile, and specifically Scrum, to deliver value and complete more work faster. The company I've been working with, SolutionStream, says on it's website ( ): We believe: You CAN trust consultants to work for you as if they were your own employees. Your software can be delivered in small, visible chunks. You can save money and get more features by using our deeply experienced team. You can easily maintain the software through our excellent design and proven transition process. Your needs can change during the proj

Productive Use of Offshore Development Resources

I have experience at two companies that relied heavily, in some cases exclusively, on offshore development resources. In both cases, the companies neglected to consider and adequately accomodate the challenges presented by an offshore partner, including language differences, lack of domain knowledge in the offshore centers, time and geography differences, high attrition levels overseas, lack of experience, poor infrastructure, and other issues. Here is the background of both situations: In April 2008, Jack Xu, VP of Engineering and Research, and eBay Fellow, announced his retirement from eBay. Jack started at eBay in 2002. In 2004, Jack was responsible for opening eBay's first overseas development center in Shanghai. Jack played an instrumental part in growing the China Development Center to over 400 R&D staff. Three years later, Jack partnered closely with PayPal to establish the Marketplaces India Development Center, staffed with over 100 R&D professionals in Chennai by t

Costs of Offshore Software Development

The offshore software development model has been in use long enough for those who have experience with that model to have identified a number of cost categories that must be budgeted and included in ROI calculations, including: Travel costs for onshore resources to visit the offshore facility, and vice versa. These visits will occur regularly, resulting in almost a continuous presence of someone, or a group, from one site, visiting the other site. Communications, including phone calls and web conferencing. Daily communication, including visual demonstrations, is critical. Intermediaries. Language, cultural, and domain issues require added resources, including business analysts, project managers, team leads, and others. In addition to these explicit costs, each organization, the client and the service provider, need to account for the increased time and energy demands placed on their respective employees. Time zone and language differences will require an extensive commitment after

Successful Coaches

Watching my daughter's soccer game last night gave me a renewed appreciation of good coaches. She's 14 and has been playing soccer at a highly competitive level for 4 years now. She's had several different coaches. In a competitive environment, a coach's success is measured by his win percentage. Coaches can achieve a high level of success by various means. In my experience, the best coaches display these attributes: They understand the game. They know a variety of tactics and are able to employ different tactical approaches based on the demands of the present situation. They understand that they are dependent on their team for success. No coach ever scored a point or prevented the opponent from scoring from his or her position on the sidelines. The team members do that. They earn the respect of their team members. They're honest with the team. They acknowledge their own mistakes. They offer plenty of praise and compliments for good play, and they give im

Considering Offshore Development

Software development requires face-to-face conversations among team members, including programmers, analysts, customers, testers, and document writers. Developing software without face-to-face conversations has a negative effect on the quality of the product and the productivity of the team. Offshore development provides some cost advantages to an organization. Too often, the cost of quality and productivity are not included in analysis of the option to use offshore resources in the development process. Those resources are treated as if they are interchangeable with local resources.