Towards Understanding the Use of Wiki in Agile Software Development

67 downloads 184 Views 174KB Size Report
May 15, 2014 - Department of Computer Science and Software Engineering. Concordia University. Montreal, Canada. The Seventh International Workshop on.
Towards Understanding the Use of Wiki in Agile Software Development Pankaj Kamthan Department of Computer Science and Software Engineering Concordia University Montreal, Canada The Seventh International Workshop on Information Technology for Innovative Services (ITIS 2014) Victoria, Canada May 15, 2014

Agenda • Evolution of Software Ecosystem • Characteristics of Agility and Wiki • Agility — Knowledge Management — Wiki Connection o Conceptual Models o Example

• Future Work

2

Perennial Question

How do you develop software for the 21st century?

3

Software Ecosystem • Elements of a Software Ecosystem o o o o o o

Application Domain Stakeholders Information Technology Organization Market Government

Need Equilibrium to Succeed

• Software Ecosystem Evolves

4

Evolution of Software Ecosystem Software Ecosystem: 1970s • • • • • • • •

Special Application Domains Targeted Software Highly-Technical Users Collocated Development Very Limited Access to Internet Mainframe Computers Rudimentary Editors Textual Interfaces

Software Ecosystem: 2000s • • • • • • • •

General Application Domains COTS Software/OSS Diverse Users Distributed Development Ascent of the Social Web Influx of Mobile Devices Advanced Documentation Systems Multimodal Interfaces

Characteristics of Agility • Software Development for the 2000s • Philosophized by the Agile Manifesto • Levels Playing Field for SMEs • Low on Bureaucracy • Relies Heavily on People • Adaptive • Realized by Agile Methodologies o

Extreme Programming, Scrum, …, Hybrid

6

From Process to Product and Tools • Good Processes lead to Good Products o Commonsensical, Experiential, Belief o Not a Mathematical Theorem!

• Good Processes need Tools o Software Development requires Other Software (Tools) o Agile Processes need Tools  Should Not Contradict Agile Manifesto

7

Characteristics of Wiki • Wiki is a Kind of Web Application • Wiki uses a Wiki System o Installed Locally or Remotely (Hosting Service)

• Known Wiki Systems

• Known Wikis

8

Uses of Wiki for Agile Software Development • • • • • • • • • •

Communicating Collaborating Brainstorming Documenting Organizing (Classifying) Reviewing Versioning Hyperlinking Archiving and Retrieving Disseminating and Publishing

Software Engineering is Social Engineering

9

Agile Software Development and Wiki • Structural Model o Wiki-Perspective

10

Knowledge in Agile Software Development • Data ≠ Information ≠ Knowledge • Creation/Communication/Consumption (Software) Development

of

Knowledge

in

Every

• Multiple Classifications of Knowledge o Tacit/Implicit/Explicit o Essential/Ephemeral

• Knowledge Management is Important o People Forget o People Move o Reuse 11

An Agile Knowledge Management Life Cycle • Behavioral Model o Wiki-Enabled Stages o Transitions between Stages

12

Agile Knowledge Dissemination/Sharing and Wiki: Example • A Collection of Agile Project Artifacts o Interrelated o Residing on ≥ 1 Wiki

13

Putting Things in Perspective • No Panacea o Agility is Not for Every Software Project  Safety-Critical Systems  Examples of Challenged/Failed Agile Projects Exist

o Wiki is Not for Every Agile Project  May Need Training/Scaffolding for Proper Use  Reports on Usability Challenges

14

Future Work • Conduct Empirical Studies o Academia o Industry

• Connect (Mobile) Social Networks and Wiki o Investigate the Extent of Stakeholder Participation in Wiki and Contribution to Knowledge in Agile Project

• Examine Potential of Semantic Wiki

15

Conclusion: (One) Answer • Know your (Software Development) History o Learn from Successes and Failures o (Software Development) Methodologies should Change with Changes in (Software) Ecosystem  Not Fundamentally about Agility or Wiki

• Preserve Organizational Memory o Loss of Knowledge may be Irreversible

• Understand your Users o Users are Heterogeneous o Ignore Users; Users Ignore You! 16

Suggest Documents