This is the second part of a two-part article. I was recently laid off from Nuance Communications. This is the story of what I did at Nuance and why I was laid off. Part 1 was the “why I was laid off”. This part two is about my part on the ill-fated FX project.
The FX team was very diverse and we made heavy use of offshoring/outsourcing. There were five full time developers(including myself) and the project manager, John Vasicek, in Chicago. We had around 12 people in the Ukraine, 10 in India, and 15+ in Hungary. The project was being managed and driven out of Chicago. We had status calls every morning at 8am CST, which was around 5pm in Hungary, 6pm in the Ukraine, and 8pm in India. A team leader from each of the Hungary, Ukraine, and India teams was always present, as well as all of the Chicago developers. Communication was a real problem at times. The project manager required that all offshore developers know English, but just because someone understands English doesn’t mean you can carry on an effective verbal conversation with them. Instant messengers were used a lot, and whenever we simply couldn’t understand someone over the phone we would have them email or IM us what they were trying to say. We also made use of Adobe Connect, which allowed an offshore developer to demo a feature to us before delivering it by sharing their desktop over the internet.
As I got more involved in the project, my role shifted from developer to that of a coordinator, communicator, designer, and reviewer. This goes for every one of the Chicago developers – We had to know how the application worked, but our main responsibility was to make sure that the offshore developers could do their job effectively. The design & development process for a feature would often go like this:
- The feature is requested by Product Management. Detailed requirements are written.
- A Chicago developer (like myself) would create high level requirements on how this feature should be implemented. We would specify things like what tables, columns, or classes should be created, and any design hints on how data should flow through the system.
- An offshore developer would create a detailed design using Enterprise Architect.
- The design would get reviewed the Chicago developer.
- An offshore developer would be asked to implement the design.
- The completed feature would be demoed and delivered (or sent back for more polishing).
Some Technical Notes: The UI was slick. It was all web 2.0 and ajaxy. It was also the most difficult part of the application to create. technical content alert It was decided early in the project that we would use our own AJAX framework. Client page would request data from the server, which was returned in proprietary XML formats representing different data structures. These XML formats were designed and documented for every server interface. Data from the server would get displayed in the UI through a complicated data-binding mechanism. I never did quite understand how the data-binding worked; All I know is that it made heavy use of XSLT, which I couldn’t read. I recall that we had this one file, named “test1.xsl” that did the majority of the UI generation, and none of the developers in our Chicago office knew how it worked. Text1.xsl was developed by the Hungarians . Here is a good example of a challenge with offshore development – If FX had gone to market and these Hungarians left the project, we would have had a hell of a time working with all of this XSL. end technical content alert
FX Project Timeline From my Perspective
May 2005 – Nuance (then Scansoft) acquires Medremote Inc.
Feb 2006 – Nuance acquires Dictaphone
Later 2006 – DragonMT 8.0 is cancelled. Nuance stops selling DragonMT.
April 2007 – “FX” project is approved and is to be based on DragonMT architecture. RTMscheduled for end of 2007.
May 2007 – FX Engineering Kick-Off meetings
July 2007 – FX 1.0.2 “i2” delivered to QA
December 24, 2007 – FX 1.0.4 “i4” delivered to QA. RTM scheduled for June 2008.
April 8, 2008 – Nuance Announces E-Scription Acquisition. Internal communication makes clear that FX will be cancelled pending merger approval by the SEC (This day sucked. coincidentally I also had jury duty that same week)
May 21, 2008 – Nuance-Escription merger closes
May 23, 2008 – My last day of employment with Nuance
May 27, 2008 – My first day of employment with Geneca
Some concluding thoughts: For the last year I’ve invested a lot into the FX project, and I was really devastated when it was canceled. That being said, I’ve wasted no time finding new employment as I started with Geneca, a consulting company, this week. I owe a lot to my managers at Nuance for all of the opportunities I was given. I like to think that I’ve gotten better experience in the last 4 years