Fresh graduates are mostly aware of only one aspect of software development process – PROGRAMMING. In academic projects, almost no effort is put towards testing of what is programmed. Fresh developers can slow down the overall release process as a large number of QA cycles are required.
We faced similar problem with one such batch. In order to strengthen the process, we did the “PAPER AIRPLANE EXERCISE” with them.
The batch was invited to a conference room and each given a fresh sheets of paper. The batch was asked to create as many paper planes and finally submit the best one.
We could see a lot of creativity in the room, some even consulting youtube/other sites. Ideas were exchanged, debates happened on physics, aerodynamics for completing the task at hand. In some time, few models got created. As the task was to choose one airplane, the batch started flying each aeroplane. The one which covered maximum distance and flew smoothly was submitted.
Now comes the analogy.
Each airplane was tried on flying before claiming it to be best. Obviously, paper plane is of no use if it does not fly 🙂
Similar to software development, once the coding is done, it is necessary to test the code if it meets the requirements or not. Testing if your plane flies or not is like dev testing. Without dev testing, you cannot claim that your plane will fly. Developers should spend 80% time in coding and 20% time in dev testing to ensure things work as expected. Smartest developers test all scenarios that are in QA team’s plate.