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

Slides:



Advertisements
Similar presentations
MIGRATION MIGR-09. How to Run Your Next Implementation... Don't Let It Run You! Patricia Johnson Senior Systems Consultant Strategic Systems Group, Inc.
Advertisements

Maximize QA’s contribution to successful project deliveries Grace Shi, PMP, MBA, MEng Project Manager BCIT, Thurs Sept 25 th, 2008.
© 2007 AT&T Knowledge Ventures. All rights reserved. AT&T and the AT&T logo are trademarks of AT&T Knowledge Ventures. Interactive Solutions & Design Group.
Software development process improvement Ville Wettenhovi Master thesis presentation Supervisor:Professor Jukka Manner Instructor:M.Sc. Markus Aalto Date:23th.
<<replace with Customer Logo>>
EmpowHR 9.0 Upgrade Status Meeting Thursday, June 12, :30 A.M. – 4:00 P.M. (EDT)
Agile development By Sam Chamberlain. First a bit of history..
GAI Proprietary Information
Software Life Cycles ECE 417/617: Elements of Software Engineering
GAJAH ANNUAL REPORT 2015 | 1 Business Process Management Meghan Atkins Lohith Bangalore Omprakash John Doyle Rebecca Mazur.
Alternative Methodologies Ken Peffers UNLV March 2004.
Requirements Structure 2.0 Clark Elliott Instructor With debt to Chris Thomopolous and Ali Merchant Original Authors.
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
The Challenge to Survive in Today’s Software Development Environment Evaluating the Agile Methodology.
1 April 2010 TX SET Timeline Project Conceptualization 11 weeks Market Requirements 12 weeks ERCOT Requirements 12 weeks Conceptual Design 6 weeks Detail.
Remedy, a BMC Software company Storyboarding the User Interface: Blueprint for an Application Shanaz Kanga | Michele Sarko Sr. UI Design Engineer | Manager,
National Finance Center’s 2008 Customer Forum EmpowHR 9.0 Billy Dantagnan Teracore.
PopMedNet Software Development Life Cycle Chayim Herzig-Marx Harvard Pilgrim Health Care Institute Daniel Dee Lincoln Peak Partners.
> Blueprint Kickoff >. Introductions Customer Vision & Success Criteria Apigee Accelerator Overview Blueprint Schedule Roles & Responsibilities Communications.
“This presentation is for informational purposes only and may not be incorporated into a contract or agreement.”
Unified Software Development Process (UP) Also known as software engineering process SEP describes how requirements are turned into software Defines who,
CompSci 230 Software Design and Construction
DBS to DBSi 5.0 Environment Strategy Quinn March 22, 2011.
ITS Software A TxDOT Statewide Perspective Charlie Farnham ITS Configuration Manager ITS America June 6, 2007.
Transaction Processing Systems and System Development Life Cycle
Agile Software Development Brian Link
© Blackboard, Inc. All rights reserved. Back to the Feature: An Agile, User-centric Software Development Lifecycle Cindy Barry Senior Product Manager Martha.
Software Testing Life Cycle
ITEC 370 Lecture 8 Requirements. Review Requirements –What are some of the characteristics of a good requirement? –What are use cases?
B. Joseph White Human Resources Front End (HRFE).
1 Transco’s Post Cycle Customer Testing and Training Packet Overview scheduled implementation in 1Line: May 2, 2007 for May 1, 2007 business In response.
Webster Visualize Webster Financial Team Visual Scrumware Joe Andrusyszyn Mark Bryant Brian Hannan Robert Songer.
CTSI: IU SCHOOL OF MEDICINE CORES COMMUNICATION PLAN JULIE HUANG TOM GOODWIN NATALIE BASICH.
Jeffrey Murray Test Manager PowerPoint Microsoft Silicon Valley.
Large Software Projects Deborah Black Vice President, Windows Division Microsoft.
Software from Requirements Brent Haines April 12, 2007 Why Methodology Doesn’t Really Matter.
Modularity Status Update Extension Module Webinar 25 th of February 2010.
Theories of Agile, Fails of Security Daniel Liber CyberArk.
Software Engineering Jon Walker. What is Software Engineering? Why do we call it Software Engineering? Why not just call it programming or software development?
Lead from the front Texas Nodal 1 Texas Nodal Market Implementation ERCOT Board Of Directors – August 15, 2006 TPTF Meeting August.
Agenda: Overview of Agile testing Difference between Agile and traditional Methodology Agile Development Methodologies Extreme Programming Test Driven.
Homework #1a Lifecycle Paper For each stage of the life cycle provide a list of items you think should be there. There should be at a minimum of five items.
Redesign/ Change Management Team 3. Point of Actions  Joint Application Design (JAD) session (2 weeks)  Representatives from each department  Overview.
1. ENTERPRISE AGILE TRANSFORMATION AT THE US POSTAL SERVICE MAY 24, Agile Business Solutions.
Copyright 2015, Robert W. Hasker. Classic Model Gathering Requirements Specification Scenarios Sequences Design Architecture Class, state models Implementation.
Extreme Programming מתודולוגיה לפיתוח פרויקטי תוכנה.
Internal developer tools and bug tracking Arabic / Hebrew Windows 3.1Win95 Japanese Word, OneNote, Outlook
By Manish Shrotriya CSE MS 4 Point Agile Manifesto 1.Individuals and interactions over processes and tools 2.Working software over comprehensive.
Software Development. The Software Life Cycle Encompasses all activities from initial analysis until obsolescence Analysis of problem or request Analysis.
Adaptive Software Development Process Framework. Version / 21 / 2001Page Project Initiation 2.0 Adaptive Cycle Planning 5.0 Final Q/A and.
IS&T Project Reviews September 9, Project Review Overview Facilitative approach that actively engages a number of key project staff and senior IS&T.
Life at Oracle Inseok Chong, Ph.D. Consulting Member of Technical Staff.
Software Development.
Information Systems Development
Appendix B Agile Methodologies
روش‌های سريع الانتقال (چابک) توسعه نرم افزار
How to Successfully Implement an Agile Project
IS&T Project Reviews September 9, 2004.
Deloitte Consulting LLP SCOOPS Session
CHAPTER 10 METHODOLOGIES FOR CUSTOM SOFTWARE DEVELOPMENT
Development Lifecycle
Adaptive Product Development Process Framework
WordPress Unit Web Coordinators
WordPress Unit Web Coordinators
Training 01: Project Lifecycle & Business Technology Analysis
WordPress Unit Web Coordinators
Joint Application Development (JAD)
[Insert Project Name] Work Breakdown Structure (WBS)
Executive Project Kickoff
Open Source Tool Based Automation solution with Continuous Integration and end to end BDD Implementation Arun Krishnan - Automation Manager Maria Afzal-
Presentation transcript:

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

Software dev process: traditional Enterprise Software:  release cycle is often 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

Software development process: Extreme Development I.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

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

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

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

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 Feb06March 06April 06

 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

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

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

Development Roles  Customer Product Management  Architect  User Interface  Dev manager/Developer  QA  Release  Documentation

Q&A