210 likes | 386 Views
Rapid-Fielding Software-System Development. Supannika Koolmanojwong koolmano@usc.edu USC CSSE Annual Research Review March 9, 2010. Outline. The Incremental Commitment Model & Rapid-fielding projects Process Pattern Decision Driver Preliminary Results. Motivation.
E N D
Rapid-FieldingSoftware-System Development Supannika Koolmanojwong koolmano@usc.edu USC CSSE Annual Research Review March 9, 2010
Outline • The Incremental Commitment Model & Rapid-fielding projects • Process Pattern Decision Driver • Preliminary Results USC CSSE ARR 2010
Motivation • Growing diversity of software systems • No one-size-fits-all process for the full range of software systems • Rapid Fielding is a very important Software System Objective • To fit into market windows, respond to competition • Several possible process patterns can be used • Some process models provide specific evidence-based and risk based decision points • ICM is the most thoroughly elaborated USC CSSE ARR 2010
NDI/NCS Growth Trends * USC e-services project data shows increase in number of projects using COTS from 28% in ‘97 to 70% in ’02 - Similar results (54% in 2000) were found in the Standish Group’s 2000 survey [Yang 2006]. USC e-services project data shows increase in number of projects using NCS from 19% in 2006 to 57% in 2009 • Programmableweb.com : • 3 new Mashups listed /day • Total 4436 Mashups listed • [Programmableweb.com • accessed 11/09/09] USC CSSE ARR 2010
4 focused ICM Common Process Patterns Market –Driven, Services- Driven, NDI-Driven USC CSSE ARR 2010
Different Risk Patterns Yield Different Processes Architected Agile E.g. Business data processing Use Single NDI E.g. Accounting System NDI-Intensive E.g. Supply Chain Management Services-Intensive E.g. Community Services USC CSSE ARR 2010
Definitions of NDI / NCS • NDI or Non-developmental Item is an item that is previously developed and available to use. It includes commercial-off-the shelf, open source product, reuse library and customer-furnished package. • Two main categories of NDI are • platform-based NDI such as Internet Explorer, Eclipse, MySQL, Apache Tomcat, JDK/JSP • application-based NDI such as Microsoft office, Quickbook, BusinessWorks, Barcode Generator, JMP and primopdf. • NCS or Net-Centric Services is an online service available to be accessed over the Internet such as Google services, Yahoo services, Google map, Twitter, Ning.com, Gmail, Facebook, Amazon payment, online currency converter and online dictionary. • Net-Centric Services is known as web service, web application, online application, cloud computing, and software-as-a-service. USC CSSE ARR 2010
NDI, NCS characteristics * Will you be able to freeze the version you are using? USC CSSE ARR 2010
Existing Process Guidelines on Process Patterns USC CSSE ARR 2010
Process Pattern Decision Driver Note: Decision importance scale varies from project to project Decision Criteria Rating Scale; 0:Very Low; 1:Low; 2: Medium; 3:High; 4:Very High Importance Rating Scale: 1:Low; 2: Medium; 3:High USC CSSE ARR 2010
An Example of a team that follows the Architected Agile Process Pattern :Shields For Family Project – Develop various reports for LA city-based Family Housing Project USC CSSE ARR 2010
An Example of a team that follows the Architected Agile Process Pattern Use single NDI Architected Agile NDI-Intensive Services -Intensive High importance level Low importance level Project Status USC CSSE ARR 2010
The Incremental Commitment Model – Electronic Process Guide (ICM EPG) Using IBM Rational Method Composer to build a software development process guideline mainly describing roles, responsibilities and artifacts. USC CSSE ARR 2010
Preliminary Results • 28% of projects are able to deliver in one semester, instead of two semesters comparing to 12.5% from previous year • Clients are highly satisfied with the project results • Less effort spent in project development USC CSSE ARR 2010
Process Adoption Statistics USC CSSE ARR 2010
Conclusion • For rapid-fielding software projects, this research focuses on developing and evaluating the effectiveness of process guidelines for 4 process patterns. • The approach is being used to validate and refine the content of the process patterns USC CSSE ARR 2010
Differences between NDI and NCS (1/2) USC CSSE ARR 2010
Differences between NDI and NCS (2/2) USC CSSE ARR 2010
An Example of a team that follows the “NDI- Intensive” Process Pattern : SPC website Project – Develop a website for an organization by using “wordpress” and some additional custom code USC CSSE ARR 2010
An Example of a team that follow the NDI-Intensive Process Pattern Architected Agile NDI - Intensive Use Single NDI Services - Intensive High importance level Low importance level Project Status USC CSSE ARR 2010