SlideShare a Scribd company logo
1 of 26
APPLICATION OF COLLABORATIVE
TECHNOLOGIES IN SOFTWARE
DEVELOPMENT
BY:
MEH NATHANIEL OBI
mehnathaniel@gmail.com
RESEARCH STUDENT AT UNIVERSITY OF CALABAR, NIGERIA.
CONTENTS
• General Introduction (Background of Study)
• Statement of Problem
• Aim of the Study
• Objectives of the Study
• Scope / Limitation of the Study
• Significance of the Study
• Literature Review
i. Collaborative Systems
ii. CSCW
iii. Groupware Development
• Methodology Used
• Why Collaboration
• Non-collaborative work
• Basic Workflow of The Application
• Attributes of the application
• Distributed Capabilities
• Expected Result
• Conclusion
GENERAL INTRODUCTION
The distribution of Software Engineering teams across multiple
locations especially in large software projects and the need to work
collectively requires special attention which is the premise upon
which these proposal seeks to address.
Software engineers must be able to communicate independently of
their location and communication devices, coordinating efforts and
creating a shared knowledge of the information and each other’s
work. Hence, the adoption of collaborative systems.
GENERAL INTRODUCTION CONTD.
We can’t run the modern world without software. National infrastructures and
utilities are controlled by computer-based systems. Industrial manufacturing
and distribution is completely computerized, as is the financial system.
Entertainment, including the music industry, computer games, and film and
television, is software intensive.
Therefore, software development is essential for the functioning of national
and international societies. Software systems are abstract. They are not
constrained by the properties of materials, governed by physical laws, or by
manufacturing processes. This simplifies software engineering, as there are no
natural limits to the potential of software.
GENERAL INTRODUCTION CONTD.
The increasing complexity of applications has necessitated the use of teams to
develop software because it is infeasible for individuals to develop large
software systems with appropriate expediency. The development of large
systems in an efficient and timely manner requires a team effort, and the more
complicated the problem, the larger the team needed to solve it, hence the need
for collaborative systems.
As humans, we have several limitations that affect our ability to create almost
any piece of software, we are slow and error-prone. To solve this problem, we
have to work in a group as a means to finish projects on time and within
budget, therefore collaboration is sacrosanct.
STATEMENT OF PROBLEM
The current operations of software engineers and software
development organizations today are inadequate due to lack of
collaboration facilities between members of staffs. Single users
applications employed are inaccurate and requires time, space
and extra cost before completing a single software development
project.
Some of the Problems plaguing software developers and
organizations that designs software’s includes:
1. Increased administrative overhead.
2. Internal pressure for increased effectiveness.
3. Desire by workers for more reward and less stress.
AIM OF THE STUDY
The aim of this research is to design and Integrate in a single
application environment a rationally chosen set of features,
capable of supporting collaborative activities between software
engineers, that will reduced administrative costs and lead to
improve collaboration.
OBJECTIVES OF THE STUDY
The work seeks to achieve the following objectives:
1. To design an architecture that will enable easy
collaboration with features capable of aiding the teamwork
of software developers.
2. To be able to establish communication between team
members separated by distance.
3. To enable instant collaboration, managing of multiple
revisions and tracking of changes within a project.
SCOPE / LIMITATIONS OF THE STUDY
This work will focus on research and development of
collaborative software in the area of software engineering.
The limitations will be:
1. Difficulty in gathering requirement
2. Design tradeoffs
3. Finding appropriate development platform to build the
proposed application.
SIGNIFICANCE OF THE STUDY
The proposed application would be useful for:
a) Minimizing the time and effort spent by software engineers on using
separate software products for having access to collaboration
features; being accessible anytime and anywhere.
b) Domain-specific expertise will be localized though geographically
distributed with the developed application.
c) The application will save costs and manpower in software
development while maximizing productivity.
d) Manage the interaction between developers better.
LITERATURE REVIEW
A brief history of software engineering with respect to collaborative software
development as well as reviewing relevant research work conducted by
researchers was carried out.
The notion of software engineering’ was first proposed in 1968 at a conference
held to discuss what was then called the ‘software crisis’ (Naur and Randell,
1969). It became clear that individual approaches to program development did
not scale up to large and complex software systems.
Throughout the 1970s and 1980s, a variety of new software engineering
techniques and methods were developed, such as structured programming,
information hiding and object-oriented development. Tools and standard
notations were developed and are now extensively used, one of such is
collaborative technologies.
COLLABORATIVE SYSTEMS
Collaborative Systems refers to software systems intended to support group
interaction and collaborative teamwork. A number of environments have been
developed that provide some of the basic elements of Collaborative
functionality. The review will be selective rather than exhaustive, since it is
intended primarily to representatively illustrate the kind of systems available.
Nunamaker (1999) establish that collaborative Systems are software systems
intended to support group interaction and collaborative teamwork. In the
same vain Swigger & Shin, (2000) noted that collaborative systems are
designed to enable geographically separated users to work together on a large
programming project
COLLABORATIVE SYSTEMS
Nosek (1998) research found that teams outperformed the individual
programmers, enjoyed the problem-solving process more, and had greater
confidence in their solutions. While learning to develop software, beginning
programmers often encounter difficulty understanding basic problem solving
concepts.
Finnegan & Mahony, (2006) affirm that, groups appear to be able to deal with
complex tasks more effectively than individuals simply because groups have a
larger range of skills and abilities.
Samarah (2006) Collaborative technologies make it possible for organizations
to quickly bring together remote workers into virtual teams to perform a
variety of tasks. It involves working with a team to create a product or service.
COMPUTER SUPPORTED COOPERATIVE WORK
Computer Supported Collaborative Work (CSCW) is a community of
behavioral researchers and system builders at the intersection of collaborative
behaviors and technology. The collaboration can involve a team, it can be
within or between organizations, or it can involve an online community that
spans the globe.
Olson and Olson (2012) along with the increase in capability, declining
technology prices enabled researchers to get ahead of the curve. Collaborators
have been developed to support large-scale multisite efforts, primarily in
scientific research, engineering, and education.
Greif and Cashman (1984) coined the term ‘CSCW’ at a workshop attended by
individuals interested in using technology to support people in their work.
CSCW is also referred to as ‘software for groups of people’. Rapid technology
change has been a driving force in this field.
GROUPWARE DEVELOPMENT
Groupware was first used in 1982 in a paper by Johnson-Lentz in
the context of computer-mediated communication (CMC) systems.
Defined by Ellis et al (2012), as “computer-based systems that
support groups of people engaged in a common task and that
provide an interface to a shared environment”
Groupware is a Technology that allow dynamic groups to interact
across time and space (Grudin, 1994). Typically, these groups are
small, project-oriented and have important tasks and tight
deadlines to deliver expected results.
ASPECT OF GROUPWARE
 Common task / goal
 Interface to a shared environment
 Technology systematically reduces interaction costs and extends
global reach
 In addition, because there are more than two users, additional
implications are:
Division of labor, explicit role assignment
Awareness of the other users who are interacting within the
shared environment (since they are often not Face to face)
METHODLOGY
Methodology in research is a framework that is used to structure, plan, and
control the process of developing an information system. This work will adopt
waterfall model, requirement will be gathered, design will be made both
architectural and graphical, the system will then be developed, test, evaluated
and deployed.
WHY WATERFALL?
It support extensive documentation
Its allow for change tracking
WHY COLLABORATION?
Sinha et al.(2006) Collaboration in Software Engineering is a requisite for
software engineers to coordinate their efforts and develop a shared
understanding of a project, over the entire development process. Software is a
Team Sport.
How should developers be working?
Collaboration - Working with others leads to more ideas and creativity
•Tracking Changes - Using revision control software, tracking changes to code
and keeping a log makes it easier to revert to older versions of the code, and
keep track of work
•Documentation - Creating documentation and putting comments in code
makes the code easier to understand and edit, and makes it easier to share
code with others
NON-COLLABORATIVE WORK
A Developer Works Alone :
Work Goes Unchecked By Others
If The Owner Leaves, Nobody Knows How The Software Works
There Are No Ideas Contributed By Others During Development
A developer doesn't log changes:
 Hard to revert to a previous version of the code
 Can't remember what they did last week
 Can't tell why a specific change was made
A developer doesn't create documentation:
 Hard for others to adopt code
 Hard for backup code owners to fix bugs and/or run code
 Hard to share code with others
BASIC WORKFLOW OF THE APPLICATION
• Edit Files
• Add them to be versioned (staging commits)
• Review changes
• Commit changes to the repository.
Edit
Stage/
Review
Commit Push
ATTRIBUTES OF THE APPLICATION
 Distributed Version Control System
 Directory Content Management System
 Active content tracker
 Tree history storage system
DISTRIBUTED CAPABILITIES
 Everything is done offline
 Everyone has the complete history
 No central authority
 Changes can be shared without a server
SHARING CHANGES
My Local
Repo
SIMON’s
Repo
DAVE’s
Repo
PRINCE’s
Repo
A B C
A B C A B C
A B C
EXPECTED RESULT
 Perform quickly and efficiently
 Facilitate distributed development
 Complete repositories
 Enforce accountability
 Scale to handle thousands of developers
CONCLUSION
This work seeks to advocate improved software
development and project management techniques,
including collaborative software development.
Who does this apply to?
•Universities
•Government
•Private sector
•Any software developer
CONCLUSION
Business models must adapt to survive in today’s business
environment. Openness fosters adaptability and flexibility. Letting
go of control and loosening the reins on the development
environment leads to greater innovation and business value.
Programming in the large must become programming in the VERY
large over internet protocols and standards
Fostering collaboration in projects can speed development and
ultimately, result in greater advances for the organizations. Even
for proprietary software. Commercial, open source and hybrid
software models all deliver distinct value to the marketplace. They
are leading to the emergence of new software business models such
as collaborative system.

More Related Content

What's hot

Crafting Infrastructures. Requirements, scenarios and evaluation in the SPICE...
Crafting Infrastructures. Requirements, scenarios and evaluation in the SPICE...Crafting Infrastructures. Requirements, scenarios and evaluation in the SPICE...
Crafting Infrastructures. Requirements, scenarios and evaluation in the SPICE...
Luca Galli
 
An Exploratory Study of Usability Practice from User-Centered Design View: M...
An Exploratory Study of Usability Practice from  User-Centered Design View: M...An Exploratory Study of Usability Practice from  User-Centered Design View: M...
An Exploratory Study of Usability Practice from User-Centered Design View: M...
Ruby Kuo
 
FISHBONE ANALYSIS ON WASTES IN SOFTWARE DEVELOPMENT USING THE LEAN I.T. PRINC...
FISHBONE ANALYSIS ON WASTES IN SOFTWARE DEVELOPMENT USING THE LEAN I.T. PRINC...FISHBONE ANALYSIS ON WASTES IN SOFTWARE DEVELOPMENT USING THE LEAN I.T. PRINC...
FISHBONE ANALYSIS ON WASTES IN SOFTWARE DEVELOPMENT USING THE LEAN I.T. PRINC...
ecij
 
STUDY ON TECHNICAL FOCUSES AND SAMPLING COVERAGE STRATEGY OF AIRBORNE SOFTWAR...
STUDY ON TECHNICAL FOCUSES AND SAMPLING COVERAGE STRATEGY OF AIRBORNE SOFTWAR...STUDY ON TECHNICAL FOCUSES AND SAMPLING COVERAGE STRATEGY OF AIRBORNE SOFTWAR...
STUDY ON TECHNICAL FOCUSES AND SAMPLING COVERAGE STRATEGY OF AIRBORNE SOFTWAR...
ijseajournal
 
Information Technology Project Management - part 05
Information Technology Project Management - part 05Information Technology Project Management - part 05
Information Technology Project Management - part 05
Rizwan Khurram
 
Information Technology Project Management - part 04
Information Technology Project Management - part 04Information Technology Project Management - part 04
Information Technology Project Management - part 04
Rizwan Khurram
 
Literature_Review_CA2_N00147768
Literature_Review_CA2_N00147768Literature_Review_CA2_N00147768
Literature_Review_CA2_N00147768
Stephen Norman
 
Information Technology Project Management - part 09
Information Technology Project Management - part 09Information Technology Project Management - part 09
Information Technology Project Management - part 09
Rizwan Khurram
 
Improving Application Development Effectiveness
Improving Application Development Effectiveness Improving Application Development Effectiveness
Improving Application Development Effectiveness
Computer Aid, Inc
 

What's hot (19)

Crafting Infrastructures. Requirements, scenarios and evaluation in the SPICE...
Crafting Infrastructures. Requirements, scenarios and evaluation in the SPICE...Crafting Infrastructures. Requirements, scenarios and evaluation in the SPICE...
Crafting Infrastructures. Requirements, scenarios and evaluation in the SPICE...
 
Asundi
AsundiAsundi
Asundi
 
An Exploratory Study of Usability Practice from User-Centered Design View: M...
An Exploratory Study of Usability Practice from  User-Centered Design View: M...An Exploratory Study of Usability Practice from  User-Centered Design View: M...
An Exploratory Study of Usability Practice from User-Centered Design View: M...
 
HYBRID PRACTICES IN GLOBAL SOFTWARE DEVELOPMENT: A SYSTEMATIC LITERATURE REVIEW
HYBRID PRACTICES IN GLOBAL SOFTWARE DEVELOPMENT: A SYSTEMATIC LITERATURE REVIEWHYBRID PRACTICES IN GLOBAL SOFTWARE DEVELOPMENT: A SYSTEMATIC LITERATURE REVIEW
HYBRID PRACTICES IN GLOBAL SOFTWARE DEVELOPMENT: A SYSTEMATIC LITERATURE REVIEW
 
Technology Integration Pattern For Distributed Scrum of Scrum
Technology Integration Pattern For Distributed Scrum of ScrumTechnology Integration Pattern For Distributed Scrum of Scrum
Technology Integration Pattern For Distributed Scrum of Scrum
 
Building Sustainable Software: An Introduction to Software Engineering
Building Sustainable Software: An Introduction to Software EngineeringBuilding Sustainable Software: An Introduction to Software Engineering
Building Sustainable Software: An Introduction to Software Engineering
 
FISHBONE ANALYSIS ON WASTES IN SOFTWARE DEVELOPMENT USING THE LEAN I.T. PRINC...
FISHBONE ANALYSIS ON WASTES IN SOFTWARE DEVELOPMENT USING THE LEAN I.T. PRINC...FISHBONE ANALYSIS ON WASTES IN SOFTWARE DEVELOPMENT USING THE LEAN I.T. PRINC...
FISHBONE ANALYSIS ON WASTES IN SOFTWARE DEVELOPMENT USING THE LEAN I.T. PRINC...
 
BEST PRACTICES FOR IMPROVING USER INTERFACE DESIGN
BEST PRACTICES FOR IMPROVING USER INTERFACE DESIGN BEST PRACTICES FOR IMPROVING USER INTERFACE DESIGN
BEST PRACTICES FOR IMPROVING USER INTERFACE DESIGN
 
FSE 2012 talk: finding mentors in software projects
FSE 2012 talk: finding mentors in software projectsFSE 2012 talk: finding mentors in software projects
FSE 2012 talk: finding mentors in software projects
 
Integrating agile software development and user-centered design
Integrating agile software development and user-centered designIntegrating agile software development and user-centered design
Integrating agile software development and user-centered design
 
STUDY ON TECHNICAL FOCUSES AND SAMPLING COVERAGE STRATEGY OF AIRBORNE SOFTWAR...
STUDY ON TECHNICAL FOCUSES AND SAMPLING COVERAGE STRATEGY OF AIRBORNE SOFTWAR...STUDY ON TECHNICAL FOCUSES AND SAMPLING COVERAGE STRATEGY OF AIRBORNE SOFTWAR...
STUDY ON TECHNICAL FOCUSES AND SAMPLING COVERAGE STRATEGY OF AIRBORNE SOFTWAR...
 
Onboarding in Open Source Software Projects: A Preliminary Analysis
Onboarding in Open Source Software Projects: A Preliminary AnalysisOnboarding in Open Source Software Projects: A Preliminary Analysis
Onboarding in Open Source Software Projects: A Preliminary Analysis
 
Information Technology Project Management - part 05
Information Technology Project Management - part 05Information Technology Project Management - part 05
Information Technology Project Management - part 05
 
Information Technology Project Management - part 04
Information Technology Project Management - part 04Information Technology Project Management - part 04
Information Technology Project Management - part 04
 
Literature_Review_CA2_N00147768
Literature_Review_CA2_N00147768Literature_Review_CA2_N00147768
Literature_Review_CA2_N00147768
 
Information Technology Project Management - part 09
Information Technology Project Management - part 09Information Technology Project Management - part 09
Information Technology Project Management - part 09
 
Agile Project Management Part 2 Final V1.5
Agile Project Management Part 2   Final V1.5Agile Project Management Part 2   Final V1.5
Agile Project Management Part 2 Final V1.5
 
UNDERSTANDING THE CHARACTERISTICS, BENEFITS AND CHALLENGES OF AGILE IT PROJEC...
UNDERSTANDING THE CHARACTERISTICS, BENEFITS AND CHALLENGES OF AGILE IT PROJEC...UNDERSTANDING THE CHARACTERISTICS, BENEFITS AND CHALLENGES OF AGILE IT PROJEC...
UNDERSTANDING THE CHARACTERISTICS, BENEFITS AND CHALLENGES OF AGILE IT PROJEC...
 
Improving Application Development Effectiveness
Improving Application Development Effectiveness Improving Application Development Effectiveness
Improving Application Development Effectiveness
 

Similar to Collaborative technologies

Adopting DevOps practices: an enhanced unified theory of acceptance and use o...
Adopting DevOps practices: an enhanced unified theory of acceptance and use o...Adopting DevOps practices: an enhanced unified theory of acceptance and use o...
Adopting DevOps practices: an enhanced unified theory of acceptance and use o...
IJECEIAES
 
Ludmila Orlova HOW USE OF AGILE METHODOLOGY IN SOFTWARE DEVELO.docx
Ludmila Orlova HOW USE OF AGILE METHODOLOGY IN SOFTWARE DEVELO.docxLudmila Orlova HOW USE OF AGILE METHODOLOGY IN SOFTWARE DEVELO.docx
Ludmila Orlova HOW USE OF AGILE METHODOLOGY IN SOFTWARE DEVELO.docx
smile790243
 
Effective Remote Design Thinking: A Basic Essential For Global Companies To D...
Effective Remote Design Thinking: A Basic Essential For Global Companies To D...Effective Remote Design Thinking: A Basic Essential For Global Companies To D...
Effective Remote Design Thinking: A Basic Essential For Global Companies To D...
Dr. Vidya Priya Rao, Founder
 
Improvement opportunity in agile methodology and a survey on the adoption rat...
Improvement opportunity in agile methodology and a survey on the adoption rat...Improvement opportunity in agile methodology and a survey on the adoption rat...
Improvement opportunity in agile methodology and a survey on the adoption rat...
Alexander Decker
 
Ko tse06-developers behaviour
Ko tse06-developers behaviourKo tse06-developers behaviour
Ko tse06-developers behaviour
PtidejPoly
 
A study of critical success factors for adaption of agile methodology
A study of critical success factors for adaption of agile methodologyA study of critical success factors for adaption of agile methodology
A study of critical success factors for adaption of agile methodology
IAEME Publication
 

Similar to Collaborative technologies (20)

Devops.pptx
Devops.pptxDevops.pptx
Devops.pptx
 
Adopting DevOps practices: an enhanced unified theory of acceptance and use o...
Adopting DevOps practices: an enhanced unified theory of acceptance and use o...Adopting DevOps practices: an enhanced unified theory of acceptance and use o...
Adopting DevOps practices: an enhanced unified theory of acceptance and use o...
 
4 mohammad naderuzzaman_finalpaper--35-40
4 mohammad naderuzzaman_finalpaper--35-404 mohammad naderuzzaman_finalpaper--35-40
4 mohammad naderuzzaman_finalpaper--35-40
 
International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)
 
Ludmila Orlova HOW USE OF AGILE METHODOLOGY IN SOFTWARE DEVELO.docx
Ludmila Orlova HOW USE OF AGILE METHODOLOGY IN SOFTWARE DEVELO.docxLudmila Orlova HOW USE OF AGILE METHODOLOGY IN SOFTWARE DEVELO.docx
Ludmila Orlova HOW USE OF AGILE METHODOLOGY IN SOFTWARE DEVELO.docx
 
A Web-Based Project Management System
A Web-Based Project Management SystemA Web-Based Project Management System
A Web-Based Project Management System
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
Effective Remote Design Thinking: A Basic Essential For Global Companies To D...
Effective Remote Design Thinking: A Basic Essential For Global Companies To D...Effective Remote Design Thinking: A Basic Essential For Global Companies To D...
Effective Remote Design Thinking: A Basic Essential For Global Companies To D...
 
Improvement opportunity in agile methodology and a survey on the adoption rat...
Improvement opportunity in agile methodology and a survey on the adoption rat...Improvement opportunity in agile methodology and a survey on the adoption rat...
Improvement opportunity in agile methodology and a survey on the adoption rat...
 
Ko tse06-developers behaviour
Ko tse06-developers behaviourKo tse06-developers behaviour
Ko tse06-developers behaviour
 
AGILE SOFTWARE ARCHITECTURE INGLOBAL SOFTWARE DEVELOPMENT ENVIRONMENT:SYSTEMA...
AGILE SOFTWARE ARCHITECTURE INGLOBAL SOFTWARE DEVELOPMENT ENVIRONMENT:SYSTEMA...AGILE SOFTWARE ARCHITECTURE INGLOBAL SOFTWARE DEVELOPMENT ENVIRONMENT:SYSTEMA...
AGILE SOFTWARE ARCHITECTURE INGLOBAL SOFTWARE DEVELOPMENT ENVIRONMENT:SYSTEMA...
 
50120130405029
5012013040502950120130405029
50120130405029
 
An Agile Software Development Framework
An Agile Software Development FrameworkAn Agile Software Development Framework
An Agile Software Development Framework
 
chapter-03-Agile view of process.ppt
chapter-03-Agile view of process.pptchapter-03-Agile view of process.ppt
chapter-03-Agile view of process.ppt
 
Exploiting semantics-in-collaborative-software-development-tasks
Exploiting semantics-in-collaborative-software-development-tasksExploiting semantics-in-collaborative-software-development-tasks
Exploiting semantics-in-collaborative-software-development-tasks
 
Project Scheduling
Project SchedulingProject Scheduling
Project Scheduling
 
Using Evolutionary Prototypes To Formalize Product Requirements
Using Evolutionary Prototypes To Formalize Product RequirementsUsing Evolutionary Prototypes To Formalize Product Requirements
Using Evolutionary Prototypes To Formalize Product Requirements
 
Programmer Productivity Enhancement Through Controlled Natural Language Input
Programmer Productivity Enhancement Through Controlled Natural Language InputProgrammer Productivity Enhancement Through Controlled Natural Language Input
Programmer Productivity Enhancement Through Controlled Natural Language Input
 
Interact2011 - Designing Inter-usable Systems
Interact2011 - Designing Inter-usable SystemsInteract2011 - Designing Inter-usable Systems
Interact2011 - Designing Inter-usable Systems
 
A study of critical success factors for adaption of agile methodology
A study of critical success factors for adaption of agile methodologyA study of critical success factors for adaption of agile methodology
A study of critical success factors for adaption of agile methodology
 

Recently uploaded

Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 

Recently uploaded (20)

WSO2CON2024 - Why Should You Consider Ballerina for Your Next Integration
WSO2CON2024 - Why Should You Consider Ballerina for Your Next IntegrationWSO2CON2024 - Why Should You Consider Ballerina for Your Next Integration
WSO2CON2024 - Why Should You Consider Ballerina for Your Next Integration
 
WSO2Con2024 - Hello Choreo Presentation - Kanchana
WSO2Con2024 - Hello Choreo Presentation - KanchanaWSO2Con2024 - Hello Choreo Presentation - Kanchana
WSO2Con2024 - Hello Choreo Presentation - Kanchana
 
WSO2Con2024 - Low-Code Integration Tooling
WSO2Con2024 - Low-Code Integration ToolingWSO2Con2024 - Low-Code Integration Tooling
WSO2Con2024 - Low-Code Integration Tooling
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security Program
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...
WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...
WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...
 
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
 
WSO2CON 2024 - Building a Digital Government in Uganda
WSO2CON 2024 - Building a Digital Government in UgandaWSO2CON 2024 - Building a Digital Government in Uganda
WSO2CON 2024 - Building a Digital Government in Uganda
 
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
 
WSO2CON 2024 - Architecting AI in the Enterprise: APIs and Applications
WSO2CON 2024 - Architecting AI in the Enterprise: APIs and ApplicationsWSO2CON 2024 - Architecting AI in the Enterprise: APIs and Applications
WSO2CON 2024 - Architecting AI in the Enterprise: APIs and Applications
 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaS
 
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of TransformationWSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 
WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...
WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...
WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 

Collaborative technologies

  • 1. APPLICATION OF COLLABORATIVE TECHNOLOGIES IN SOFTWARE DEVELOPMENT BY: MEH NATHANIEL OBI mehnathaniel@gmail.com RESEARCH STUDENT AT UNIVERSITY OF CALABAR, NIGERIA.
  • 2. CONTENTS • General Introduction (Background of Study) • Statement of Problem • Aim of the Study • Objectives of the Study • Scope / Limitation of the Study • Significance of the Study • Literature Review i. Collaborative Systems ii. CSCW iii. Groupware Development • Methodology Used • Why Collaboration • Non-collaborative work • Basic Workflow of The Application • Attributes of the application • Distributed Capabilities • Expected Result • Conclusion
  • 3. GENERAL INTRODUCTION The distribution of Software Engineering teams across multiple locations especially in large software projects and the need to work collectively requires special attention which is the premise upon which these proposal seeks to address. Software engineers must be able to communicate independently of their location and communication devices, coordinating efforts and creating a shared knowledge of the information and each other’s work. Hence, the adoption of collaborative systems.
  • 4. GENERAL INTRODUCTION CONTD. We can’t run the modern world without software. National infrastructures and utilities are controlled by computer-based systems. Industrial manufacturing and distribution is completely computerized, as is the financial system. Entertainment, including the music industry, computer games, and film and television, is software intensive. Therefore, software development is essential for the functioning of national and international societies. Software systems are abstract. They are not constrained by the properties of materials, governed by physical laws, or by manufacturing processes. This simplifies software engineering, as there are no natural limits to the potential of software.
  • 5. GENERAL INTRODUCTION CONTD. The increasing complexity of applications has necessitated the use of teams to develop software because it is infeasible for individuals to develop large software systems with appropriate expediency. The development of large systems in an efficient and timely manner requires a team effort, and the more complicated the problem, the larger the team needed to solve it, hence the need for collaborative systems. As humans, we have several limitations that affect our ability to create almost any piece of software, we are slow and error-prone. To solve this problem, we have to work in a group as a means to finish projects on time and within budget, therefore collaboration is sacrosanct.
  • 6. STATEMENT OF PROBLEM The current operations of software engineers and software development organizations today are inadequate due to lack of collaboration facilities between members of staffs. Single users applications employed are inaccurate and requires time, space and extra cost before completing a single software development project. Some of the Problems plaguing software developers and organizations that designs software’s includes: 1. Increased administrative overhead. 2. Internal pressure for increased effectiveness. 3. Desire by workers for more reward and less stress.
  • 7. AIM OF THE STUDY The aim of this research is to design and Integrate in a single application environment a rationally chosen set of features, capable of supporting collaborative activities between software engineers, that will reduced administrative costs and lead to improve collaboration.
  • 8. OBJECTIVES OF THE STUDY The work seeks to achieve the following objectives: 1. To design an architecture that will enable easy collaboration with features capable of aiding the teamwork of software developers. 2. To be able to establish communication between team members separated by distance. 3. To enable instant collaboration, managing of multiple revisions and tracking of changes within a project.
  • 9. SCOPE / LIMITATIONS OF THE STUDY This work will focus on research and development of collaborative software in the area of software engineering. The limitations will be: 1. Difficulty in gathering requirement 2. Design tradeoffs 3. Finding appropriate development platform to build the proposed application.
  • 10. SIGNIFICANCE OF THE STUDY The proposed application would be useful for: a) Minimizing the time and effort spent by software engineers on using separate software products for having access to collaboration features; being accessible anytime and anywhere. b) Domain-specific expertise will be localized though geographically distributed with the developed application. c) The application will save costs and manpower in software development while maximizing productivity. d) Manage the interaction between developers better.
  • 11. LITERATURE REVIEW A brief history of software engineering with respect to collaborative software development as well as reviewing relevant research work conducted by researchers was carried out. The notion of software engineering’ was first proposed in 1968 at a conference held to discuss what was then called the ‘software crisis’ (Naur and Randell, 1969). It became clear that individual approaches to program development did not scale up to large and complex software systems. Throughout the 1970s and 1980s, a variety of new software engineering techniques and methods were developed, such as structured programming, information hiding and object-oriented development. Tools and standard notations were developed and are now extensively used, one of such is collaborative technologies.
  • 12. COLLABORATIVE SYSTEMS Collaborative Systems refers to software systems intended to support group interaction and collaborative teamwork. A number of environments have been developed that provide some of the basic elements of Collaborative functionality. The review will be selective rather than exhaustive, since it is intended primarily to representatively illustrate the kind of systems available. Nunamaker (1999) establish that collaborative Systems are software systems intended to support group interaction and collaborative teamwork. In the same vain Swigger & Shin, (2000) noted that collaborative systems are designed to enable geographically separated users to work together on a large programming project
  • 13. COLLABORATIVE SYSTEMS Nosek (1998) research found that teams outperformed the individual programmers, enjoyed the problem-solving process more, and had greater confidence in their solutions. While learning to develop software, beginning programmers often encounter difficulty understanding basic problem solving concepts. Finnegan & Mahony, (2006) affirm that, groups appear to be able to deal with complex tasks more effectively than individuals simply because groups have a larger range of skills and abilities. Samarah (2006) Collaborative technologies make it possible for organizations to quickly bring together remote workers into virtual teams to perform a variety of tasks. It involves working with a team to create a product or service.
  • 14. COMPUTER SUPPORTED COOPERATIVE WORK Computer Supported Collaborative Work (CSCW) is a community of behavioral researchers and system builders at the intersection of collaborative behaviors and technology. The collaboration can involve a team, it can be within or between organizations, or it can involve an online community that spans the globe. Olson and Olson (2012) along with the increase in capability, declining technology prices enabled researchers to get ahead of the curve. Collaborators have been developed to support large-scale multisite efforts, primarily in scientific research, engineering, and education. Greif and Cashman (1984) coined the term ‘CSCW’ at a workshop attended by individuals interested in using technology to support people in their work. CSCW is also referred to as ‘software for groups of people’. Rapid technology change has been a driving force in this field.
  • 15. GROUPWARE DEVELOPMENT Groupware was first used in 1982 in a paper by Johnson-Lentz in the context of computer-mediated communication (CMC) systems. Defined by Ellis et al (2012), as “computer-based systems that support groups of people engaged in a common task and that provide an interface to a shared environment” Groupware is a Technology that allow dynamic groups to interact across time and space (Grudin, 1994). Typically, these groups are small, project-oriented and have important tasks and tight deadlines to deliver expected results.
  • 16. ASPECT OF GROUPWARE  Common task / goal  Interface to a shared environment  Technology systematically reduces interaction costs and extends global reach  In addition, because there are more than two users, additional implications are: Division of labor, explicit role assignment Awareness of the other users who are interacting within the shared environment (since they are often not Face to face)
  • 17. METHODLOGY Methodology in research is a framework that is used to structure, plan, and control the process of developing an information system. This work will adopt waterfall model, requirement will be gathered, design will be made both architectural and graphical, the system will then be developed, test, evaluated and deployed. WHY WATERFALL? It support extensive documentation Its allow for change tracking
  • 18. WHY COLLABORATION? Sinha et al.(2006) Collaboration in Software Engineering is a requisite for software engineers to coordinate their efforts and develop a shared understanding of a project, over the entire development process. Software is a Team Sport. How should developers be working? Collaboration - Working with others leads to more ideas and creativity •Tracking Changes - Using revision control software, tracking changes to code and keeping a log makes it easier to revert to older versions of the code, and keep track of work •Documentation - Creating documentation and putting comments in code makes the code easier to understand and edit, and makes it easier to share code with others
  • 19. NON-COLLABORATIVE WORK A Developer Works Alone : Work Goes Unchecked By Others If The Owner Leaves, Nobody Knows How The Software Works There Are No Ideas Contributed By Others During Development A developer doesn't log changes:  Hard to revert to a previous version of the code  Can't remember what they did last week  Can't tell why a specific change was made A developer doesn't create documentation:  Hard for others to adopt code  Hard for backup code owners to fix bugs and/or run code  Hard to share code with others
  • 20. BASIC WORKFLOW OF THE APPLICATION • Edit Files • Add them to be versioned (staging commits) • Review changes • Commit changes to the repository. Edit Stage/ Review Commit Push
  • 21. ATTRIBUTES OF THE APPLICATION  Distributed Version Control System  Directory Content Management System  Active content tracker  Tree history storage system
  • 22. DISTRIBUTED CAPABILITIES  Everything is done offline  Everyone has the complete history  No central authority  Changes can be shared without a server
  • 24. EXPECTED RESULT  Perform quickly and efficiently  Facilitate distributed development  Complete repositories  Enforce accountability  Scale to handle thousands of developers
  • 25. CONCLUSION This work seeks to advocate improved software development and project management techniques, including collaborative software development. Who does this apply to? •Universities •Government •Private sector •Any software developer
  • 26. CONCLUSION Business models must adapt to survive in today’s business environment. Openness fosters adaptability and flexibility. Letting go of control and loosening the reins on the development environment leads to greater innovation and business value. Programming in the large must become programming in the VERY large over internet protocols and standards Fostering collaboration in projects can speed development and ultimately, result in greater advances for the organizations. Even for proprietary software. Commercial, open source and hybrid software models all deliver distinct value to the marketplace. They are leading to the emergence of new software business models such as collaborative system.

Editor's Notes

  1. Git is a distributed version control system.
  2. Given Git’s nature you can even share changes in a peer-to –peer nature. This does not happen often but Git does enable this ability. If your server is offline for some reason your team can still work.
  3. Since everyone on the team has a complete copy of the repository you can do things like this. But no one wants to keep track of changes this way.
  4. Given Git’s nature you can even share changes in a peer-to –peer nature. This does not happen often but Git does enable this ability. If your server is offline for some reason your team can still work.
  5. Given Git’s nature you can even share changes in a peer-to –peer nature. This does not happen often but Git does enable this ability. If your server is offline for some reason your team can still work.
  6. Given Git’s nature you can even share changes in a peer-to –peer nature. This does not happen often but Git does enable this ability. If your server is offline for some reason your team can still work.