Design, Develop, Create

Monday 12 November 2012

The five minute CIO: David Miller


Terminalfour's COO offers a view on how to bridge within the high-tech business, between a production and a business focus...

It all comes back to people [from a technical discipline] recognising that there’s a different world to the world they’re in. The best people are the ones who combine the two [business and IT]. 

http://www.siliconrepublic.com/strategy/item/29933-the-five-minute-cio-david/

Use a process that produces data


These three columns or position pieces by 'Uncle Bob' Robert C. Martin of ObjectMentor, setup the classical problem of systems development and offer a well-thought-through response. Consider that Bob wrote these in the days prior to our wider awareness of practice-oriented approaches that were just then gaining ground such as XP, SCRUM and the Agile Manifesto. However, to paraphrase from Martin's Engineering Notebook on IID (Martin, 1999)
"Don’t let these articles mislead you.  If you follow the advice above and begin developing projects in an iterative and incremental way, bluebirds will not fill your sky.  Schedules will still be missed, there will still be bugs, problems, and mis-aligned expectations.  Software is, after all, software; and software is hard. However, what you will be doing is using a process that produces data; whereas waterfall produces none. With that data, managers can try to manage the project."

The articles:

http://www.objectmentor.com/resources/articles/IIDI.pdf
http://www.objectmentor.com/resources/articles/IIDII.pdf
http://www.objectmentor.com/resources/articles/IIDIII.pdf

Friday 9 November 2012

Ship Wars@ Google Waterloo


Ship Wars is a competition in which participants code their own intergalactic crafts in the programming language of their choice, and then battle against each other in a virtual environment.

Take a look at these development environments...

http://goo.gl/JaQyd and http://goo.gl/RJjOK

Wednesday 7 November 2012

Simplified Grade Descriptor

Simplified grade descriptor for grading standard.

A
The report is complete and covers all important topics.
Appropriate significance is attached to the information presented.
There is a compelling logic to the report that reveals clear insight and understanding of the issues.
Analytical techniques used are appropriate and correctly deployed.
The analysis is convincing, complete and enables creative insight.
The report is written in a clear, lucid, thoughtful and integrated manner-with complete grammatical accuracy and appropriate transitions.

B
The report is complete and covers all important topics.
Appropriate significance is attached to the information presented.
There is a clear logic to the report that reveals insight.
Analytical techniques used are appropriate and correctly deployed.
The analysis is convincing, complete and enables clear insight.
The report is written in a clear, lucid, and thoughtful manner-with a high degree of grammatical.

C
The report is substantially complete, but an important aspect of the topic is not addressed.
The report used information in a way that was inappropriate. There is a clear logic to the report.
Analytical techniques are deployed appropriately.
The analysis is clear and the authors draw clear, but not comprehensive conclusions for their analyses.
The report is written in a clear, lucid and thoughtful manner, with a good degree of grammatical accuracy.

D
The report is incomplete, with important aspects not addressed.
The report frequently used information that was substantially inappropriate or inappropriately deployed.
The report’s analysis is incomplete and authors fail to draw relevant conclusions.
The report is poorly written.

E/F
The report is substantially incomplete.
Whatever information provided is used inappropriately.
There is little analysis and the report is inconclusive.
The report is poorly written and presented.

Further reading
See the UCD registry for a more complete outline grade descriptor (pdf file link).
See grading in the module curriculum for conversions between grade points (gp), gp values, and marks (pdf file link)

Kanban objects and interaction

看板
In Japanese; Kanban: Literally, a ‘watch over – board’: a billboard, poster or sign. The first character (reading "kan") combines the primitive elements of heavenly/above and eyes/see to convey watch over or oversee. The second character (reading "ban") combines the elements of wood with bending/resistance meaning which together are taken to be 'board'.

A time-lapse video of a physical kanban/scrum board being used by the Vodafone Web Team in Copenhagen, Denmark.
The underlying mechanism for Scrum is based on kanban which originated in the Toyota Product System. We see these Kanban boards in many workplaces. Kanban is just a board but it becomes a focal point, a social/organisational device. The operation of a Kanban is based on two principles: Pull system, and Visibility.

The other essential aspect of a Kanban in software development is design collaboration; collective involvement in design decisions. Kanban and collaborative design are complementary practices. They act to flatten hierarchy, and enable communication. But 'flat' and democratic, while reducing propensity for individuals to ‘dominate’ also reduces the opportunity to for them to ‘hide’. Agile teams can be very tricky to run as they bring issues of power, control, reputation, face, failing and succeeding into the public sphere of work.

Tuesday 6 November 2012

Are there organisational archetypes for high-tech firms?

Alex reminded me of this funny take on organisational charts emphasising the influence of the Owner/Founder/CEO in IT companies. Amazon appears as a classical top down hierarchy with no inter-communication among peers. In Google's case its two founders: Larry Page, Sergey Brin,  plus one (Eric Schmidt I presume) appear to be cloned throughout a tiered organisational with multiple lines of communication among all levels. Facebook is presented as a mesh with no layering and isolated local pockets of communication. Microsoft as a network of hierarchies with each subdivision at odds with all of the others. Oracle as a legal firm with a small engineering division attached to it and both divisions reporting directly to Larry Ellison the CEO. And Apple as a blob of individuals, each one under the direct supervision of the then CEO Steve Jobs, suggesting a minimum of delegation.

http://usingapple.com/2011/06/funny-organizational-chart-for-apple-facebook-google-amazon-microsoft-oracle/

Consider relating the ideas behind these depictions to Steve Sawyer's social archetypes of software development teams... The sequential model of task/role separation seeks to address the challenge of control, the group model fulfils the desire for intercommunication where task/role separation is infeasible, and the network model resolves task/role specialisation by establishing responsibilities specific to the production being performed. We might consider the possibility too perhaps that each archetype is a remedy for the problems arising from over dependence on one of the others.

Monday 5 November 2012

Exercise: Table Label, aka Marshmallow Tower Challenge

Allocate at approximately 1 hour to run the exercise. 10" setup and briefing. 30" experiment. 5" extra time. 15" debriefing. You will need a large space with scattered desks to accommodate the exercise.

Overview
  • A design/build challenge is set.
  • Each group will employ a ‘thinking aloud’ protocol as they run the experiment. The builder/designers comment aloud to highlight ideas, key transitions or changes in their thinking about the problem.
  • One person will act as the researcher, capturing a time-record of the designers’ comments or activity at any moment. The researcher role is not allowed to take part in the design and construction.
  • Change the person in the researcher role every 5 minutes to give all team members an opportunity to contribute to the design and construction.
  • Output: A ‘Design Activity Graph’ recording design/build activity over time, for example:
    • Scenario thinking
    • Requirement thinking
    • High level solution thinking/building
    • Medium level solution thinking/building
    • Low level solution thinking/building
    • Key ideas.
    • Testing or Review.
guindonActivityChart

For an alternate take on this activity see Peter Skillman's 'Marshmallow Challenge.'

Practical Aim: "As a teach I want to see ‘group labels’ for each table ‘over the sea of heads’ in a classroom so that I can call on groups to respond and encourage for class participation."

Knowledge Aim: To assess the different activities people engage in in open-ended problem solving design/build work.

Materials
A pack of sticks, some plasticine, some rubber bands, and an index card. A tape measure.
A sheet of graph paper to capture the team's graph.

Competitive dimension/evaluation: 
Which group can construct the most useable table label!
The tutor will need a ruler to measure and compare the height of the table labels.

Reflection
Ask each group to classify the activities they underwent (perhaps over 4 or 6 distinct kinds of activity)
Ask each group to estimate how much time they spent on each activity.
Ask the groups to reflect on how they won (or lost!) and to reflect on the contributions their different experience, backgrounds, disciplines made to the solution.
Were there collaboration problems?
Were transitory objects used?
Were conflicts resolved?
What roles were evident?
What is the impact of time pressure?
Can you identify who is responsible for the design?
What evidence of design work is available (diagrams, prototypes, experimental trials)?
What would you expect to happen if the exercise was performed again and again?
Where/when does the design occur?
Was the creative aspect to this exercise essential?
Was your design planned or accidental?
...