Spaghetti, Six Students & Sticky Tape

This week our class focused on a broad range of topics from design evaluation, team work, software design and design activity mapping.

Our base reading for the week provided a basic foundation for Design systems in the areas of software and the importance of teamwork in this process. The paragraphs below summarise our reading activities.

Large scale software systems are seen to draw around the basis of the simplest aspect of software development, with focus on the Analysis and Coding stage. Royce, 1970 illustrates that coding and analysis are central to software development no matter what the requirements are for the project in mind. Royce, 1970 goes on to add that the failure of systems to include the testing phase so late has financial, time and customer satisfaction issues due to a failure of the model to allow for repair without costing a lot of time and labour. Royce argues that preliminary work by program designers would allow collaboration between relevant departments. Royce illustrates the importance of project documentation, originality and simulation as a crucial role in software systems. Royce concludes his article by stating that customers need to be included in the development process as they can have an impact on the outputs of the systems produced, by taking their requirements into consideration.

Foote & Yoder 2000, argues that the mainframe architecture that is used by programmers for building software system has become so mainstream, that it has been manipulated, changed and used by nearly all programmers, to now reflect a big ball of mud. The basis of this article focusses on references and comparisons to social settings to portray the architecture under which software systems are based on has grown to mirror. The big ball of mud, which has served its purpose very well, reflects in the authors opinion an elongated mess. The author states that the big ball of mud serves its purpose as software focus on functionality and features, as these characteristics allow for uptake and usability. The big ball of mud can be seen to reflect the uses and the purpose of the entire developer community, as it has been altered and used as a centrepiece of developments.

Sawyer, 2004 provides an oversight on software development teams as been a mirror of a complex socio-technical activity. Interaction is required in all areas of the activity to allow. Sawyer discusses different groups of teams that exist in the arena of software development.  These teams take the form of Group, Network and Sequence guidance. All of which have different characteristics and distinct features. Group Guidance’s- places emphasis on good team working skills. Network guidance place emphasis on evaluation contributions and Sequence guidance places emphasis on task specialisation. Each of these three guidance’s allow insight into the workings of software development teams.

Following on from the topic of team work, our next exercise which focuses on teamwork involved the construction of a cantilever, made up of the following materials, a handful of spaghetti, sticky tape, paper and 6 masters students. The result a 91cm cantilever that took 30 minutes to build. The cantilever project, has one crucial and insightful feature, the researcher. The researcher in this project involved one of our group members taking 5 minutes out from our group project to measure the patters and the stage of planning that our project was at on a design activity graph, a picture is included below. So, as we each spent 5 minutes recording our progress on a graph, we had the opportunity to have an outside view of what was going on, (while remaining silent), how things may be done better and most importantly focusing on the work of the team to provide feedback that could in turn spur the team on. Our Design Activity graph which is included below shows our thinking on each part of the problem as the opinion of our researcher.  Covered the topics of five distinct phases, these included scenario thinking, requirement thinking, high-level thinking, medium-level thinking and low-level thinking. These are the basis of our team design graph.  
Above image of Design Activity Graph


So, following on from or completion of the task we were asked to carry out a debrief of the exercise that had been handed to us. We evaluated a number of topics such as what we could have done better, alternative designs, how we decided to build the structure the way we did and where we got inspiration for our design. This provided huge insight into our success and provided an abundance of information that we could use to carry out the task again.

Who could of thought that you could extend spaghetti 91cm off a table?


Bibliography
Foote, B. & Yoder, J. (2000) Big Ball of Mud. IN HARRISON, N., FOOTE, B. & ROHNERT, H. (Eds.) Pattern languages of program design 4. Addison Wesley
Royce, W.W. (1970) Managing Development of Large Scale Software Systems

Sawyer, S. (2004) Software development teams. Communications of the ACM, 47, 95 - 99.

Comments

Popular posts from this blog

Systems, systems, systems!

Requirements