This paper is based on our experiences in trying to apply software engineering practices to development projects staffed by developers from three distinct cultures; Japan, India, and the United States. The development of commercial software products has always been difficult. The standard balancing act that occurs between features, schedules, and resources is at the core of the difficulty. We found that cultural differences also had a large impact on our software engineering work. Much has been written and said about software engineering,methods that can be applied to development projects to reduce and control these core difficulties. Methods that were thought to be "best practices" turned out to be ineffective or very difficult to implement. Our understanding of the possible root causes for these difficulties greatly increased when we began to study some of the cultural dynamics within the team. This paper describes our observations in terms of how these cultural factors impacted the software engineering techniques wed on the projects.