150 likes | 324 Views
Expectations for the Week & the Software Development Lifecycle. JAMS Workshop Makerere University September 2010. Agenda. Intro & Workshop Schedule Who We Are Software Development Lifecycle Team Roles Overall Lifecycle Tools & Processes. Schedule v1. Schedule v2. Workshop Materials.
E N D
Expectations for the Week & the Software Development Lifecycle JAMS Workshop Makerere University September 2010
Agenda • Intro & Workshop Schedule • Who We Are • Software Development Lifecycle • Team Roles • Overall Lifecycle • Tools & Processes
Workshop Materials • All materials we use for the workshop are available at http://lawolf.net/jams • PowerPoint slides • Templates (test plan, functional spec, team presentation) • Attendee packet (schedule, project description & evaluation criteria, sample functional spec, sample test plan) • All assignments may be submitted via …
Who We Are Kenny Wolf Lauren Lavoie Program Manager @ Microsoft 4 years on Exchange 3 years on Windows Presentation Foundation Likes yoga & photography • Software Architect @ Microsoft • 8 years on .NET Framework • 5 years on Mac Office • Plays drums & juggles • Finishing a year-long sabbatical volunteering on tech projects in Asia and Africa • Spent the summer volunteering for Grameen Foundation in Kampala, on the Community Knowledge Worker project
Goals for the Week • Provide insight into how software engineering works in industry • Hands-on experience with practical elements of software engineering • Functional specifications • Software testing • Coding as a team • Have fun
Software as a Team • More people can get more done but… • Can introduce extra dependencies • Require more communication overhead • Can duplicate each other’s work • Can build incompatible pieces • Certain tools and techniques can help • Source control • Bug database • Scheduling tool • Document repository • Project management
Source Control A source control system manages changes to text and binary files. Changes are identified by a "revision number“, and associated with a timestamp and the person making the change. Revisions can be compared, restored, and with some types of files, merged. • Critical for code stability and maintenance • Allows developers to collaborate • If necessary, allows the system to “rollback” to an earlier date • Verbs: Edit, Sync, Submit Source Control System Submit CalculateScore() Merge CalculateScore() Submit CalculateScore() "Sync" (i.e. get updates)
Bug Database Bug Database
Coming Attractions Session 6: Project Management Session 2: Writing a Functional Spec Session 4: Coding Guidelines & Object-Oriented Design Session 3: Software Testing & Test-Driven Development