itec 370 lecture 15 implementation. review questions? draft of design document on f brief 3-5 minute...
TRANSCRIPT
ITEC 370
Lecture 15Implementation
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 email it to a reviewer and it
won’t be accepted until someone looks at it
Implementation
Pair programming
• 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