Utvecklingsmiljöer (IDE) för att stödja mjukvaruengier i deras isolerade programmeringsuppgifter. Programvaruteknik är dock i första hand en samarbetsverksamhet där kommunikation, samordning och samarbete med kollegor är nödvändigt. Stöd för detta samarbete förbises ofta i supportmiljöer medan det i själva verket är mycket fördelaktigt för Software Engineering team i allmänhet och distribuerade team i synnerhet. Framsteg har gjorts när det gäller att utöka befintliga IDE:er med funktionalitet för att stödja samverkan inom programvaruteknik, men sådana miljöer är främst inriktade på programmeringsuppgiften med samverkansfunktionalitet som tillägg till detta. I detta dokument hävdar vi att samarbete bör vara kärnan i Integrated Collaborative Development Environments genom att visa att Software Engineering i första hand är en samarbetsaktivitet, diskutera begränsningar i stödet för detta i befintliga lösningar och diskutera vår egen strategi för att hantera dessa begränsningar.  I 2002 Booch och Brown [1] betonade vikten av en samarbetsmiljö (CDE) definieras som: "ett virtuellt utrymme där alla intressenter i ett projekt - även om de distribueras av tid eller avstånd - kan förhandla, brainstorm, diskutera, dela kunskap, och i allmänhet arbeta tillsammans för att utföra en viss uppgift, oftast för att skapa ett exe skärbara resultat och dess stödjande artefakter". De hävdar att [1]: i) effektivt lagarbete är en väsentlig del av varje icke-trivial programvarutekniksatsning och ii) samarbetsförmåga är avgörande för att stödja dessa team, särskilt när teamstorlekarna blir mindre medan teaminteraktionen blir mer geografiskt spridd. De drar slutsatsen att CDE är ett idealiskt sätt att få människor att arbeta tillsammans på ett effektivt sätt. Sedan Booch och Browns uppsats har CDE:s betydelse bara ökat eftersom programvaruingenjörer arbetar mer och mer från varandra på grund av globaliseringen av verksamheten Med andra ord kretsar kärnan i lösningen kring den individuella programmeringsuppgiften medan teamet och samarbetet inom teamet är sekundärt. Enligt Sengupta et al. [7]: "Det mesta av arbetet inom CDE-området fram till idag har inriktats på samarbetskodning". Vi hävdar att nästa steg bör vara att fokusera på Collaborative Software Engineering. Det är dock svårt att få samarbetsstöd för programvaruutveckling genom att utöka befintliga lösningar. Sarma instämmer och säger [8]: "För att skapa ett inneboende samarbete för programvaruutveckling måste forskarna omvärdera de traditionella utvecklingsmetoderna för att utforma utvecklingsverktyg från grunden till att verkligen stödja samarbetet". Utöver detta har Gerald Weinberg [9] konstaterat att programmering i slutändan är en mänsklig aktivitet och studier av DeMarco och Lister [10] tyder på att i stora projekt tillbringar typiska utvecklare ungefär 70 % av sin tid med att arbeta med andra. Så, effektiv kommunikation spelar en nyckelroll i mjukvaruutveckling [Ill Därför argumenterar vi användbara insikter i hur man bäst stödja Software Engineers kan identifieras genom att skapa en CDE som har stöd för inter-personligt samarbete i sin kärna som op posed till stöd för den individuella programmering uppgift. Eftersom en sådan strategi är motsägelsefull till hur de flesta lösningar försöker stödja samverkande Software Engineering för närvarande, målet med detta dokument är: Att hävda att samarbete bör bli en förstklassig medborgare i stödmiljöer för programvaruingenjörer. För att göra detta har vi strukturerat dokumentet på följande sätt. Först, i avsnitt II diskuterar vi hur Software Engineering är en inneboende samverkan och mänsklig aktivitet och varför detta innebär det viktigaste att stödja är samarbete. Efter detta i avsnitt III ger vi en översikt över ett urval av befintliga lösningar för att stödja samverkande Software Engineering genom att titta på ett antal utvärderingar av nuvarande praxis. I denna analys identifierar vi ett antal begränsningar av de nuvarande lösningarna och i avsnitt IV diskuterar vi vår strategi för att lösa begränsningarna genom att skapa en samarbetsmiljö kallad Iris: en extensibel kommunikationsplattform bootstrappad och skapad av och för en grupp helt distribuerade programvarutekniker. Slutligen sammanfattar vi vårt arbete och diskuterar ytterligare forskningsmöjligheter i avsnitt V. 978-1-936968-36-7
Dullemond m.fl. REF diskuterar att programvaruteknik är en kombination av samverkande aktiviteter.
Collaboration should become a first-class citizen in support environments for software engineers
{'venue': '8th International Conference on Collaborative Computing: Networking, Applications and Worksharing (CollaborateCom)', 'journal': '8th International Conference on Collaborative Computing: Networking, Applications and Worksharing (CollaborateCom)', 'mag_field_of_study': ['Computer Science']}