150 likes | 274 Views
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. Objectives.
E N D
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
Objectives • Look at different methodologies for development
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
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…
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
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?
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
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
Pair programming • Write code with someone else
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
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
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
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
Review • Ways of developing software • Concerns about how to start the process • Didn’t even get into actual coding strategies