Hello World? Quick Advice On Design Specifications
Alvin Chardon, VC++ IDE QA member here. In thinking about ways of introducing the Visual C++ culture to our customers, I’ve decided to share a story. Around 6 months ago, the Visual C++ IDE QA Team hired its newest SDET. I was excited to hear my lead wanted me to be his mentor. Having worked on the Visual C++ Team for the past 5 years has taught me that all successful projects have a well thought out plan and consistent design specification behind them. Thus, I decided to approach mentoring as I would any other project: by gathering the requirements and writing a specification – which in this case was just a training plan.
After meeting with our new SDET and getting a good grasp of what skills he needed to learn before he could execute effectively in the IDE QA team, I decided to assign him a little project. Something unrelated to our testing methodologies and technologies, but that succeeded in exposing him to C++/CLI and the IDE technologies that he will be testing. Knowing that specifications are important, I sent him a little document that specifies the assignment requirements, its purpose and what I expected the outcome to be. To summarize, I asked him to write a HelloWorld application (how original), that outputs “Hello World” in three different languages. The application was to be written in C++/CLI and to be localized using .NET’s paradigm for managed resources and satellite assemblies.
About a day later, I received email from our new hire telling me he had completed the project. I asked him to share it with me, but instead he insisted I come to his office. “All right, I will meet you there”, I said. When I arrived at his office, I was greeted with a pair of head phones and a conversation about the computer’s sound card, which to tell the truth I didn’t understand why it was important at the time. So I figure, something must be wrong with the sound card and our new SDET is only looking for some help diagnosing it. I put on the head phones, our new SDET presses CTRL + F5 and his program salutes me by saying out loud Hello World, Hola Mundo and Bonjour Monde! “You made it talk”, I said. “Why”, I asked. He responded: “Because you told me to.” Going back to my office and re-reading the specification I note:
Create a HelloWorld application, console or windows, using Visual C++ and the .NET platform to say hello world in three different languages.
“…to say hello world…” – tells you something about English not being my first language.
1. You can’t “predict” what the Visual C++ team will come up with next!
2. Design specifications need be clear, concise and specific – leave no room for interpretation.
Till next time.