+ All Categories
Home > Documents > Building the Community of Leading Software Practitioners ...€¦ · Presence Protocol...

Building the Community of Leading Software Practitioners ...€¦ · Presence Protocol...

Date post: 13-Jun-2020
Category:
Upload: others
View: 2 times
Download: 0 times
Share this document with a friend
8
www.computer.org/software Interoperability Interoperability Software Patterns Test-Driven Development Reliability Test-Driven Development Software Patterns Software Patterns Engineering Engineering Requirements Design Design Software Patterns Software Patterns Coding Software Patterns Development Development Development Development Development Development Industry Standards Industry Standards Industry Standards Industry Standards Programming Interoperability Software Patterns Test-Driven Development Test-Driven Development Test-Driven Development Software Patterns Requirements Design Software Patterns Holistics Development Industry Standards Industry Standards Interoperability Software Patterns Open Source Test-Driven Development Test-Driven Development Requirements Design Education Development Industry Standards Interoperability Software Patterns Test-Driven Development Test-Driven Development Test-Driven Development Software Patterns Traininig Coding Software Patterns Software Patterns Software Patterns Software Patterns Development Development Development Development Development Industry Standards Agile Building the Community of Leading Software Practitioners Practitioner Tools Industry Standards Industry Standards Development Development Industry Standards Industry Standards Industry Standards Requirements Requirements Assessment Assessment Requirements Requirements Requirements Requirements Requirements Requirements Requirements Requirements Requirements Open Source Requirements Open Source Open Source Requirements Requirements Requirements Requirements Requirements Requirements Requirements Data Usability Software IEEE WWW.COMPUTER.ORG/SOFTWARE From Minecraft to Minds // 11 Landing a Spacecraft on Mars // 83 Design Patterns: Magic or Myth? // 87 MARCH/APRIL 2013 Group Awareness in Global Software Engineering Filippo Lanubile, Fabio Calefato, and Christof Ebert from the special issue on the Twin Peaks of Requirements and Architecture Vol. 30, No. 2 March/April 2013
Transcript
Page 1: Building the Community of Leading Software Practitioners ...€¦ · Presence Protocol (XMPP)/Jabber pro-tocol. However, Assembla doesn’t sup-port social awareness. Jazz IBM Rational

www.computer.org/software

Interoperability

InteroperabilitySoftware Patterns

Test-Driven DevelopmentReliabilityTest-Driven Development

Software Patterns

Software PatternsSoftware Patterns

Software Patterns

Software Patterns

Engineering

EngineeringEngineeringEngineeringEngineeringEngineeringEngineering

Engineering

Engineering

RequirementsDesign

Design

RequirementsSoftware PatternsSoftware Patterns

CodingSoftware Patterns

Software PatternsSoftware Patterns

Software Patterns

Development

DevelopmentDevelopmentDevelopment

DevelopmentDevelopmentDevelopmentDevelopmentDevelopmentDevelopmentArchitecture

Industry StandardsIndustry StandardsIndustry StandardsIndustry Standards

Agile

Programming

InteroperabilitySoftware Patterns

Test-Driven DevelopmentTest-Driven DevelopmentTest-Driven DevelopmentSoftware Patterns

Software Patterns

Software Patterns

Software PatternsEngineeringEngineeringEngineeringEngineeringEngineeringEngineering

Engineering

RequirementsDesign

RequirementsSoftware PatternsSoftware Patterns

HolisticsSoftware Patterns

Software PatternsSoftware PatternsDevelopment

DevelopmentDevelopmentDevelopment

DevelopmentDevelopmentDevelopmentDevelopmentArchitecture

Industry StandardsIndustry Standards

Industry StandardsAgile

InteroperabilitySoftware Patterns

Open SourceTest-Driven DevelopmentTest-Driven DevelopmentSoftware Patterns

Software PatternsSoftware PatternsEngineeringEngineeringEngineeringEngineeringEngineeringEngineering

RequirementsDesign

EducationSoftware Patterns

Software PatternsSoftware PatternsDevelopment

DevelopmentDevelopmentDevelopment

DevelopmentArchitecture

Industry StandardsAgile

InteroperabilitySoftware Patterns

Test-Driven Development

Test-Driven DevelopmentTest-Driven DevelopmentSoftware PatternsSoftware Patterns

Software Patterns

Software PatternsEngineeringEngineeringEngineeringEngineeringEngineeringEngineering

Engineering

TraininigCoding

RequirementsSoftware PatternsSoftware PatternsSoftware PatternsSoftware Patterns

Software PatternsSoftware PatternsDevelopment

DevelopmentDevelopment

Development

DevelopmentDevelopmentDevelopmentDevelopmentArchitecture

Industry Standards

Industry StandardsIndustry Standards

Agile

Building the Community of Leading Software Practitioners

Practitioner Tools

Industry StandardsIndustry StandardsDevelopmentDevelopment

Industry StandardsIndustry StandardsIndustry StandardsIndustry Standards

Requirements

Requirements

RequirementsRequirements

Requirements

Assessment

Assessment

AssessmentAssessment

Requirements

Requirements

RequirementsRequirementsRequirementsRequirements

Requirements RequirementsRequirements

Open Source

Requirements

Open Source

Open Source

RequirementsRequirementsRequirements

RequirementsRequirements

RequirementsRequirements

www.computer.org/software

Data

Usability

Technologies to Support Collaboration across Time ZonesRafael Prikladnicki, Sabrina Marczak, Erran Carmel, and Christof Ebert

from the special issue on Software Engineering for Compliance

Vol. 29, No. 3May/June 2012

Disbanding the “Process Police” // 3

Managing Privacy-Enhancing Technologies // 45

WWW.COMPUTER.ORG/SOFTWAREMAY/JUNE 2012

SoftwareIEEE

www.computer.org/software

from minecraft to minds // 11

Landing a spacecraft on mars // 83

Design patterns: magic or myth? // 87

marcH/aprIL 2013 Group Awareness in Global Software Engineering Filippo Lanubile, Fabio Calefato, and Christof Ebert

from the special issue on the Twin Peaks of Requirements and Architecture

Vol. 30, No. 2March/April 2013

Page 2: Building the Community of Leading Software Practitioners ...€¦ · Presence Protocol (XMPP)/Jabber pro-tocol. However, Assembla doesn’t sup-port social awareness. Jazz IBM Rational

18 IEEE SoftwarE | publIShEd by thE IEEE computEr SocIEt y 074 0 -74 5 9 /13 / $ 31. 0 0 © 2 013 I E E E

Editor: Christof EbertVector Consulting Services [email protected]

Software technology

Group Awareness in Global Software EngineeringFilippo Lanubile, Fabio Calefato, and Christof Ebert

Insufficient team collaboration often challenges global software engineering projects. Group awareness can improve teams’ trust, relationships, and efficiency. In this column, Filippo Lanubile, Fabio Calefato, and I survey the key technologies and tools that support group awareness and collaboration. The insights on technologies derive from discussions and presentations at related conferences, including the IEEE-sponsored International Conference on Global Software Engineering (ICGSE). I look forward to hearing from both readers and prospective column authors about this column and the technologies you want to know more about. —Christof Ebert

BoB and alice are working in a distributed team that is develop-ing a mobile app. Whereas Bob likes to frequently check his code changes and thus ensure growing functional-ity, Alice tries to see the bigger pic-ture of usability and wants to first implement a consistent handling of all functions. In working with Bob, she’s frustrated that he seemingly doesn’t care about the overall performance—Bob doesn’t reply to comments she inserts. Bob, on the other hand, sees no progress on her side and perceives the flood of comments without con-crete change proposals as slowing

down their team’s agile style. What’s going on? Both have a different work-ing style and neither adjusts to the other. They’re unaware of each other’s strengths, behaviors, and communica-tion needs. Worse, they’re unaware of the growing tensions, thus endanger-ing the project, although both are in-dividually trying to make it a success.

Group awareness has received con-siderable attention lately in distrib-uted projects and global software en-gineering (GSE). From our research with GSE, we found that more than half of all distributed projects fail, most often owing to insufficient com-

munication and trust.1 Awareness is necessary to coordinate group activi-ties and ensure that individual con-tributions are relevant to the whole group. Paul Dourish and Victoria Bel-lotti described group awareness as “an understanding of the activities of others, which provides a context for your own activity.”2 There are four types of group awareness:3

• informal awareness, also called presence awareness, provides infor-mation about who is around and their availability through IM and VoIP tools;

Page 3: Building the Community of Leading Software Practitioners ...€¦ · Presence Protocol (XMPP)/Jabber pro-tocol. However, Assembla doesn’t sup-port social awareness. Jazz IBM Rational

march/aprIl 2013 | IEEE SoftwarE 19

Software technology

• group-structural awareness pro-vides knowledge about team mem-bers’ roles and teams’ internal structures;

• workspace awareness provides in-formation about team members’ interactions with shared artifacts within a workspace; and

• social awareness refers to the in-formation that team members maintain about others in a con-versational context and the under-standing that they have about social connections within a group.

Obviously, no technology can mi-raculously overcome culture challenges and poor management. However, a bet-ter awareness of what’s going on in the group and better use of available tech-nologies can help managers and their teams mitigate challenges with distrib-uted projects.

Group awareness Support in application life-cycle Management PlatformsApplication Life-cycle Management (ALM) is a continuous process of man-aging an application’s life cycle through platforms that provide a project work-space with an integrated tool set en-compassing all software development activities including requirements man-agement, design, coding, testing, track-ing, and release management.1

Table 1 summarizes how the most popular ALM platforms support the four types of group awareness. All the listed platforms are native Web appli-cations (except IBM Jazz and Micro-soft Team Foundation Server, although these also come with rich desktop inte-grated development environments).

TracTrac is an ALM platform that takes a minimalistic approach to project life-cycle management. It combines an in-tegrated wiki, an issue tracking system,

and a front-end interface to a Subver-sion source code management system, with plug-ins providing other features. Through email messages and RSS feeds, group-awareness features sup-port workspace awareness by provid-ing notifications of project events and changes. Regarding group-structural awareness, in line with its minimalis-tic approach philosophy, Trac only al-lows project administrators to manage developers’ privileges to view, create, modify, and delete artifacts. To our knowledge, no plug-ins are currently available for adding either informal or social awareness to the environment. (For more on social awareness support, see the “SocialTFS” sidebar.)

Google CodeGoogle Code offers a project-hosting service similar to Trac. However, un-like Trac, Google Code is a hosted service and as such can’t be extended through plug-ins. It supports both workspace awareness, by email and RSS notifications, and group-structural awareness, by managing permissions to edit artifacts. Google Code doesn’t sup-port social or informal awareness.

AssemblaAssembla is a Web-based ALM plat-form that hosts both open source and commercial software. Assembla im-proves on other Web-based environ-ments in a few notable aspects. First, with respect to group-structural awareness, Assembla supports teams adopting agile development processes for running Scrum meetings. In addi-tion, it provides a more sophisticated team-management feature, which lets project managers define teams and roles. Second, as for workspace aware-ness, notifications of changes within a workspace are available via Twitter, in addition to email and RSS feeds. Third, Assembla supports synchronous communication via instant messag-ing over the Extensible Messaging and Presence Protocol (XMPP)/Jabber pro-tocol. However, Assembla doesn’t sup-port social awareness.

JazzIBM Rational developed Jazz as an extensible platform that’s part of a development suite of tools called Col-laborative ALM. Jazz has two clients: one is a Web application for project

SocialTFSApplication Life-cycle Management (ALM) platforms either lack social awareness support altogether or, in the case of Jazz and GitHub, provide support that isn’t as adequate as that for the other forms of group awareness. To fill this gap, Microsoft Research Software Engineering has recently funded the development of a commu-nity add-on for Visual Studio called SocialTFS (Team Foundation Server), under the Microsoft Innovation Foundation Award. SocialTFS aggregates teammates’ content from popular social networks, such as Facebook, LinkedIn, and Twitter, into the developer’s workspace. It doesn’t require any explicit following action because fol-lowings are automatically added and removed, depending on what work items and artifacts are under change.1

Reference 1. F. Calefato and F. Lanubile, “Augmenting Social Awareness in a Collaborative Development Environ-

ment,” 5th Int’l Workshop Cooperative and Human Aspects of Software Eng. (CHASE 12), IEEE, 2012, pp. 12–14.

Page 4: Building the Community of Leading Software Practitioners ...€¦ · Presence Protocol (XMPP)/Jabber pro-tocol. However, Assembla doesn’t sup-port social awareness. Jazz IBM Rational

20 IEEE SoftwarE | www.computEr.org/SoftwarE

Software technology

management tasks and the other is a full-featured desktop application called Rational Team Concert (RTC) that’s built on the Eclipse Rich Client Platform (RCP) and oriented to devel-opers. As for group-awareness sup-

port, Jazz provides workspace aware-ness through email notification and an RSS reader natively built in RTC. In addition, Jazz provides the most com-plete process- and team-management features to support group-structural

awareness among the reviewed envi-ronments. It also supports informal awareness by integrating with Lotus Sametime, Google Talk, and Skype instant-messaging networks. Finally, Jazz provides partial support of so-

tab

le

1 Group awareness in Application Life-cycle Management platforms.

Informal awareness

Group-structural awareness

Workspace awareness

Social awareness

TracURL: http://trac.edgewall.orgLicense: BSD (open source)Service: ownedClient: WebPluggable: server-side

Yes Yes (email, RSS)

Google CodeURL: http://code.google.comLicense: free to useService: hostedClient: WebPluggable: no

Yes Yes (email, RSS)

AssemblaURL: www.assembla.comLicense: commercialService: hostedClient: WebPluggable: no

Yes (XMPP) Yes Yes (email, RSS, Twitter)

JazzURL: http://jazz.net/projects/rational-team-concertLicense: commercial (free ≤ 10 members)Service: ownedClient: Web, Rational Team ConcertPluggable: client-side, server-side

Yes (XMPP, Skype)

Yes Yes (email, RSS) Partial (IBM Connections)

TFSURL: http://microsoft.com/visualstudio/almLicense: commercial (free ≤ 5 members)Service: ownedClient: Web, Visual StudioPluggable: client-side

Yes (SIP/SIM-PLE, Skype)

Yes Yes (email, RSS)

CodePlexURL: www.codeplex.comLicense: free to useService: hostedClient: Web, Visual StudioPluggable: no

Yes Yes (email, RSS)

GitHubURL: http://gituhub.comLicense: free to useService: hostedClient: WebPluggable: no

Yes Yes (email, RSS) Partial (@mentions)

Page 5: Building the Community of Leading Software Practitioners ...€¦ · Presence Protocol (XMPP)/Jabber pro-tocol. However, Assembla doesn’t sup-port social awareness. Jazz IBM Rational

march/aprIl 2013 | IEEE SoftwarE 21

Software technology

cial awareness, thanks to its integra-tion with the IBM Connections suite, because it creates a project commu-nity to which all project members are added as soon as they join the project. However, there’s a risk of information overload because the team members’ activity streams can’t be limited to the awareness network—that is, the set of colleagues whose actions one moni-tors and to whom one’s actions are displayed.4 This awareness network is highly dynamic because the set of col-leagues continually changes over time depending on task assignments or software development phases.

Team Foundation ServerTeam Foundation Server (TFS) is Mi-crosoft’s ALM platform. Its character-istics and features are similar to those of IBM Jazz; in fact, they both come with a lightweight Web client for man-agement tasks and a rich client desktop for more development-oriented tasks. This desktop is called Team Explorer and is an extension of the Visual Studio integrated development environment. TFS provides support levels similar to Jazz with respect to group-structural and workspace awareness. It also sup-ports informal awareness, thanks to a couple of community-contributed plug-ins that enable connections to Mi-crosoft Messenger, Lync, and Skype networks. TFS lacks any support for social awareness.

CodePlexCodePlex is a customized public TFS installation that Microsoft provides to host open source projects. It’s similar to the other Web-based ALM platforms, supporting both work-space and group-structural aware-ness, but not social and informal awareness. Compared to other Web-based platforms, CodePlex’s only pe-culiar feature is its ability to connect to Visual Studio.

GitHubGitHub is a platform built on Git as the source code management system for both open source and commercial software projects. Like the other Web-based ALM platforms, GitHub of-fers lightweight group-structural and workspace awareness. GitHub, which describes itself as a “social network

for programmers,” aims to foster de-velopers’ collaboration by letting them fork projects and monitor development through a Twitter-like approach, giv-ing them the chance to follow (watch) projects. Finally, GitHub partially sup-ports social awareness by allowing de-velopers to interact (via “@mentions”) with others.

Social awareness and Global Software TeamsSocial awareness would be most help-ful to global software teams if they have collaborative development tools that support sharing personal and contextual information to increase the likelihood of successful interac-tions in global projects. Typically, team members connect through close interaction and face-to-face communi-cation; such activity is largely reduced on global teams owing to distance. Therefore, collaborative development tools could be realized as plug-ins of extensible ALM platforms, such as TFS and Jazz, to provide global teams with “socially augmented” environ-ments that simultaneously facilitate both development-related activities

and interpersonal connections with distant colleagues.

Lack of Group Awareness: A Typical GSE ScenarioConsider the following typical GSE sce-nario in which global software team members face challenges due to a lack of social awareness: Bob is a member

of a team developing a mobile app for a home-automation project. He’s also taking the responsibility of develop-ing the app component that handles the home-security system settings. The distributed team is using an ALM plat-form to coordinate project develop-ment. After reviewing the first incre-mental release of the app, the customer raised some concerns about the current solution’s usability—for example, re-garding the user interface. Therefore, Tim, the project manager, decides to involve Alice, one of the company’s us-ability experts; he assigns to her all the work items related to usability issues, including those Bob is already han-dling. Tim also requires that Alice ap-prove all the commits with changes ap-plied to the user interface.

Without social awareness support. With the milestone integration dead-line approaching, Bob performs an update of his local repository. He no-tices that Alice has committed some change sets to resolve the work items previously assigned to him. Looking at the comments in the change sets, he notices that she frequently pointed

More than half of all distributed projects fail, most often owing to insufficient communication and trust.

Page 6: Building the Community of Leading Software Practitioners ...€¦ · Presence Protocol (XMPP)/Jabber pro-tocol. However, Assembla doesn’t sup-port social awareness. Jazz IBM Rational

22 IEEE SoftwarE | www.computEr.org/SoftwarE

Software technology

out that previous versions made an inconsistent use of slider widgets and drop-down boxes. Bob looks at some of the user interface views that Alice modified and sees no big difference compared to the ones he created in the first place. So, he decides to leave the new view he has been coding un-

changed and commit. With this be-havior, Alice and Bob now face the same tensions as were prevalent a de-cade ago, when agile techniques were used ad hoc without awareness of other team members’ reasoning.

With social awareness support. The social awareness plug-in installed in the ALM platform regularly updates developers’ awareness networks to in-corporate the posts from the people who are involved in the same work items (for example, those who have reported or commented on the same issue). So, Alice’s posts begin to ap-pear in Bob’s workspace (see Figure 1). Other than Twitter, Alice has con-nected her LinkedIn account to the plug-in, so Bob can also see from her profile that Alice is very well known in the human-computer interaction community (see Figure 2). When Al-ice tweets that she’s happy to have a chance to work with the team on the new mobile platform; Bob decides to reply to her tweet with a “welcome aboard” message. As they commu-nicate more, Bob learns from Alice’s posts that she has been busy fixing the user-interface views that Bob had coded. When Bob updates his local

repository, he notices that Alice has committed some change sets to resolve the work items previously assigned to him. Looking at the comments in the change sets, he notices that she has frequently pointed out that previous versions made an inconsistent use of slider widgets and drop-down boxes. Therefore, when Bob looks at some of the user-interface views that Alice modified, he realizes that she is right and that her reputation as a usability expert is well deserved. Therefore, he decides also to apply the same solution to the new view before committing. Alice then reviews and approves the change set committed by Bob.

d evelopers in distributed teams need to maintain both a gen-eral awareness of their en-

tire teams and a more detailed knowl-edge of the people that they work with. Here are few hints for better group awareness:

• Informal awareness. Check regu-larly on who is around and com-municate directly. Use instant mes-saging and VoIP tools for instant question resolution; don’t rely on submitting comments via a change tool or emails.

• Group-structural awareness. En-sure a clear understanding about team members’ roles and teams’ in-ternal structures. Use responsibility matrixes to visualize team respon-sibilities and track commitments. Avoid ad hoc assignments to sim-ply get work done faster—this frus-trates those who follow the process.

• Workspace awareness. Make clear who’s working on which shared artifacts within a workspace. Use Scrum-like processes to get vis-ibility on the current tasks and interfaces.

• Social awareness. Stimulate social

figure 1. TFS and Visual Studio augmented with a social awareness plug-in.

figure 2. A user’s profile with connected

services, education, and work-related

experience.

Page 7: Building the Community of Leading Software Practitioners ...€¦ · Presence Protocol (XMPP)/Jabber pro-tocol. However, Assembla doesn’t sup-port social awareness. Jazz IBM Rational

march/aprIl 2013 | IEEE SoftwarE 23

Software technology

connections within the group—this isn’t solely the manager’s responsi-bility. As a group member, you can do a lot to connect and collaborate on personal levels. Even if socializ-ing only happens remotely, it can be quite beneficial.

As Table 1 shows, ALM platforms still lack the necessary social aware-ness support. A socially augmented ALM platform would counteract such challenges by facilitating interpersonal connections and strengthening ties be-tween distant colleagues—for instance, by securely sharing personal and con-textual information within the work-space. Such technology for software de-velopment teams is still in its infancy. The current ad hoc use of social media in companies highlights that more con-crete guidance and empirical research are necessary to both drive effective use and mitigate obvious risks related to se-curity and inefficiency.

References 1. C. Ebert, GlobalSoftware

andIT:AGuidetoDistrib-utedDevelopment,ProjectsandOutsourcing, Wiley, 2012.

2. P. Dourish and V. Bellotti, “Awareness and Coordina-tion in Shared Workspaces,” Proc.Int’lConf.Com-puterSupportedCooperativeWork (CSCW 92), ACM, 1992, pp. 107–114.

3. C. Gutwin, S. Greenberg, and M. Roseman, “Work-space Awareness in Real-Time Distributed Group-ware: Framework, Widgets, and Evaluation,” Proc.HCIonPeopleandComputersXI (HCI 96), Springer, 1996, pp. 281–298.

4. C.R.B. de Souza and D.F. Redmiles “The Awareness Network: To Whom Should I Display My Actions? And, Whose Actions Should I Monitor?,” IEEETrans.SoftwareEng, vol. 37, no. 3, 2011, pp. 325–340.

FiliPPo lanuBile is an associate professor of computer science at the University of Bari. He is the General Chair of ICGSE 2013. Contact him at [email protected].

FaBio caleFaTo is a postdoc at the University of Bari where he received a PhD in computer science. Contact him at [email protected].

chRiSToF eBeRT is managing director at Vector Consulting Services. He’s a senior member of IEEE and the editor of the Software Technology depart-ment of IEEE Software. Contact him at [email protected].

ieee inTeRnaTional conFeRence on GloBal SoFTwaRe enGineeRinG

The annual IEEE International Conference on Global Software Engineering (ICGSE) brings together industry and research from around the world, providing the leading forum for addressing topics such as how to make distributed teams more effective and efficient and how to cope with challenges created by such distributed teams, such as different methods and tools. The 2012 conference had participants from more than 20 countries with a third of the papers from industry.

ICGSE 2013 will take place 26–29 August in Bari, Italy. Join the conference and learn how to overcome challenges in distributed software projects. For more infor-mation, visit www.icgse.org.

WWW.COMPUTER.ORG/SOFTWARE

Cherishing Ambiguity // 9

The 10-Minute Test Plan // 70

NOVEMBER/DECEMBER 2012

WWW.COMPUTER.ORG/SOFTWARE

The Software behind

the Higgs Boson Discovery /

/ 11

Where’s the Theory

for Software Engineering? //

96

SEPTEMBER/OCTOBER 2012

WWW.COMPUTER.ORG/SOFTWARE

SOA: Myth or Reality? // 46 Social and Community Intelligence // 88

JULY/AUGUST 2012

WWW.COMPUTER.ORG/SOFTWARE

Cyber Dumpster Diving // 9

The Airbus A380’s Cabin Software // 21

Programming with Ghosts // 74

JANUARY/FEBRUARY 2013

More value, more content, more resources

Now Available in Enhanced Digital Format

The new multi-faceted IEEE Software offers exclusive video and web extras that you can access only through this enhanced digital version. Dive deeper into the latest technical developments with a magazine that is:

Searchable

Linked

Engaging

Mobile

computer.org/software

Page 8: Building the Community of Leading Software Practitioners ...€¦ · Presence Protocol (XMPP)/Jabber pro-tocol. However, Assembla doesn’t sup-port social awareness. Jazz IBM Rational

www.computer.org/software

the software behind the Higgs Boson Discovery // 11where’s the theory for software engineering? // 96

septemBer/octoBer 2012

www.computer.org/software

cherishing ambiguity // 9

the 10-minute test plan // 70

November/December 2012

www.computer.org/software

storytelling for software professionals // 9

In Defense of Boring // 16Beyond Data mining // 92

may/June 2013

www.computer.org/software

cyber Dumpster Diving // 9

the airbus a380’s cabin software // 21

programming with ghosts // 74

January/february 2013

www.computer.org/software

from minecraft to minds // 11 Landing a spacecraft on mars // 83

Design patterns: magic or myth? // 87

marcH/aprIL 2013

Two Special ICGSE 2013 offers!

A professional peer-reviewed magazine featuring• Broad coverage of technologies, processes,

and management issues• Practical advice• Experiences with the latest innovations• Clear take-away messages

Recent and upcoming themes include• Twin Peaks of Requirements and Engineering• Safety Critical Software• Technical Debt• Lean Software Development• Bridging Software Communities through

Social Networking

Check out our special offers— now available in print and digital!

Check out an entire free issue:

www.qmags.com/ISW/free-icgse13

To subscribe to 6 issues of the digital edition:

www.qmags.com/ISW/ICGSE13

US$19.95

/yearFREE

SAMPLE!


Recommended