Experience Report: Unique Work-Study Agile Development Apprenticeship at NMHU
In addition to defining competencies that respected standards advocated by external bodies like ACM and IEEE, they added dozens of competencies beyond those associated with technology and practice, and they allowed students to develop their own IEP: Individual Education Plan. Instead of standard textbooks, they required students to acquire, over time, a multi-disciplinary "professional library" comprising books from a wide variety of perspectives. West and Rostal worked hard to create a university program unique in all aspects. In their words:
Everything we did required a variance of one type or another, from allowing multiple courses to be scheduled at the same time in the same room taught by multiple faculty to the physical space requirements; but the attitudes we hoped to instill would only emerge from applying non-traditional pedagogical patterns emphasizing responsibility, feedback, collaboration, and the invention of new ways to look at a problem.The groundbreaking Software Development Apprenticeship (SDA) program was situated in a prevailing culture that stressed familial obligation, which, coupled with extensive regional poverty, forced students to confront life-work balance issues at a much younger age than many of us. To draw a wider variety of students than the average full-time university program, the program was designed to co-exist with students' other priorities. This six-year program, much of it at a level typically reserved for graduate students, covered the equivalent of a four year bachelor degree and more... and could be executed at each student's own pace, organized around their other obligations each semester, allowing for individualized progress through the program.
The curriculum, as a result, was not predefined. Apprentices wore logos on shirts with colors indicative of their progress through the program and were paid according to these levels to work on commercial software projects: moving from Novice Software Developer, through levels of Apprentice, Senior Apprentice and Supervising Apprentice Software Developer.
The results? One student is currently managing the international effort to decentralize a bank in Australia; another is teaching colleagues in Minnesota how to use FIT for test driven development; and several apprentices who already had part-time jobs while in the program continue to apply the lessons they learned about management, social interaction, and technology. A young man and woman who started the program not knowing how to cut and paste using Microsoft Word left the program capable of developing web pages, applying CSS, writing JSP code, and rudimentary Java code. And both of the program's development customers hired SDA apprentices to continue the work started in that program. Its success did not go unnoticed - though the program was cancelled in 2005, efforts are underway to reinstitute it in the coming academic year.
The SDA story shows what can happen when education goes beyond the minimum requirements: when people are encouraged to strive for mastery and taught the thinking tools to do so.
Read the InfoQ experience report: Software Development Utopia: Agile Development Apprenticeship at NMHU.