From Requirements to Code: Issues and Learning in IS Students' Systems Development Projects
Authors: Elsje Scott
Year: 2008

Introduction Information Systems (IS) is one of five computing disciplines identified by Computing Curricula (2005), the others being Computer Engineering, Computer Science, Information Technology, and Software Engineering. However, because IS lies at the intersection of exact sciences (e.g. General Systems Theory), technology (e.g. Computer Science) and behavioral sciences (e.g. Sociology), it presents particular challenges for teaching and learning. According to IS2002, An Update of the Information Systems Model Curriculum (Gorgone et al., 2002), the IS discipline depends on three key attributes: * A broad business and real world perspective. * Strong analytical and critical thinking skills. * Strong interpersonal communication and team skills. A key role of the IS professional is to determine the requirements for an organization's information systems and to play an active role in the specification, design and implementation thereof (Computing Curricula, 2005). In doing so, IS professionals are faced with the challenge of translating a variety of business processes into information technology solutions that will meet the needs of the organization both efficiently and effectively. For decades, the IS industry has experienced problems of software that is not delivered on time or which is outdated before it can be implemented, and systems where requirements have not been met or which are completely unusable (Parnas, 2006). It is thus essential for IS education to provide a 'base foundation' of skills and knowledge that will equip future IS professionals for the effective delivery of information systems (Phukan, 2001). Requirements that are misinterpreted or not fully understood will lead to flawed design resulting in an unsuccessful product. It is thus crucial that IS students are given the opportunity during their undergraduate degree program to test their understanding of requirements and their design skills by implementing them though the development of a software product. In addition, the rapidly changing field of computing places stringent demands on IT/IS educators to continually revise and change programs and curricula in an attempt to better equip students for the marketplace (Dawson & Newman, 2002; Kussmaul 2000; Noll & Wilkens, 2002; Tuttle, 2000). The Computing Curricula (2004, 2005) depict IS as an applied discipline, primarily concerned with the relationship between information systems and organizations. The IS professional is, amongst other roles, concerned with the tailoring of database applications, the development, deployment and configuration of systems to suit the needs of organizations, and the training of users. To successfully prepare students for these roles they have to understand the full systems development lifecycle, irrespective of the specific methodology that may be used to develop a software system. This involves the inception phase of the project, the analysis and design phases, the building and the implementation phases. The process can follow the traditional model or involve the iterative building of consecutive subsystems. Whichever method is followed, testing must be included in the different phases to ensure the quality of the final product. A systems development group project is the main deliverable of the capstone course Project Management: Theory and Implementation, offered to Information Systems majors at the University of CapeTown (UCT), South Africa. This third year course, and more specifically the project as the main deliverable of the course, has been subjected to an ongoing refinement process over the past eight years. It has been shaped according to guidelines provided by computing curricula (Computing Curricula, 2004, 2005; Gorgone et al., 2002;) and influenced by various teaching and assessment theories including that of Cockburn (2002), which suggests a framework based on the evolutionary path that developers tend to follow. …