[Webinar] SpiraTest - Setting New Standards in Quality Assurance
Oss model, lifecycle & development
1. OSS Model, Lifecycle &
Development
PRESENTED BY
SHAFIUL AZAM CHOWDHURY
STUDENT, CSE, BUET
2. Contents
Open Source defined
Pros & Cons of Open Source Software (OOS)
OOS in developing countries
Open Source Project Lifecycle
A Proposed OOS Development Model
3. OOS Defined
refers to software whose licenses give users 4
essential freedoms:
to run the program for any purpose,
to study the workings of the program, and modify the program
to suit specific needs,
to redistribute copies of the program at no charge or for a fee,
and
to improve the program, and release the improved,
modified version.
OSS users do not pay royalties as no copyright
exists, in contrast to proprietary software.
4. “Traditional Software Development” – problems?
Prone to time and cost overruns
Largely unmaintainable
Questionable quality and reliability
Lack of user involvement: touted as
contributing to project failure
Shortfalls in skilled personnel: Team members
with insufficient technical expertise
price of license fees for software and tools required
75% of software projects fail in one or more
of these measures.
5. OOS: Pros
Collaborative, parallel development involving
source code sharing and reuse
constant feedback and peer review
Large pool of globally dispersed, highly talented,
motivated professionals: quality product
Users are viewed as co-developers
rapid release times
OSS can be tested without cost: no license fee
loosely centralized, cooperative community
6. User involvement in OOS
Users: valued assets, treated as co-developers
leads to code improvement and effective
debugging
users assist developers in finding system faults and
improvements:
reducing the need & cost for extra developers.
7. Motivation towards OOSD?
No payment, then reasons for participation in open
source ?
Projects range from
Challenge
improving skills, to altruism and fun
financial reward
8. OOS: Cons!
Absence of formal management structures: slow progress.
“large, semi-organized mob with a fuzzy vision”
Involving users closely can become problematic: tend to
create bureaucracies
Meritocratic, ego-driven community: possible feature creep
Programmer credibility > “keeping it simple”?
Rapid releases: more iterations than commercial software:
management problem
new release needs to be implemented
informal requirements analysis: problematic. What to include in newer
version?
„code-centric‟, targeted mainly at high-end power users. Less
attention on potential “non-technical” audience!
confusion surrounding licensing models
9. OOS for Developing Countries
Governments everywhere encourage the use of
OSS: motivated by savings in cost
Potential development of a local software industry
internationalization of software is a by-product.
Governments and organizations stops worrying
about piracy
Results in new business ventures
Poor user-interface: opens business opportunity!
Improvement in skill shortage in developing
countries.
13. Stages of Open Source PLC
Introduction: initial motivation for a project to
develop a software application
produce a working version of the software
sell the vision for the organization
Growth: more users become aware of its existence.
more feedback from the users regarding feature requests, bugs,
support requests, etc.
Administration gives more focus on quality and sufficiency.
14. Stages of Open Source PLC
Maturity: the project approaches critical mass.
number of users and developers grows to a maximum size
admins are involved in a significant amount of time enforcing
policies, evaluating others‟ code, and other non-development
functions
Increases levels of delegation to the community members
code becomes large enough to warrant multiple versions and releases
Decline (or Revival)
users find other solutions to their products, developers lose interest
revival of the project community in response to a new
release/environmental or market change/motivated developers
new growth or maturity stage
18. OOSD Model Phases
Initiation
Developed code/ initial version - used as a prototype for
further progress.
Review-contribution cycle
Independent peer review
Prompt feedback
pre-commit testing
Launched once code is considered adequate for release
Ensures new code does not break existing release
Faulty code hampers project reputation
19. OOSD Model Phases (contd‟)
Debugging-reincorporation cycle
within the community web space
No formal planned debugging: individuals volunteers
The more people that seek, find and remove bugs, the
better the quality of the software
Production release
take the form of a prototype that can be used in the initiation
phase of the next iteration of that project
20. References
ORGANIZATIONAL STRUCTURE OF OPEN
SOURCE PROJECTS: A LIFE CYCLE APPROACH
by Donald E. Wynn, Jr.
OPEN SOURCE: TOWARDS SUCCESSFUL
SYSTEMS DEVELOPMENT PROJECTS IN
DEVELOPING COUNTRIES by Rinette Roets,
MaryLou Minnaar & Kerry Wright
The Internet
Presentation prepared by: Shafiul Azam Chowdhury, Student
of Dept. of CSE, BUET