Battleship: Waterfall Design vs. Agile

The classic game of Battleship has been repurposed to demonstrate the effectiveness of agile methods.

Mark Suurmond has created a simulation, available on GitHub, that allows programmers and students to experience the difference between the waterfall design process and the agile process.

When the simulation first displays it is set to 40 iterations.  The player has to guess where on the board the ships are located, but doesn’t find out until the last attempt is finished.

There is some success, but also a lot of wasted effort, much like we often experience when developing a project using the waterfall method.

 On the second trial, the programmer gets feedback after every attempt. This would be like having the client at your side each time you wrote a bit of code. The finished product is much more “on target”, much like we experience when using agile methods.

The third and fourth trial is run, getting feedback every 5 iterations, and then every 10. Running this simulation the programmer can gain an appreciation of constant feedback vs. getting regular feedback after multiple iterations. It isn’t always possible to meet after every programming decision is made.

Here is a guide so you can implement this with your own students or programming team: lab: Battleship Waterfall vs. Agile


Photo courtesy of Wikipedia. US Navy 100530-N-2798F-011 Aviation Ordnanceman Airman Justin Stout and Aviation Electronics Technician Airman Anthony Bertolino spend their break playing the game Battleship aboard the Nimitz-class aircraft carrier USS Harry S.jpg

 

Experience Agile – The Ballpoint Game

It is one thing to read about the agile processes and quite another to experience them.

This face-to-face activity quickly demonstrates how effective the iterative process can be.

The Challenge: As a team, the group must “process” as many balls as possible following specific rules. The group has four opportunities with a ‘SCRUM’ meeting in between each and a fifth “Grand Challenge” at the end.

The Results: The first time I directed this activity the team processed 15 balls during the first iteration and 88 balls in the Grand Challenge. They all experienced problem-solving, flow, and cooperation and had fun at the same time.

Reflection: The activity ends asking the group these questions:

  • How does this relate to agile code development?
  • What does this mean? “Every system has its own velocity.”
  • Flow is being totally focused and losing track of time. Did you experience this during this exercise?
  • How does that relate to other experiences such as programming or gaming?

Here is a PDF presentation you can use to implement this activity: labProcessFlow – The Ballpoint Game

Here is a video showing one team in the first iteration of the game:
You can purchase a bag of 100 plastic balls from Amazon for around $20: https://www.amazon.com/gp/product/B01LX7BAK6/ref=oh_aui_detailpage_o05_s00?ie=UTF8&psc=1

Finding Free Images on the Web

Clients often need images for their website and printed materials. Here is a short list of resources where you can download free images as well as premium images.

Clients often need images for their website and printed materials. Here is a short list of resources where you can download free images as well as premium images.

DreamsTime

http://www.dreamstime.com/
Stock photos at a reasonable price. Web sites only need photos no wider than 400px.

Google Search


Using Google search to find Creative Commons images.


You can use Google to find photos that have a creative commons license. When you do this, always give the owner credit or attribution by including the website URL in the credits of your document.

Click on the image for a larger view

Google is constantly being redesigned so your click pattern may be different. This image shows the keywords to look for.

To keep track of the attribution store your creative commons images in a special folder. Include a text file or Word document that lists or shows a small thumbnail of the image and the URL of the site you got it from.

Often times photos are HUGE. Use an image editor such as http://pixlr.com to change the size of the image. Include the new size in the file name for quick reference and to keep from overwriting the original. For example: shetlandPony.jpg would become shetlandPony300x250.jpg.

Flickr

https://www.flickr.com

Using Flickr to find Creative Commons images.


Flickr.com is a good source for photos. You can show all the Creative Commons photos that are licensed for commercial use. They also offer the Flickr Marketplace showing professional photos that are available to purchase.

List of Free Photo Sites

http://www.wheretofindfreeimages.com/
This page includes many sources of free photos.

RGBStock has some great photos.

http://www.rgbstock.com/
Their licensing is very generous. You may use their images:

2.a In digital format on websites, blogs, multimedia presentations, broadcast film or video and on your cell phone or personal computer as screen background or desktop wallpaper.

2.b In print to decorate your home or your office.

2.c In printed materials such as magazines, newspapers, books, brochures, flyers, text books, wherein the image or images used are for the purpose of illustration and not the primary content for sale or redistribution of the printed materials.

FreeImages.com

http://www.freeimages.com/
This site offers both free images and premium images for sale.

iStockPhoto.com

http://www.istockphoto.com/
This is the standard site for commercial stock photos. Originally started in Calgary, Canada by two young men, they sold the company to Getty images. Most small images suitable for the web run around $40. You can get a 10 image, 1-month subscription for $40.

Read the licensing carefully. They have strict limitations on how an image can be used.

They have recently partnered with http://leanin.org/about/ including photographs of women changing how women are portrayed.

Very high quality photography.

Adding JavaScript to WordPress

In my Advanced Web (CSC245) class that I’m teaching at Concordia University, St. Paul, the students needed to know how to add JavaScript to their WordPress blog postings.

I put together this demo page walking them through the process along with this video.

Adding JavaScript to WordPress

Here is the source code for the JavaScript function used in the video.

How old is each mask?

edoIvoryMask1500

Ivory Pendant Mask: Court of Benin. Iyoba, Nigeria

ifeKings_Head1100

Yoruba (Ife) bronze casting of Oduduwa

ngady-aMwaashKubaRoyalMask1890

Ngady aMwaash, Kuba Royal Mask, Peabody Museum, Harvard University

Credits:
edoIvoryMask1500Creative Commons, Wikipedia Edo Ivory Mask

ifeKings_Head1100Public domainIFE Kings Head

ngady-aMwaashKubaRoyalMask1890Creative Commons, Wikipedia Ngady aMwaash, Kuba Royal Mask

Peg Legg and Sal A. Mander

Many of them are very inappropriate for a lab situation, but I was able to cull about 25 very safe ones from the list.

Often you may find the need to populate a course with sample users so your students can log onto a course and experiment around.

Having sample users is also a great solution for demo courses when you want to allow students to experience hands-on a specific technique.

I discovered a fun list of names at http://www.ethanwiner.com/funnames.html. Many of them are very inappropriate for a lab situation, but I was able to cull about 25 very safe ones from the list.

Here are a few examples: Missy Sippy, Peg Legg, Marshall Law, Mary Christmas, and Sal A. Mander.

Creating an eBook Publication

I just finished creating a short eBook using Apple’s Pages ’09 and SnagIt. Patrick from MacSage has two blog postings that give a nice overview.

Here are 9 some key points that I discovered along the way.

I just finished creating a short eBook using Apple’s Pages ’09 and SnagIt. Patrick from MacSage has two blog postings that give a nice overview.

Here are some key points that I discovered along the way:

(1) Use this template to get started. Open this document up in Pages and then do a File/Save as template. You can view the list of styling options in Pages using View/Use Styles Drawer

Formatting is very basic with ePublications due to the wide range of devices that might be used to display the output. Bulleted lists work and so do links. But, there are very few other options. No fancy fonts, no fancy formatting.

I made a few minor size adjustments to the template (making the main heading smaller) and added in my logo, company contact information, and creative commons licensing. Then I did another “file/save as template” with a new name so I can have a custom template that contains elements that will be common to all my ePubs.

Pages inspector window showing the settings for ePublication images

(2) Make certain all your images are set to inline.  Although I would really like to design pages with wrap-around text and use multi-column layouts, ePubs limit this inorder to be fluid and adapt to horizontal and vertical viewing as well as all the different sizes and shapes of displays.

 

(3) ePublication “pages” are set by inserting a Section break.  From the menu select:   Insert/Section break

There is no page numbering because page break may differ depending on the device used to view the document. Instead I just set up bookmarks for each new chapter and made each item in the Table of Contents a link to the appropriate bookmark.

screen shot showing space, paragraph, and section break markers

(4) Pages ’09 automatically makes a Table of Contents when you export to ePub. I didn’t have to do anything. When I viewed the finished document in iBooks there was a Table Of Contents icon and all the chapter heads were listed. Nice.

(5) Display all editing marks so you can see what you are working with. From the menu select:  View/Show invisibles.  Section breaks will display as a blue line with a page icon at the far right.

(6) Embedded videos will make your document HUGE. As an alternative I uploaded a short demo video up to YouTube and then included a hyperlink to that video inside the document.

The ePublication standard does not recognize multimedia yet so trying to add it to your documents is walking the edge of the accessibility cliff.

(7) You aren’t able to put a link around a graphic in Pages ’09. My first inclination was to emulate having the video embedded by including a screenshot of the video so people could click on the image as if it was an embedded video. But I couldn’t make the screen shot into a link. I ended up having a still shot captured from the video and put a normal text hyperlink right above it.

If you create a .pdf document you can use Adobe Acrobat to add an embedded video.  (In Adobe Acrobat Pro Version 10 use View/Tools/Content  and then choose Multimedia/Video from the right sidebar menu

that pops up.) But, once again the PDF file size jumped from 4 meg up to 17 meg. So, I removed the video and just kept the link to YouTube. That made my ePub universal, fairly fast to load, and I knew that YouTube would automatically accommodate any type of display.

Checkbox in ePub export window

(8) Duplicate the first page and use it as the cover to your ePub.  In Pages right-mouse click on the thumbnail page on the left side of the page and select “duplicate”. When you export the ePub make sure the box “Use first page as the cover or your publication” is checked.

(9) Calibre is a free ePublication reader you can download to test your work. It runs on all platforms. Yea!

To view your publication on an iPhone or iPad email it to yourself as an attachment. When you read the email on the mobile device it will ask you if you want to open up the document using iBooks.

On an iPhone the images and screen shots are very tiny and iBooks doesn’t let the user zoom in. Too bad.

Working on the Windows platform? – Check out the SmashWords platform and the Smashwords Style Guide.

Have some other ePub and Pages ’09 tricks that you know about? Post them here for others to use.