Last day at EMC world

2013 maj 9
av Kompetensfabriken

This momentum conference has been good. You can see that EMC is trying to get a bigger cut of the cake by cutting of the vendors in the mid segment by pushing the OnDemand solution to simplify the transformation. They have focused on making the path to this new environment as short as possible by creating migration tools and changing from a customization approach to a configuration approach. Only time can tell if this will be a good choice or not.

Ondemand
OnDemand has been in focus on this conference and is pushed to increase the commitment from EMC direct to the customer. According to their calculation a customer should decrease TCO by 30-60 %. I have no idea how this calculation is made but a oilcompany presenting their ondemand solution at Momentum stated that their saving as of for now is around 30% compared to the old on-premise solution. The only doubt I have regarding this is: have they taken everything into consideration. For instance most companies have oraclestaff, serverstaff and so forth independent on their use of documentum on-premise or not. So will this be cost efficient in the end? How does the licence model look. What we need from a salesperspective is to be able to sell something small first what will be like a proof of concept solution based on a limited number of users. This initial cost needs to be low to be able to convince companies to start to use Documentum products instead of for instance Sharepoint. At least that is a demand for success in Sweden.

Syncplicity
Syncplicity looks good, seems good and so forth but without the Sharepoint connector and the IRM integration it will not be an option for most companies. What I like the most about this product is the talk about agile development. As we all know the world is changing on the IT side and everything develops faster and faster. To be a part of the future IT solution you need to be able to move fast and change the way of doing things. Good job there.

Next session today is about D2 and the future enhancements there. Lets hope they will go for a bit more of an agile approach there as well.

ECM consultant
Carl Skymne

Syncplicity in short

2013 maj 8
av Kompetensfabriken

So, how does your company handle the demand from bringing your own device? Is it possible with your current IT environment? How does IT work with different clients? If you feel a demand for widening the possibilities in this area you need to look into Syncplicity.

Syncplicity enables the possibility to share information over different devises with some type of control kept.

So what are the benefits

• Sync data/folders between computer and devices such as ipad/iphone/windows tablet and so forth. This means that the latest version is always available on all your devises.

• Share information with others. This functionality enable you to share a file or a folder with other people. To this syncplicity add security in terms of the user being able to save back data or if only be possible to read data.

In terms of share it is also possible to use remote wipe to remove data which is on any of the devices connected. The limitation in this approach is that the devise need to be online to get the information to wipe the data. So if the user, for instance an employee which is ending the company uninstall the program before this action the data will still be at the client. Security is as always in the end up to the end-user. To solve this problem or at least make it a bit more safe EMC is currently looking into adding the IRM solution as an integration. In this way the protection will be even better.

Today limitation and future add-ons to the current solution:

• Two way documentum integration, today the syncplicity will only publish from documentum. The goal with this is to work with the document in documentum and when done publish them to the consumers using syncplicity.

• IRM integration, even if the data on the client side for instance on the ipad is in an encrypted environment there is a need to increase the protection by using IRM to ensure this.

• New policy settings for the environment. Today you can configure for instance if it should be possible to use the web based syncplicity version and if you should be able to use syncplicity on a computer which is not part of your domain. This is one of many things which is currently possible to restrict as an administrator of syncplicity. In the future even further possibilities.

• Sharepoint integration. Syncplicity is looking into how to add a new integration where SharePoint will be able to add data to the syncplicity solution. This will probably be available in the end of this year.

Syncplicity adds a new era to document handling where the rights management is moved from the system to the actual object with less dependencies to devices. Seems like finally you can bring your own device…

ECM Consultant

Carl Skymne

EMC WORLD – Momentum 2013

2013 maj 8
av Kompetensfabriken

The first impression is that this year’s EMC World event is smaller and less busy than last year. But after attending the first general session where 15.000 people sitting and looking at an approximately 150 meter wide screen I change my mind. This is huge and mind blowing. This is EMCWORLD.
The conference has a clear focus. EMC would like to show their new stack of storage products. Yes, even if I´m not attending this part of the conference it is hard to miss the objectives:

• Go to the cloud – private/public/hybrid
• Use EMC Products
• Gain efficiency

Momentum delivers a different view

So what about momentum then. With all respect this is a fairly small part of the conference. Probably a couple of thousand attendants. I did expect a clean focus on D2 and XCP2.0. These products is represented but it is only one out of three things that is stated this year:

• Syncplicity
Seems like most focus is on this product this year. When the IRM integration is released it will be a comlete solution for distributing content without lossing the security on the document. If the device get lost remote wipe is possible and this together with IRM restriction will be enough to keep Control over vital data.
Syncplicity is the first project and program developed by EMC where they clearly state an agile approach to the development. The road map for this Project is 6 months and EMC clearly states that it might change rapidly.
Hopefully and probably Sharepoint integration will be added later this year.

• Ondemand – gain efficiency and performance using a cloud solution, both onpremisse and hosted by EMC
EMC will maintain the system – perform upgrades regarding hardware and software.
The business knowledge and the development is done in the old manner.

• Upgrade old clients. EMC want us to go for the new clients and to convince the customers to do this change. This to gain the benefits in these solutions.
EMA – tool created to be used by EMC PS

ECM Consultant
Carl Skymne

AIIM Conference 2013 – Extreme Information: are you prepared?

2013 april 9
av Kompetensfabriken

AIIM 2013

With the theme Extreme Information: are you prepared? The AIIM 2013 Conference gathered some 850 information professionals in New Orleans for three days in March. Altran was one of the speakers together with its client Telenor. For more info go to altran.se.
———-
The conference had several presentations of the impact of the cloud on information management and the issues of information ownership, privacy and governance, but not a lot of answers.

The biggest risk from failure to address the situation is according to a resent AIIM study the lack of governance. The participants in the survey were mostly from USA and rated litigation cost as a major concern (54%). 42% listed loss of customer confidence and bad publicity as a major concern and 38% loss of intellectual property or confidential information. Except litigation that is special for USA, there is little reason to believe the situation is significantly different in Europe.

The BYOD (Bring Your Own Device) has reached the corporate sector and combined with large volume of information has created new challenges and opportunities and the trend towards “the cloud” further amplifies the need for change and governance.
Several presentations and discussions in round tables also focused on the classification issues. The technology to have advanced software automatically doing the classification is there, but in sectors requiring 100% correct classification there are still issues.

The large amount of information however opens up new possibilities for insight. Analytics (Big Data) is becoming an important part of the information management landscape. Best-selling author, David Weinberger, made an interesting presentation he called “Too big to know – the solution to too much data is more data”.

Kåre Friestad, Principal Consultant Altran Norway

Arctic SharePoint Challenge – Challenge accepted

2013 mars 7
av Kompetensfabriken

Fierce competition, playful fun and Internationally recognized speakers.
Årets Arctic SharePoint Challenge pågår i dette øyeblikk i Holmenkollen. http://www.arcticsharepointchallenge.com
SharePoint Challenge er en community drevet “tevling” hvor de beste av de best møtes for å kjempe om heder og ære, ha det gøy og tøye grensene til SharePoint.
Vi er i dette øyeblikk 4 stolte Altranere fra Oslo kontoret som er i full gang med Arctic SharePoint Challenge.

Team ALT+RUN består av: Jonas Beijer, Ola Andersson, Leon Ho og Eirik Engvik.

Dagen i dag har bestått i foredrag med SharePoint guruene Sahil Malik & Carsten Keutmann.
Nå er vi i gang med å løse vår Case: Gamification for SharePoint!
Stikkord er: HTML5/CSS, Azure, Web Services, Federation, Windows Workflow Foundation

Jfokus 2013

2013 februari 8
taggar:
av Tobias Modig

Årets Jfokus har just avslutats där 1500 utvecklare samlades för några Javaladdade dagar i hjärtat av Stockholm. Jag skulle vilja påstå att Java 8, funktionell programmering, enkelhet och inbyggda system var de fyra hörnpelarna på årets konferens.

Självklart avhandlades en hel del av kommande Java 8. Bland annat Lambdas, Javaskriptmotorn Nashorn och nya Date/Time-API:t stod på agendan men även lite mer anonyma nyheter som Compact Profiles och StampedLock fick sin tid i rampljuset. Personligen ser jag fram emot just Lambdas och Date/Time-API:t som båda kommer att underlätta väldigt mycket. En liten besvikelse dock att Oracles tunga Javagossar med Mark Reinhold och George Saab i spetsen inte kunde bjuda på mer kring framtida Java-versioner. Sannolikt har de lärt sig Jigsaw-läxan och vill inte lova något de sedan inte kan hålla. Mellan raderna kunde man dock läsa att det ska mycket till om inte Jigsaw ska komma med i Java 9 men det skulle även exempelvis vara intressant att veta hur det går med planerna med ett Unified Type System.

Funktionell programmering har varit på stark frammarsch under flera år men nu upplever jag att den faktiskt tagit klivet in i gemene utvecklares medvetande. Det pratades closures på den inledande keynoten och även i sessioner som inte uttalat handlade om funktionella språk så vimlade det av kodexempel från språk som Clojure, Groovy och Scala. En höjdpunkt inom området var annars när Charles Nutter gick igenom InvokeDynamic och hur det kan användas även av oss vanliga människor som inte skapar våra egna JVM-språk. Väldigt lärorikt men samtidigt en smula deprimerande, den mannen är helt enkelt för smart för att det ska kännas riktigt bra för mitt ego. Den alltid lika underhållande Martjin Verburg kryddade dessutom de funktionella diskussionerna med att påstå att ”Scala är som att ge en formel 1-bil till en nioåring”. Min alldeles egna analys av det är att man inte ska pyssla med funktionell programmering om man inte förstår konceptet bakom men en alternativ tolkning skulle ju kunna vara att det helt enkelt är den mest fantastiska julklappen man kan få.

Något som genomsyrade många av de mindre tekniska föreläsningarna var den lilla revolt mot arkitektur, komplexitet och generella lösningar som växer fram. Min kollega Mikael Fröberg drog samma slutsatser efter Öredev och det är bara att konstatera att trenden levde vidare även på denna konferens. Venkat Subramaniam inledde Jfokus med att utropa GOF:s design patterns till ”det värsta som kunde hända”, ramverk som Hibernate och Spring sågades vid fotknölarna av flera talare och BDD-grundaren Dan North vigde hela den avslutande keynoten åt ämnet ”Simplicity: the Way of the Unusual Architect”. Där förespråkade han så enkla lösningar som möjligt, att vi borde ta den kortaste vägen mellan ”nu” och ”klart” och ifrågasätta varje beroende. Eller som citatmaskin Verburg sammanfattade det, ”du behöver inte sju lager för att spara ett personnummer”.

En nyhet med Jfokus i år var att Java Embedded hade fått en helt egen subkonferens med egna keynotes. En mängd föreläsningar riktade också in sig på M2M och möjligheterna som skapas då små, billiga produkter klarar av att köra riktiga applikationer. Ett praktiskt exempel var den frimärksstora ”dator” som visades upp, ett av dess användningsområden är att de sätts fast på träd i Sydamerikas regnskog och automatiskt slår larm om träden utsätts för olovlig avverkning.

Något som jag tycker förbättrats på Jfokus år efter år är kvaliteten på talarna. I år gick jag faktiskt inte  besviken från en enda presentation och jag råkade inte heller ut för några irriterade produktplaceringar. I och för sig gick jag i princip bara på idel, ädel Java-adel, utöver redan nämnda bjöd bland annat Heinz Kabutz, Simon Ritter och Stephen Chin på sevärda föreställningar. Även de flesta av mina kollegor på plats rapporterade om strålande presentationer från bland annat Bodil Stokke och Jonas Bonér. Den allmänna känslan var också att det många gånger snarare var svårt att besluta vilken session man skulle välja än att hitta något intressant att gå på.

Avslutningsvis, detta var tredje året på Waterfront och valet av konferensplats är klockrent. Hörsalarna är riktigt bra, det finns gott om plats även om just utställningsområdet var något överbefolkat, maten var helt OK och jämfört med exempelvis JavaOne är Jfokus ett himmelrike. Visst, JavaOne kör Pearl Jam och Black Eyed Peas som husband, har ett bredare utbud och man slipper brottas med snöstormar på vägen hem. Å andra sidan måste man brottas med 50 000 agent Smith-liknande Open World-besökare istället vilket gör att Jfokus står som knapp men klar segrare i den jämförelsen.

Scala sett med ett Javaöga

2013 januari 10
taggar: ,
av Tobias Modig

De senaste åren har Scala hypats hårt bland såväl utvecklare som inom media. Epitet som ”Javadödaren” och ”The next one” har stått som spön i backen. Personligen har jag svårt att se att något språk inom de närmaste åren kommer ta död på Javas tio miljoner utvecklare, de tre miljarder mobiltelefoner som idag kör Java eller de 1,4 miljarder nya ”Javakort” som ges ut varje år. Däremot tror jag säkert att Scala går en ljus framtid till mötes och inte minst att Java-communityn kommer att snegla en hel del åt Scala-hållet när ny funktionalitet ska läggas till i språket. Lambdas som förhoppningsvis dyker upp i Java 8 är ett exempel där jag är övertygad att bland annat Scalas framfart haft stor betydelse.

Under de senaste månaderna har jag till min frus stora förtret ägnat en hel del tid åt att fördjupa mig i Scala och det finns mycket i språket som är väldigt bra. Allt kommer garanterat inte att hitta hela vägen till Java men det skulle glädja mig om i alla fall något av nedanstående skulle komma med i framtida versioner.

Nullhantering

Problemet med ”nullpointers” är i princip ett icke-problem i Scala. Den stora anledningen till det är något som kallas Option, kort sammanfattat fungerar det som ett typsäkert null. Till option finns det två subklasser, ”Some” och ”None” och i de fall där Java returnerar null returnerar Scala objektet ”None” istället:

scala> map.get("existingKey")
res1: Option[String] = Some(existingValue)

scala> map.get("nonExistingKey")
res2: Option[String] = None

Traits

Precis som interfaces i Java så används traits till att specificera metoder och dess signaturer. Traits har dessutom den extra finessen att det går att definiera en defaultimplementation till en eller flera metoder:

trait Glass {
def isEmpty(x: Any): Boolean
def isNotEmpty(x: Any): Boolean = !isEmpty(x)
}

Kanske ett något krystat exempel men det som händer ovan är att när Glass implementeras så måste även isEmpty() implementeras. isNotEmpty() finns det däremot redan en konkret implementation av och den ärvs därmed direkt från Glass om utvecklaren inte väljer att göra en egen implementation. Detta skulle kunna vara ett steg tillbaka till det multipla arvets ”diamond problem” men Scala undviker det genom att specificera vilken implementation som ska väljas, nämligen från höger till vänster i definitionen.

I nedanstående exempel är det alltså C:s implementation som gäller i första hand, B:s i andra hand och A:s i sista hand:

class Concret extends A with B with C

Higher order functions

En ”Higher order function” är en funktion som kan ta en annan funktion som parameter eller vars resultat är en funktion. När det presenteras med denna torra beskrivning låter det inte särskilt sexigt men tillsammans med exempelvis Scalas möjlighet att använda funktionell programmering och rekursion går det att göra extremt kraftfulla och eleganta lösningar:

def test(f: Int => String, i: Int) = f(i)

Vad som händer ovan är vi har en funktion, test, som tar två parametrar, dels f som är en annan funktion och i som är en vanlig integer. Det test sedan gör är att ta värdet i och använda det som argument till funktionen f.

Pattern matching

Pattern matching skulle kunna beskrivas som en ”switch”-sats på anabola. Till skillnad från Java där det endast går att göra switch på primitiver, enums och några enstaka klasser går det i Scala att göra pattern matching på i princip allt. Plötsligt blir det då också väldigt användbart och allt som oftast betydligt mer läsbart än motsvarande kod med if/else-satser. Det skulle tveklöst gå att skriva en bloggpost bara om pattern matching men jag nöjer mig med ett litet kodexempel som förhoppningsvis talar sitt tydliga språk:

def patternDemo(inputToMatch: Any): Any = inputToMatch match {
case 0 => "zero"
case "one" => 1
case x: Int => "Integer"
case _ => "Anything but the above"
}

Functional programming

Att som gammal Javautvecklare grotta ned sig i Scala utan att stöta på patrull när det kommer till funktionell programmering är nog i det närmaste omöjligt. Jag nöjer mig med att konstatera att applicerat på rätt typ av problem kan funktionell programmering ge väldigt elegant kod där motsvarande lösningar i exempelvis Java, eller ”icke-funktionell” Scala för den delen, blir väldigt långdragna.

Finns det då inget dåligt med Scala?

Om man bortser från de naturliga nackdelarna med alla mindre spridda språk, som att det sannolikt är svårare att få tag i rätt kompetens, så kan jag se en stor nackdel med såväl Scala som andra språk där det ses som en uttalad styrka att producera mindre kod. I vissa fall är det tveklöst en fördel med färre rader kod men jag upplever också att läsbarheten många gånger sjunker med antalet rader. Följande kod, som jag helt fräckt snott från RosettaCode, är en romerska siffror-omvandlare:

def toRoman( v:Int ) : String = {
val romanNumerals = List(1000->"M",900->"CM",500->"D",400->"CD",100->"C",90->"XC",50->"L", 40->"XL",10->"X",9->"IX",5->"V",4->"IV",1->"I")
var n = v
romanNumerals.foldLeft(""){(s,t) => {val c = n/t._1; n = n-t._1*c; s + (t._2 * c) } }
}

Det tog rätt länge innan jag trodde mig förstå vad som händer. Sedan tog det ytterligare en stunds experimenterande till dess att jag faktiskt förstod på riktigt. Läser jag motsvarande lösning på samma sida för såväl Ada som Java och C# så är det inga bekymmer att greppa lösningen relativt omgående. Om romanNumerals.foldLeft-raden är elegant eller ett aber att underhålla beror nog på vem man frågar. Lättläst är den hur som helst inte för någon annan än möjligen Jonas Bonér.

SharePoint Conference 2012, dag 2.

2012 november 14
av Joakim

Dag två blev en dag som tyvärr gick lite i teknikstrulets tecken. Nätverket tycks inte varit dimensionerat för de 14000 som det nu talas om är på plats. En hel del sessioner fick lida p.g.a. svårigheter att få igenom trafik, och Hands-on-labbarna har inte fungerat sedan morgonen på måndagen.

Även om avsaknaden av både wi-fi och amerikansk dataplan orsakar en hel del ängslan, så upplevde jag sessionerna under dag två som mycket inspirerande. Jag har fortsatt att i huvudsak följa WCM-spåret, och det blir bara alltmer uppenbart hur mycket goodness produkt-teamet ger oss i den här releasen.

SharePoint 2013 och händelser på konferensen har gett upphov till en del nya begrepp, här kommer några:

CSOM: Det korta sättet att säga client-side object model. Ni har säkert snappat upp att man kan göra otroligt mycket mer via klientobjektmodellen i SP2013 än man kunde i 2010.

CBS: Content by search. CAML-frågor? Bah, nä nu aggregerar vi ihop content som vi tycker är relevant genom sökindexet. CBS-webparten är högst konfigurerbar, och man kan ta del av inbyggda algoritmer som definierar exempelvis relevanta rekommendationer baserade på vilka beteenden man uppvisar på siten.

Dreamweaver bug: Ni har väl sett keynoten? (http://youtu.be/BLsIjvIyAxo). Dreamweaver används flitigt för att hamra in att web designers nu kan använda sina tools of choice för att skapa siters utseende. Då ändringar sparas i dreamweaver så dyker det nästan alltid upp ett felmeddelande första gången, men andra försöket brukar lyckas. Därav begreppet dreamweaver bug, som har expanderat till att bli förklaring till allt som inte går som det ska.

Cat in the term store: Under en mycket underhållande session där 4 medlemmar ur produktteamet tog en site från SharePoint baby-blue till live på 60 minuter, så använde Pete Gonzales unicode-tecknet för en katt som en del av top-level navigation. Eftersom navigeringen drivs av taxonomi, så hade de alltså en katt i term storen.

Nu är tredje dagen i sin linda, och schemat blir allt svårare, jag har 3 eller 4 potentiella sessions för varje slot idag, och dessutom vill man ju se vad som finns i Expo Hall och i Hands-on-labs också. Som väntat ger paradigmskiftet som cloud-appmodellerna innebär upphov till många diskussioner om hur vi ska använda dessa nya verktyg i de lösningar vi bygger. Jag är övertygad om att vi alla kommer uppskatta den nya SharePoint-världen bara vi får lite tid att smälta vad det faktiskt innebär.

Over and out.

SharePoint Conference 2012, dag 1

2012 november 13

Här kommer en sammanfattning av dag ett av 2012 års SharePoint conference ifrån ett kyligt Las Vegas.

Till ingens förvåning ligger fokus kraftigt på SharePoint 2013, och av Keynoten framgick det hur stolta Microsoft är över denna release. Inför en publik på runt 10000 på plats, och ett okänt antal framför den streamade tjänsten (Keynoten på #spc1012 gick upp som etta över Twitters trending topics igår), levererade Jared Spetaro, Jeff Teper, Michal Gideoni, Richard Riley, Scott Guthrie, David Sack och Adam Pisoni en mycket underhållande keynote. Teper lyckades få de båda Yammer-grundarna att ikläda sig bl.a. en kyckling- respektive gorilla-dräkt.

Ett par punkter att lyfta fram ur den två timmar långa presentationen är hur smärtfri migreringsvägen från 2010 till 2013 är, och hur mycket de förbättrat prestandan i produkten. Roadmappen för Yammer var en relativt stor del av keynoten, det är tydligt att Microsoft vill knyta till sig den redan stora användarbasen, och naturligtvis även utöka den. Enterprise Yammer kommer vara gratis för Office365-prenumeranter, oavsett prisplan, och arbetet att integrera in tjänsten i Microsofts ecosystem kommer att gå ’snabbare än de flesta förväntar sig’.

Det visades ytterst lite Yammerfunktionalitet, vilket inte är så konstigt då SharePoint 2013s sociala funktioner är så starka i sig själva. Nä, Yammer-uppköpet handlar nog mer om att roffa åt sig en kundbas (som förr eller senare hade annars hade hamnat under Google eller Facebook), och att få in ny talang i Microsoft, för ärligt talat, Yammer är inte superspännande rent funktionellt.

Scott Guthrie talade i egenskap av corporate VP för Azure, för att trycka hem att SharePoint och Azure konvergerar i och med de nya cloud-appmodellerna.

Efter keynoten tittade jag in på en icke-teknisk session som behandlade integration mellan Microsoft Project och SharePoint. Poängen var att visa hur fint pro-klienterna (web appen och Microsoft Project Professional 2013) integrerar med SharePoint (online eller on-prem). Storyn var att projektledaren arbetar med planering och administration i Project och alla teammedlemmar arbetar i SharePoint/Outlook. Jag tycker det var intressant att man kan uppnå en hel del utan att behöva blanda in Project Server-funktionalitet.

Efter lunch lockades jag mest av ‘What’s new for WCM in SharePoint 2013′, och svaret på den frågan är en jäkla massa. Fantastiskt mycket ny, relevant funktionalitet i kombination med att licensmodellen för publika siter ändras gör att SharePoint kommer kunna bräcka SiteCore och EPiServer i jämförelser i framtiden. Räknar man bara en första investering så sägs det att EPiServer fortfarande är billigare, men tittar man på TCO för siter med en viss komplexitet tror jag inte på att EPi kan vara billigare, man kan komma så långt i SharePoint innan man behöver betala för sin första utvecklartimme. Dynamics-teamet inom Microsoft har varit duktiga och implementerat en shoppingcart som knyter ihop en produktkatalog i SharePoint med Dynamics for retail för att skapa en fullödig eCommerce-lösning. Good stuff!

Sista sessionsslotten för dagen ägnades åt att se Todd Baginski och Donovan Folette visa hur man bygger en app efter provider-hosted-modellen, och hur enkelt det är att komplettera lösningen med appar för Office och Windows 8. Det var en riktigt bra session som täckte spektrat av Azure-tjänster (ACS, WNS, Web Sites, SQL) och hur man kan använda dem för att sy ihop en helhet med oData/oAuth som tråd.

Öredev 2012 – less is more

2012 november 12
taggar:
av Kompetensfabriken

Efter tre inspirerande dagar på Öredev är det dags för reflektion. Om jag skulle välja ett uttryck som beskriver årets konferens skulle jag välja ”less is more”. En hel del talare har propagerat för att vi skall ta bort en del av de agila principer och designmetoder vi använder idag. I alla fall att vi skall använda dem med måtta – inte som nu smått fanatiskt. Några stycken har exempelvis argumenterat för att vi skall ta bort Stå-Upp-Möten (mer om just det någon annan gång).

Precis som Spanarna i P1 på fredagarna, har jag valt ut tre exempel. Var och en har lite olika infallsvinklar men den gemensamma nämnaren är ändå göra mindre av det vi gör idag och flytta fokus till viktigare saker.

Först ut är Gojko Adzic. Gojko har skrivit många intressanta böcker kring test-automatisering. Under sin presentation reflekterade han över om han verkligen tänkt rätt tidigare. Har vi överarbetat de agila-principer? Har vi verkligen fått kvalitet i och med att vi automatiserat. Vi blir översköljda av information – testtäckning, testresultat, code style checks. Till och med information om hur lång tid testerna tar att köra – i detalj 0.0023 sekunder. Är det verkligen värt det? Kan vi testa mindre genom att fokusera på de funktionerna som användarna verkligen nyttjar. Kanske är det så att en betydande del av funktionerna aldrig används? Varför då testa? Gojko håller på med en ny bok, namnlös än så länge, där han tittar på mjukvarukvalitet från nya infallsvinklar. Han presenterade bland annat en mjukvaruanpassning av Maslow’s Hierarchy of need. Hans urspungliga artikel runt detta finns på gojko.net.

Mitt andra exempel är från Oren Eini aka Ayende Rahien (nhibernate, ravendb). Oren diskuterade kring vår besatthet till lager. Lager som egentligen inte tillför något verkligt värde – de skyfflar data fram och tillbaks. Ta bort repositories, ta bort data access, ”koncentrera er på logiken inte lager” var hans budskap. Enligt honom har vi blivit upplärda att ha lager och kan inte släppa taget. Vi är rädda, säger han, om vi inte använder lager så är vi inga riktiga utvecklare.

Sist ut är Zed Shaw. Zed är nog mest känd för siten ”Programming, motherfucker – Do you speak it?”. Problemet han vill belysa är att programmering är krångligt för att vi gjort det krångligt. Nya utvecklare blir lastade med information om vad de skall kunna innan de ens har börjat försöka. ”Jaha, du har inte läst GoF, hur skall du då kunna utveckla?”. Vi pratar om patterns, lager, generics och så vidare. Hans tes är att etablerade utvecklare sätter upp barriärer, som i förlängningen leder till att ungdomar inte väljer systemutveckling som yrke.

Känslan efter presentationerna är att vissa delar är lite väl ”far out”, men det finns ändå en gnagande tanke där.

De kanske har rätt? Till viss del är det givetvis så. Det som är gemensamt för Gojko, Ayende och till viss del Zed är att vi skall få större nytta ut av de lösningar vi gör.

Det som är viktigt tror jag, är att vi som utvecklare hela tiden utvärderar de metoder och designmönster vi använder. Ger de den nytta som i slutändan värderas av kunden? Det är svårt. Vi måste väga in både kostnad för nyutveckling och förvaltning. Av de två är förvaltningskostnaden den absolut största vilket förvånansvärt ofta glöms bort alternativt ignoreras eller förträngs.

Som utvecklare på Altran, så ser jag ofta hur vi aktivt arbetar med dessa frågor. Kanske inte alltid medvetet, men vi har ett fokus som är mer än själva programmeringen. Vi nöjer oss inte med att kunden säger vad de vill ha – vi frågar varför. Vad skall du ha det till? Genom att göra så utvecklar vi inte bara mjukvara utan också nytta och nya affärsmöjligheter för kunden. Detta skall vi fortsätta med – faktum är att vi skall göra det mer och medvetet.

Mikael Fröberg