software development processes: how to create great software, doing it right the first time and keep...

13
Software Development Processes: How to create great software, doing it right the first time and keep your sanity Matt Howland Francesca Noli

Upload: carol-cain

Post on 04-Jan-2016

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Software Development Processes: How to create great software, doing it right the first time and keep your sanity Matt Howland Francesca Noli

Software Development Processes: How to create great software, doing it right the first time and keep your sanity Matt Howland

Francesca Noli

Page 2: Software Development Processes: How to create great software, doing it right the first time and keep your sanity Matt Howland Francesca Noli

Agenda

Software development processes: case studies Traditional Consulting/Services

Release Timelines

Best practices

Development Roles Employee vs. consultant Roles in a development organization

Q&A

Page 3: Software Development Processes: How to create great software, doing it right the first time and keep your sanity Matt Howland Francesca Noli

Software dev process: traditionalEnterprise Software: release cycle is often 12-18 months and involves between 15 and 50 products

(family pack vs. Division or Applications) MRD (Market Requirement Document) FDD (Functional Requirement Document) TDD (Technical Requirement Document) Code Unit Test Acceptance QA Release Changes after formal hand off to dev (post FDD) through change control requests

reviewed by SVP of development

Page 4: Software Development Processes: How to create great software, doing it right the first time and keep your sanity Matt Howland Francesca Noli

Software development process: Extreme DevelopmentI.E. Oracle: used in some divisions informally: Same release length as traditional development Used internally to the development organization (no QA or release impact) Developer and Product manager meet every morning for 30 min to decide

which function to implement that day Product manager gives feedback on previous day code

Page 5: Software Development Processes: How to create great software, doing it right the first time and keep your sanity Matt Howland Francesca Noli

Software Development Process: Start Up

Release every 6-10 weeks Vision or Product Direction from CEO and VPs Detailed product roadmap from product management MRDs/PRDs (Market Requirement Document/ Product Requirement Document) Functional Specs Development (Integrated Research and Development) QA

Regression testing

Release

Page 6: Software Development Processes: How to create great software, doing it right the first time and keep your sanity Matt Howland Francesca Noli

Software Development Process: Consulting/Services

Largely client defined/negotiated release schedule JAD (Joint application development) Sessions PRD Functional Spec Integration/Migration Plan Negotiated client milestones/deliverables Integrated QA

Page 7: Software Development Processes: How to create great software, doing it right the first time and keep your sanity Matt Howland Francesca Noli

Software Release Schedule

One major challenge is that you are juggling multiple releases at any time:

Example: January 2006

Release 2 is ready to “go out” (end of qa) Heavy on dev to fix critical issues Heavy on QA and release to package it

Release 3 is code complete and “ready” to be handed off to QA Heavy on development to wrap up the code Heavy on QA to complete their test cases

Release 4 is in planning phase Heavy on product manager to complete PRDs

While this is all going on, the customer is still on release 1

And this is the good news because on license based software, you don’t even know what release your customer is on

Page 8: Software Development Processes: How to create great software, doing it right the first time and keep your sanity Matt Howland Francesca Noli

Sample Timeline

January

customer on 1

QA on 2

Dev on 3

PM on 4

February

customer on 2

QA on 3

Dev on 3 and 4

PM on 4 and 5

March

customer on 2

QA on 3

Dev on 4

PM on 5

April

customer on 3

QA on 4

Dev on 4 and 5

PM on 5 and 6

Jan 06 Feb06 March 06 April 06

Page 9: Software Development Processes: How to create great software, doing it right the first time and keep your sanity Matt Howland Francesca Noli

It all starts with good people…but once you have good people you still need more…

Unit tests done by dev and PM before QA starts Additional automated/integrated unit test for complex processes (JUnit, NUnit)

Strong process for QA and release No changes after PRD hand off Document, document, document (includes robust commenting as well as formal

document both user and technical) (JDoc, NDoc are great time savers)

Customer Driven feature set Peer code reviews Revision Managment Up front design (UML, Functional Spec)

Best Practices

Page 10: Software Development Processes: How to create great software, doing it right the first time and keep your sanity Matt Howland Francesca Noli

Development Role: Traditional Employee

Perks Project Ownership Training on New Technologies Camaraderie Advancement to roles outside of Engineering, Management, Product Management,

Etc. Traditional employee benefits

Downside More distance between you and the customer Less flexibility

Page 11: Software Development Processes: How to create great software, doing it right the first time and keep your sanity Matt Howland Francesca Noli

Development Role: Consultant

Perks “Guru” status More flexible schedules Extensive customer interaction Pay

Downside Less Project Ownership Career advancement and training are your responsibility and will have to

be actively sought out. No traditional benefits package

Page 12: Software Development Processes: How to create great software, doing it right the first time and keep your sanity Matt Howland Francesca Noli

Development Roles

Customer Product Management

Architect User Interface Dev manager/Developer QA Release Documentation

Page 13: Software Development Processes: How to create great software, doing it right the first time and keep your sanity Matt Howland Francesca Noli

Q&A