Crystal Clear – by Alistair Cockburn

Crystal Clear is the smallest of a series of methodologies for software development, all created by Alistair Cockburn. It is smallest in the sense of the project size it addresses (up to eight developers) and in the number of things it prescribes. Other Methodologies, deriving their names from the colors of crystal, are increasingly heavier. They all share the same “DNA” though, which is “expressed” differently with increasing project size and criticality, the latter meaning the higher cost in terms of money or at the extreme human life.

The book in itself has an interesting setup where each chapter addresses an aspect of Crystal Clear in a different format, tone and style. The purpose of this setup is to appeal to a large audience where each reader can find at least one chapter that conveys the essence of Crystal Clear to her clearly. The most peculiar chapter is probably the one where an ignorant Alistair queries a fictive Crystal character over a series of letters about the inner workings of a successful software development team; thus mimicking a Socratic dialogue. I am not sure this stunt works in practice, but at least true to the intent some chapters work better for me than others… All chapters are, however, still written in an easy and personal prose.

Continue reading

100 sidor för dig som hellre käkar taggtråd än kontaktar en kund

I 100 sidor för dig som hellre käkar taggtråd än kontaktar kunder ger Carola Forshell en grundläggande lektion i hur en säljprocess för försäljning till företag bör läggas upp. Boken är baserad på hennes personliga resa, från någon som avskyr sälj till en som arbetar som säljare på heltid och dessutom utbildar andra i konsten att sälja.

Upplägget utgår från en rekommenderad säljprocess med början i identifiering av potentiella kunder (prospekts) till avslutande faktura med påföljande merförsäljning. Varje steg hanteras i ett eget kapitel och i appendix återfinns mallar och checklistor. Som motvikt till denna idealt strukturerade process kryddar författaren boken med anekdoter från egna misslyckanden inom sälj. Vad man möjligen kan sakna är mer en ingående diskussion om de problem som kan uppstå längs vägen och hur man bäst kan hantera dessa, men kanske det med rätta faller utanför denna första introduktion.

Bokens titel är dessvärre, om än fyndig, något missvisande. Alla som är intresserade av att lära sig en mer strukturerad säljprocess har nytta av boken, inte bara de som hellre käkar taggtråd än kontaktar kunder. De som faktiskt råkar ha en fobisk inställning har inte mer hjälp av boken än det exempel författaren själv utgör på att det faktiskt går att övervinna sin egen rädsla och ett par grundläggande tips. Tips som exempelvis det stöd man har i att vara väl förberedd inför ett möte och att skapa en enkel ritual kring kalla samtal för att inte förhala processen.
Detta till trots är boken mycket läsvärd – både lärorik och underhållande. Jag rekommenderar den varmt till andra tekniker likt mig själv eller andra som söker en introduktion till sälj.

Beyond Software Architecture – Creating and Sustaining Winning Solutions – by Luke Hohmann

In Beyond Software Architecture, Luke Hohmann addresses all things paramount to software product development that are usually not covered in books on software development. These things include licensing, software protection, branding, marketing and business plans and how they relate to the technical architecture and more. Every developer or architect that has been around a few projects probably will probably recognize the importance of some, if not all of these areas, in relation to creating and sustaining a winning solution.

The first and probably most important topic covered is the relation between the business model and the technical architecture. It is really an understatement to claim that the chosen business model has a serious and real impact on the technical architecture – it should be self evident that there the architecture will look quite different in an ASP scenario and a single user desktop application… Less self evident is the relation between the business plan and the technical architecture. What business segments are being targeted and in which order really does bear on the architecture. Each business segment will have its particular needs to be addressed as features in the software solution. The order is important since it will help spell out the technical roadmap for future releases.

The book covers a large number of topics and gives advice on a number of specific issues, too many to cover here. I have chosen but a few that have stuck after finishing the book.

Continue reading

Map Reduce, Grid Computing and Next Generation Application Servers

While browsing the The Server Side’s list of Most Requested Content for 2007 I ended up reading about Google’s algorithm MapReduce, Grid Computing and Giga Spaces. For the (admittedly rare) cases where the applications really have to scale to huge loads (read Google, eBay etc) JEE app servers do not seem to cut it. This is probably because there is no support for Grid Computing /massive parallellization.

Being a Spring advocate I am not at all surprised to read that there are some people that feels the time is ripe to replace JEE application servers with something new. Kimchy believes the Giga Spaces /Open Spaces is a precursor to such a next generation application server, much like Hibernate was to JPA.

I am not sure whether something like Open Spaces will replace JEE App Severs anytime soon (I need to read up on these, for me, new enterprise patterns in general and the Open Spaces project in particular) but I do agree in his thoughts there is a need to simplify and coordinate many of the services needed to develop a truly scalable application in a new app server like container. A container where something resembling JEE packaging can be used to deploy and manage applications.

Where are all the objects?

A question that has been bugging me for a long time is: where are all the objects in Object Oriented Programming? Rather that discussing the relationships between objects, OOP is mainly concerned by the static relationship of classes. A better term for OOP is probably Class Oriented Programming…

Continue reading

Lean Software Development – An Agile Toolkit av Mary och Tom Poppendieck

Redan några sidor in i boken inser jag att det här kommer att bli en av klassikerna i systemutvecklingshyllan. Det är klart att den varma rekommendationen från en vän hjälpte till men boken är ovanligt välskriven. Lean Software Development – An Agile Toolkit lyfter blicken från detaljerna i olika utvecklingsmetoder som Scrum, XP, RUP etc till att diskutera principerna bakom dessa. Parallellt ger författarna en rad verktyg som med fördel kan användas vid mjukvarutceckling.

Continue reading

AJAX och XForms

En sak angående AJAX som har stört mig är att AJAX delvis konkurrerar med W3C-standarden XForms.

Jag har länge irriterat mig på hur primitiva HTML-formulär är och XForms känns som nästa steg. För att klientsidehantering skall ta fart måste nog alla större browsers implementera standarden och det kan ta tid, alternativet att köra plugins eller java-applets känns inte så lyckade. Så när AJAX nu är på frammarsch har det känts som att XForms riskerar att rinna ut i sanden. Och det stör mig.
Continue reading

Using commons-logging in WebSphere and WSAD

The commons-logging API is used by WebSphere for its internal logging. IBM has choosen to use a proprietary log implementation com.ibm.ws.commons.logging.TrLog. This means that if another log implementation is to be used (e.g. log4j), the commons logging configuration has to be overridden, i.e. by specifying a different LogFactory than the one used by IBM.
Continue reading

Lightweight Enterprise Architectures av Fenix Theuerkorn

Många ramverk för Enterprise Architecture (EA) upplevs som tungrodda och alltför omfattande och detta är ett av flera skäl som brukar anges till varför införande av EA misslyckas. Fenix Theuerkorn har inspirerats av Agile-rörelsens metoder för mjukvaruutveckling (SCRUM, XP, Crystal, DSDM m fl) när han formulerade ett eget ramverk för EA, Lightweight Enterprise Architecture (LEA).
Continue reading

Guide To Enterprise Information Technology av Col Perks och Tony Beveridge

Guide to Enterprise Information Technology Architecture (Guide to EITA) är vägledning i hur man implementerar ramverket The Open Group Architecture Framework (TOGAF) genom TOGAFs process Application Development Method (ADM). Boken är skriven av två erfarna verksamhetskonsulter och kan med behållning läsas i ett svep, från början till slut. För den som inte är intresserad av detaljerna i TOGAF kan problemformuleringen i de första tre kapitlen och sammanfattningen i det sista fungera som en utmärkt introduktion till Enterprise Architecture.
Continue reading