ITEC 370 Lecture 15 Implementation
Review Questions? Draft of design document on F Brief 3-5 minute work update on F (will continue except for mid-term) Implementation –What are some of the elements in a style document? –Comments –Warning / Error codes
Implementation Objectives Look at different methodologies for development
Implementation Writing code… Manager –What do developers need to do their work? –How can you monitor their progress? –How can you keep them from stalling out? –How do you keep them on time / on budget Schedule –How long should X take
Implementation Issue Mythical man month –Throw more labor at a problem and it is solved faster Reality –9 women can’t birth a child in a month…
Implementation Issue(2) Not all programmers are equal –Some are 5 to 10 times more productive than others –Only get paid twice as much… Trying to keep up is not a fun experience –Support roles –Experimental roles
Implementation Scenario Have 200 workers and 25 managers Managers are 5 times more productive than the workers Should you get rid of the workers and have the managers build the project or should they stick to management?
Implementation Roles (MMM) Surgeon –Person who writes the code, documentation, tests Co-pilot –Sounding board, evaluator, Mini-Surgeon Administrator –Building / Personnel Editor –Documentation Toolsmith –Systems administrator Language lawyer –Detail oriented person, perhaps the R&D department
Implementation Code reviews Scheduled times to sit down and review code written Quality (Design, Structured, Comments) Memory leaks –Tools / hand checking Automatic –VCS will it to a reviewer and it won’t be accepted until someone looks at it
Implementation Pair programmin g Write code with someone else
Implementation Parts Environment –Physical Large open area with tables / computers Small offices Both –Software Nothing special required, collaborative editors + voice Work faster / better when someone is looking over your shoulder
Implementation Ways Pair up junior / senior developers –Helps junior devs improve faster –Helps senior devs learn to teach Experts and experts –Build it and build it fast Junior devs –Help each other figure out problems
Implementation Studies Multiple results –Not so overwhelming that you MUST do it Fifteen percent less bugs, fifteen percent more time Harder / more effort than solo programming Biggest gain from novices pairing together
Implementation Meaning Pair programming is a really good idea for you all Requires you to like / be on the same page Driver / Navigator –Swap off –Big picture / Detailed view
Implementation Review Ways of developing software Concerns about how to start the process Didn’t even get into actual coding strategies