How to eat a room-sized pizza using Java. The professional approach to software development.
How do you eat a room-sized pizza? Break the problem down into smaller pieces. Chunking a business problem: As a truck stop sets the price on their pumps they want the same price to display on their website.
Waterfall Write exact requirements which are then implemented. Perfect for highway construction and building sky scrapers. Not so good for software, human resources, or child rearing. Why?
Agile Each cycle accomplishes a specific chunk. Plan Do Act Check Repeat This is a great in-class exercise for students to experience the agile process and philosophy. http://webexplorations.com/blog/?p=948 Here is the presentation you can use during the activity: http://webexplorations.com/blog/wp-content/uploads/2017/02/labProcessFlow.pdf Each cycle accomplishes a specific chunk. Each cycle makes the program a little bit better. Work from simple to complex.
Play Battleship Which is more accurate? Play the game here out on GitHub: http://zilverline.github.io/battleship/public/index.html Use this as a classroom guide for this lab: http://webexplorations.com/blog/wp-content/uploads/2017/02/labAgile.pdf Waterfall – Make 40 guess then get feedback. Agile – Get feedback after each iteration. Which is more accurate?
How would you solve this problem? How would you solve this problem using Agile? When a truck stop sets the price on their pumps they want the same price to display on their website.
Apply this to your own code... Visualize – Begin with the end in mind. – Stephen Covey Chunk your code – using stubs Document as you go – Use JavaDoc type comments /** */ PDCA - Write, test, evaluate, write some more. Go through the Lab: Java Workflow to see this in action. (Pssst, you will use these methods with all programming languages...)
Summary Solving problems – What’s a smart approach? Waterfall vs Agile Which is better for building a football stadium? Writing software? Writing Software What should you always keep in mind? What is the best way to “build” a program?
Credits Instruction design by Peter Johnson – WebExplorations.com Email: peterk@webExplorations.com Web: http://WebExplorations.com Revised: 05-31-17