XRDS

Crossroads The ACM Magazine for Students

Sign In

Association for Computing Machinery

Articles Tagged: Software management

Articles & Features

Beyond coding: toward software development expertise

SECTION: Features

Beyond coding: toward software development expertise

Understanding what it takes to become an effective developer.

By Marian Petre, André van der Hoek, October 2018

PDF | HTML | In the Digital Library

Designing and developing an open source medical informatics module

Designing and developing an open source medical informatics module

Lessons learned in planning and managing a development sprint to build a flexible, open source HL7 query service while successfully collaborating with diverse stakeholders and volunteers.

By Suranga Nath Kasthurirathne, December 2012

PDF | HTML | In the Digital Library

Planning and improvisation in software processes

This paper presents the results of an empirical study aimed at examining the extent to which software engineers follow a software process and the extent to which they improvise during the process. Our subjects tended to classify processes into two groups. In the first group are the processes that are formal, strict, and well-documented. In the second group are the processes that are informal and not well-structured. The classification has similar characteristics to the model proposed by Truex, Baskerville, and Travis [12]. Our first group is similar to their methodical classification, and our second group is similar to their amethodical classification. Interestingly, software engineers using a process in the second group stated that they were not using a process. We believe that software engineers who think that they are not using a process, because they have the prevalent concept of process as something methodical that is strict and structured, actually are using an informal (amethodical) process. We also found that software engineers improvise while using both types of processes in order to overcome shortcomings in the planned path which arose due to unexpected situations. This finding leads us to conclude that amethodical processes are processes too.

By Rosalva E. Gallardo-Valencia, Susan Elliott Sim, December 2007

PDF | HTML | In the Digital Library

The student's guide to GDC

By James Stewart, December 2007

PDF | HTML | In the Digital Library

Interesting complexity

By Caio Camargo, December 2006

PDF | HTML | In the Digital Library

Creating a 3D universe in Java3D

By George Crawford, November 1998

PDF | HTML | In the Digital Library

Explanation component of software system

Explanation is an important feature that needs to be integrated into software products. Early software that filled the horizontal software market (such as word processors) contained help systems. More specialized systems, known as expert systems, were developed to produce solutions that required specific domain knowledge of the problem being solved. The expert systems initially produced results that were consistent with the results produced by experts, but the expert systems only mimicked the rules the experts outlined. The decisions provided by expert systems include no justification, thus causing users to doubt the results reported by the system. If the user was dealing with a human expert, he could ask for a line of reasoning used to draw the conclusion. The line of reasoning provided by the human expert could then be inspected for discrepancies by another expert or verified in some other manner. Software systems need better explanations of how to use them and how they produce results. This will allow the users to take advantage of the numerous features being provided and increase their trust in the software product.

By Bruce A. Wooley, September 1998

PDF | HTML | In the Digital Library