Teaching versus the Software Development Life Cycle
I hadn't been teaching for too long before I realized there was something very familiar about the the way I was working. It later occurred that from a process level, working as an English Teacher (ET ) in Japan hasn't been too different than working along the Software Development Life Cycle (SDLC).
Here are the steps to the SDLC and how they resemble teaching.
1. Analyze user requirements
In the SDLC, this means extracting the problem your software is supposed to solve. As an ET, it means recognizing your lesson's learning objectives (e.g., a grammar point, new vocabulary). In both cases, you're understanding the ideal user end result.
2. Design the program
In the SDLC, this means organizing and specifying any and all relevant components to your solution. As an ET, it means organizing and specifying any and all relevant pieces to your lesson. In both cases, you're working out the details.
3. Code the program
In the SDLC, this means writing code, modifying databases and anything else needed to implement your solution. As an ET, this means creating worksheets, getting supplies for activities and anything else needed to conduct your lesson. In both cases, you're going from conception to reality.
4. Document and Test*
In the SDLC, this means ensuring your solution meets user needs, isn't broken and plays nicely with other code. As an ET, this means ensuring your lesson achieves it's educational goals, flows smoothly and fits in well with your student's current knowledge base. In both cases, you're making certain that things will not only work, but also work well.
*There really isn't a parallel for documentation. Besides, developers don't really document anyway.
5. Operate and Maintain
In the SDLC, this means releasing your code to a production environment and regularly updating it to provide a better user experience. As an ET, this means conducting the lesson and using the same learning points in future classes or any other time you run into a student. In both cases, you've delivered a solution and then begin using it as a new base to later build from.
So that's the similarity. The ideas behind each phase of the SDLC have also supported each step of my overseas English Teaching. However, I can't help but wonder if I'm forcing this to happen. I’m not sure if I’m leveraging what I already know to fit into the workflow or if by coincidence, a similar process just happened to exist. Either way, it works.