Presentation is loading. Please wait.

Presentation is loading. Please wait.

Expectations for the Week & the Software Development Lifecycle JAMS Workshop Makerere University September 2010.

Similar presentations


Presentation on theme: "Expectations for the Week & the Software Development Lifecycle JAMS Workshop Makerere University September 2010."— Presentation transcript:

1 Expectations for the Week & the Software Development Lifecycle JAMS Workshop Makerere University September 2010

2 Agenda Intro & Workshop Schedule Who We Are Software Development Lifecycle – Team Roles – Overall Lifecycle – Tools & Processes

3 Schedule v1 MondayTuesdayWednesdayThursdayFriday 9:00 Expectations for the Week, Software Lifecycle Project Management AppLab & Community Knowledge Worker Group Work SessionHoliday 9:30 10:00 Writing Functional Specifications Group Work Session 10:30 11:00 Test-Driven Development 11:30 12:00 Object-Oriented Design 12:30 1:00 Lunch Break 1:30 Facilitator Office Hours 2:00 Introduction to the group activity 2:30 3:00 Initial group work session: setup, assign roles, start working 3:30 4:00 4:30 5:00 Team Presentations (15 x 8 min each) Awards 5:30 6:00 6:30 7:00 8:00

4 Schedule v2 MondayTuesdayWednesdayThursdayFriday 9:00 Expectations for the Week, Software Lifecycle Project Management AppLab & Community Knowledge Worker Holiday / Facilitator Office Hours Team Presentations (15 x 8 min each) Awards 9:30 10:00 Writing Functional Specifications Group Work Session 10:30 11:00 Test-Driven Development 11:30 12:00 Object-Oriented Design 12:30 1:00 Lunch Break 1:30 Facilitator Office Hours 2:00 Introduction to the group activity 2:30 3:00 Initial group work session: setup, assign roles, start working 3:30 4:00 4:30 5:00 5:30

5 Workshop Materials All materials we use for the workshop are available at http://lawolf.net/jamshttp://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 …

6 Who We Are Kenny Wolf Software Architect @ Microsoft 8 years on.NET Framework 5 years on Mac Office Plays drums & juggles Lauren Lavoie Program Manager @ Microsoft 4 years on Exchange 3 years on Windows Presentation Foundation Likes yoga & photography 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

7 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

8

9 Software Development Roles Developer Responsible for designing and implementing features Implements basic test coverage Program Manager Writes functional specifications to bridge between business and technical teams Keeps the engineers unblocked Test Engineer Writes test plans and test cases Implements test cases Advocates for the customer Operations Manager Responsible for deploying and monitoring product code Business Stakeholder Provides business requirements Release Manager Drives the project schedule Software Architect Proposes (and sometimes implements) big architectural changes Reviews and advises on design Customer The consumer of the software The most important person

10 Software Development Lifecycle Gather Requirements Design the System Implement the System Quality Assurance & Documentation Operate & Maintain

11 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

12 Source Control 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() 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. "Sync" (i.e. get updates) Merge CalculateScore()

13 Bug Database

14 Document Repository

15 Coming Attractions Gather Requirements Design the System Implement the System Quality Assurance & Documentation Operate & Maintain Session 2: Writing a Functional Spec Session 4: Coding Guidelines & Object- Oriented Design Session 3: Software Testing & Test-Driven Development Session 6: Project Management


Download ppt "Expectations for the Week & the Software Development Lifecycle JAMS Workshop Makerere University September 2010."

Similar presentations


Ads by Google