english

We have made our first steps in Germany

Our neighbour – Germany, wasn’t actually one of our key destinations lately.  Being focused on typically English speaking markets (England, Scotland,  Ireland) we had no time to investigate new ones. But this time we decided to change it and explore new destinations,  especially such promising like Germany (one of the richest markets in Europe as you know). Even when it is hardly possible to find some time for it – we decided to do it anyway…

An opportunity to make our first steps in Germany emerged about a week ago, when we were invited by the Wielkopolska ICT Cluster to participate in Berlin-Wielkopolska 2010 Forum, a first conference of collaboration between these two regions.

As nearly everything what is made for the first time, the conference wasn’t surprisingly successful. On the other hand I managed to establish some interesting local contacts and people enjoyed the idea in general – so it could be good start for more future events of this kind.

I have never been to Berlin, even though it is closer to Poznan than Warsaw is (it was shocking for me when I discovered it)! No borders now so travelling was smooth and easy.

It turned out that schedule is so tight we weren’t able to see some more of Berlin. At least we had chance to see a bit more of the most modern technology park in Europe (as Germans say) – one I can tell, they have invested there a lot! It’s called Adlershof and it’s astonishing how fast it grows. I discovered that they’re open for cooperation and they’re kind of forced by the law to reply to my enquiry so it is good news for me – I will definitely take advantage of it.

I hope we’ll find some proper business partners in Germany this year – hopefully the process began.

Geecon conference – review and summary

Last week me and guys from Espeo attended GeeCON conference that was arranged in Poznan. Below I’ll try to summarize talks that I attended and also give a short opinion about conference

Thorbiörn Fritzon
The Future of Java

It was a keynote presented by Oracle employee , who was telling us what is going to happen to Java under it’s new owner. I really have mixed feelings about this speech, it was as Thorbiorn was trying to convince all developers that Oracle is not so bad and will take a good care of our beloved language. Having in mind that Oracle was a main sponsor of a conference it did not sound so convincing for me. I’m sure that Oracle knows how to make money from their products (contrary to Sun) but the future of java still seems blurry. Let’s see..

Stephan Herrmann
Object Teams: The Next Dimension of Modularity

During this session a new approach towards modularity was presented, that somehow extends object oriented paradigm. For me it was much too theoretical and lacking real world example to convince me that there’s a really good reason for using it. Maybe also I’m too far from theoretical discussions about programming to get deeper into it. Anyway, not the best choice for a starting session.

Staffan Nöteberg
Pomodoro Technique: Can you focus for 25 minutes?

This was one of two non-technical speech I attended, actually the reason was my recent interest in personal time management techniques, and not disappointed that i did. First of all Staffan knows how to get attention from listeners so the first thing he did was mentioning a swedish football player – “Staffan the football player” who was shooting a penalty against Poland in 1974. Actually he even shown us a movie with this penalty (saved by Tomaszewski) – this of course put us into a good mood :) Later actual content so Pomodoro technique was presented. Basically it’s about doing short 25min long time frames when you concentrate only on one task. The idea goes from the fact (as it is for many time management techniques) that task switching is very time consuming.I do like this technique and think it may be valuable for some cases but actually not when doing a teamwork. Some guys from Espeo started even using it, maybe I’ll also give it a try.

Waldemar Kot
Meet Complex Event Processing – emerging paradigm to build sophisticated, event-driven applications

This was also a good topic, especially that I haven’t heard about CEP systems before. It’s a system where inputs are some events, they are processed and some output is generated. One good example of such system may be intrusion detection or pattern detection. CEP consists of a server which handles events and it provides a language – CQL ,that is based on SQL, just operates on events instead of columns. So having in mind specific use cases and thing that such processing may be performing really well (handling over 1M events per second) it may be nice thing to take a closer look. Too bad that again we could see who the sponsor of conference is and Waldek presented only one actual implementation of CEP (of course Oracle’s)

Piotr Walczyszyn
One web. Any device. – Building mobile applications with Flash Platform tools.

Piotr an Adobe evangelist presented new runtime environment for Flash/Flex applications that allows to run same applications both on desktop and mobile devices – also using some special capabilities of devices. I think that in the future it could be very useful, especially that we have and do some projects using flex. Too bad that Piotr didn’t tell us when this runtime will be released (corporate secret). Otherwise the presentation wasn’t so good because of some technical problems.

Chris Aniszczyk
An Introduction to EclipseRT, Equinox and OSGi

Chris works for eclipse foundation and he shown us a set of tools that were created under Eclipse RT (runtime?) brand. He didn’t get into details about those but for me interesting ones to check are
- OSGi support using Equinox
- ECF – Eclipse Communication Framework
- RAP – for creating RIA’s – I really wonder in what extend it uses same codebase as Eclipse RCP applications

If somebody wants to check all the tools there is a sample application – TOAST that presents them and how they could interact with each other

Geertjan Wielenga
(not sure about the title)

There was supposed to be NoSQL presentation using Google App Engine but unfortunately it was cancelled. Insteat Geertjan was talking about Netbeans RCP. I didn’t learn anything useful actually, heard about this platform before and for sure it’s a good choice if you want to build Netbeans like application and you want to use Swing (if you want to SWT just use Eclipse RCP instead).

That was the end of first day. And on the second day we had.. :

Jonas Bonér
Let it crash: using Actors for fault-tolerance, scalability and concurrency

That was a nice start of a day. Actors is a concept I wanted to get deeper for some time. Jonas briefly presented an idea and told us about Akka – a library that we wrote. It looks really interesting and need to check it some time – adding it to personal backlog.

Dalibor Topic
JDK 7 Update

The title says it all – Dalibor presented changes that come with JDK 7. Did learn some new things, but for me presentation was a bit sleepy and few people actually had a nap ;) Project Coin is one interesting thing for me to check.

Joonas Lehtinen
Vaadin – Rich Web Applications in Server-side Java without Plug-ins or JavaScript

That was a nice presentation, even better than I expected. I was interested in it also because for one project we planned to use Vaadin but because of some problems we switched to other solution. Joonas is founder and CEO of IT Mill – company that made Vaadin, told us about history, motivation of library and presented really nice examples, including coding live a sample application. After a presentation I had a chance to talk to Joonas about our experience with Vaadin and how to use it correctly. One conclusion is that it fit’s much better for internal apps and for some specific use cases (remember that there is no client side processing, all happens on the server). I still think that Vaadin is a really nice framework and would definitely like to try it in the future.

Andrea Provaglio
Beyond Agile

This was the second non-technical talk and was really very good. Andrea presented his view on agility, stating some very interesting facts about how to work effectively in agile manner, how to organize teams. Few conclusions from his presentation i note are:
- you always need to try to understand people better
- “give and take” rule – if you give something to somebody there always should be something back from this person. I easiest case it’s paying for a job. Otherwise environment won’t be healthy
- if there is no leader a system will always find it’s natural leader – that’s so true
- heatlhy teams need both self-organization and guidance
- give roots to your team – especially for young organizations – for instance making photos :)
Also had a talk with Andrea about some problems with agility in our organization and got some interesting ideas. Great guy.

Roman Kalukiewicz
Apache Camel as a DSL for system integration.

Not so nice to say but didn’t concentrate well enough during this conversation. For sure Apache Camel is a nice thing worth checking in the future but no better opinions for now.

Peter Lubbers
HTML5 Web Sockets: All-You-Can-Eat Real Time!

A lot of interesting information for me during this one. I heard something about web sockets before but didn’t have time to take a closer look. Definitely something to pay attention to especially if developing web applications that send and receive some real time data. Too bad that currently only chrome supports it. Firefox will in version 4 and IE in… 11. Worth checking is a site of Peter’s company – kaazing which provides some examples and tools for web sockets.

Andres Almiray
Flying with Griffon

That was the last talk of Geecon. i knew some stuff about Griffon especially that last year for one of our client we developed an application using it, but was wondering how the progress is going and wanted to talk about it with Andres. In general Griffon is a very nice solution, same idea as Grails, but for desktop apps and speeding up development process a lot. Currently Griffon is in version 0.3 (quite low… but 1.0 is always for marketing) but the fact which is a bit worrying is that there is still no commercial support behind it (like there is in Grails case) and Andres still does everything on his own (actually he wrote 60 out of 80 plugins by himself!). I really hope the project will move fast forward because its worth it.

Conlusions
So that was all, in the end we have a nice accent because there was a poll and organizers were giving some gifts for attendees – actually two guys from Espeo, Michał and Robert got books. Congrats guys. Summarizing it was a really nice event, organizers did a really good job, some speeches were very interesting some less but in general most of the subject were on beginner’s level, not going deeply into it. I can say that it was more informative than educated me somehow. I did not attend GeeCON last year but looking at presenters that were in Krakow the level was a bit higher back than. Anyway this was only second edition, I’m sure every year conference will get better and hope it will stay in Poznań. For me one conclusion is to attend conference party (I did not this time) because that’s the best chance to talk with presenters and get some valuable information.

Attended Agile Central Europe Conference

This was second conference I attended recently but my first one completely related to agile. I also think (but may be wrong) that it was biggest ever agile conference in Poland. After a bit disappointing 4developers conference in Poznań I still had quite big expectations about ACE in Kraków and was not disappointed. I could feel that people attending breathe agile and have a lot of interesting opnions to share. So here’s a short review of what I heard and find interesting from my perspective.

First things first – we (I travelled with my colleague Paweł) almost missed a train because of slight misunderstanding of train schedule, that I got a fine on railway station and finally we were late for conference… not a greatest start ever. First speech I attended was by Rachel Davies, author of Agile Coaching, talking about retrospectives. Some good stuff and stressing that you should not skip retrospectives. One of conclusion was that we are not the only ones who have problems with time-boxing and retrospectives take too long. Suprisingly there were also comments about teams who do not have anything to say and think that they are perfect. One new idea for me was using funny drawings to show the emotions during sprint with so called emotions timeline – definitely would like to try that.

Afterwards I attended Scrumfluenca by Jens Korte. Jens put a lot of effort to create a graph of works that had influence on Scrum and Agile thinking in general, reaching even zen buddhism. Quite interesting but actually I expected something else.

Next one was Monika Konieczny talking about communication problems in a project. A presentation was very interactive and one of it’s elements was cooking live a birthday cake showing problems in communication between client (a husband ordering cake for his wife), team leader (getting requirements from husband and taking care of process) and developer (cooking cake). Later Monika was telling about coping with problems and generally about idea of using games and simulations to show client some concepts in a funny way. Also need to check page about Fun Theory which states that you can change people behaviour with something as simple as fun. Shall we try it with our clients?

Following two talks (Mack Adams and Simon Roberts) were about agile coaching (very popular term recently) basically stressing importance of having an Agile Coach in your company and how the coach should work so that results and agile thinking stick to organisation and people.

I started next day of conference with very interesting talk about Agile Culture gave by Zuzana Sochova. She pointed main problems in adopting Agile in companies, showing that most difficult agile practices are TDD, pair programming and estimating in points. Zuzana was also convincing us that based on her experience Agile is also widely using in life-critical industries and projects and we should not believe in statements that waterfall is only choice there. Conclusion for me after her presentation was asking myself a question if Espeo is truly a company with agile culture – I think not yet, but hopefully know how to get there. Very interesting was result of some poll, where question: “would you rather work for change or complain?” was asked. 81% of people were not sure (!)

Quite interesting for me was Pawel Lipinski’s presentation about being agile nearshore team, especially because of similar to Espeo remote work process. Too bad Pawel did not give too many conclusions but basically showed how his team was organized. One thing for me to remember is about conducting demos and idea that client should actually be “clicking” application during demo by himself, otherwise if we do it, client gets bored.

Next Paweł Brodziński was talking about Kanban so process similar to Scrum, a subject that I had in my plans for quite a long time. Final conclusion for me is that it’s much less formalized than scrum therefore it requires higher level of discipline from team itself. Because of this reason I think we should keep using Scrum but it’s something interesting to use to organize own time – it’s called Personal Kanban and is a bit similar to Getting Things Done – a process that I’ve been trying to use for some time.

Last presentation I attended was given by guys from UK based company New Bamboo – this was the funniest one during whole conference. They were showing some small solution for problems in software development house, for instance having commit conflicts, how they are solving it you can see in a video.

[some problem with video will add it later...]

Summing up, it was a very nice experience, I met a lot of interesting people and have many new ideas for Espeo. New experience for me was also seeing that so many people nowadays use Mac computers, and Twitter – some part of attendees was all the time doing live commentary from conference. Maybe it’s also time to start using Mac and Twitter?

Outsourcing software development to Poland – a new destination for professional IT services

Many European IT companies, especially the ones from Western Europe, decide to outsource their software development tasks, in order to increase their profit through reducing development costs. The reason for this is that these costs are the major and highest ones in the whole software development process. In such case IT providers outside Europe are being chosen mostly, where prices are significantly lower than average European level. But then serious drawbacks of this solution begin to reveal.

First of all communication issues occur. Foreign countries, far away from Europe, may be in different time zone – so time difference is serious and time span to communicate bilateral is much shorter. Furthermore there could be different cultural habits, so even such trivial thing like different national holidays and ceremonies, free of work, may harm communication between parties. Not to mention other cultural and legal distinctions – like different labour policies, pauses in work, number of working hours allowed in a week etc. On the other hand there is also distance, what we must take under our consideration – sometimes there is need to work on site, not always remote working is possible or required. Thus we must take into account significantly higher transportation fees, as usually the ordering party, not the provider, pays it.

Last but not least is the most important drawback – serious quality lacks. All difficulties mentioned above lead up to substantial problem with maintaining constant quality control and jeopardise the overall outcome. For most demanding clients and complex projects it is unacceptable.

But there is a solution. Just outsource your software development from Europe to… Europe! Doesn’t make sense? Actually it does – you can find in Europe a country, where no communication, cultural, territorial or quality issues occur. source: Wikimedia CommonsIt is source: Wikimedia CommonsPoland – central European country, with IT professionals meeting highest European quality standards, but still with labour costs considerably lower than in Western Europe. Thanks to being a member of the European Union, Poland is a convenient partner in software business, because there are no legal obstacles to cooperate with Polish IT companies both remotely and on site.

What about the quality? Polish programmers have always shined with their outstanding programming capabilities – which is why some of the world’s best known technology companies, including Google (with currently 2 research centres in Poland), Motorola and IBM (in collaboration with Wroclaw Research Centre), have decided to set up research centres just in Poland. Polish IT professionals have very strong academic background what guarantees the highest level of IT developers’ education. Adducing the last TopCoder’s country rankings (TopCoder is the world’s largest competitive software development community with 226,851 developers representing over 200 countries) 4 polish universities have placed the top 25 school worldwide: University of Warsaw (1st place in 2005!), University of Wroclaw, Jagiellonian University and Poznan University of Technology.

Staying with TopCoder competitions – these programmer rankings are based on individual and university achievements and Poles regularly lead both sections. In 2005 Poland has left the US behind and taken first place in TopCoder’s country ranking. Currently (2009) Poland take third place.

Listed below are some more of the successes achieved by Polish programmers – in the Imagine Cup, the world’s premier student technology competition, hosted by Microsoft Corporation:

  • Imagine Cup 2009 (Cairo, Egypt):
    MashUp – second place
    Interoperability Award – second place
    H.E. Mrs. Suzanne Mubarak Special Award – winner
  • Imagine Cup 2008 (Paris, France):
    Embedded Development – third place
  • Imagine Cup 2007 (Seoul, South Korea):
    Algorithm – first place
  • Imagine Cup 2006 (Delhi, India):
    Algorithm – first, second and third place (!)

As highlighted above – Poland turns out to be a perfect destination for outsourcing software development, with no obstacles typical for outsourcing countries outside Europe, with outstanding IT capabilities and highest quality standards but still in attractive prices. Sounds like a bargain – and in fact it is! So when you are going to develop a software and you need to enlarge your development team for this or you simply don’t have staff available to make it – don’t hire anyone but use outsourcing to Poland. It is fast and convenient way for delivering high quality, complex software on place, on time, on budget.

After 4developers conference

Today I attended first of two major software conferences that are happening this year in Poznan. I was interested mainly in project management and java paths so I can share some reflections only about those.

First things first – from organization side everything was very professional – good. Next thing that drew my attention was about people whom I noticed on java path – looked like mostly students – so where are those developers willing to increase their knowledge? shame on you, at work of course doing daily work, but this is also my more general and recent reflection about developers’ willingness to develop themselves – maybe some day I’ll write about it.

So getting back to actual content of conference, my conclusion is that it was very mixed, there were some good speeches and worse ones. On pm path I was actually slightly disappointed with level of knowledge about agile methods and scrum. I really thought that everybody is using it now. Some people were mentioning about using it or trying to use it but I could clearly see that approach on implementing scrum that was taken was more or less wrong. This is another subject to write about – but from my experience it’s clear – if you try to implement scrum only on development team level without getting higher to company management you will always fail. simply as it is. Otherwise most of the people seemed to be using heavy approaches, usually pmi promoted by guys from allegro, but strangest for me was one guy wondering how is it possible to run project without using ms project. Hey! this is so not 2010. but maybe it’s just my personal deviance that I would promote agile everywhere?

Anyway concluding – good conference, still many things to improve. Next there is Geecon in May , let’s see what happens there – this time almost all espeo guys are joining.

We begin to see a rainbow. But will there be the treasure?

There are views, nice views. Views of growth, prosperity, success. Still a lot to do – but what’s been done, is going now in the right direction. Not only the number of projects is rising – but the number of our own developers as well. It’s just like in a nature – the better soil, the better plants – but also bigger crops so more hands are needed.

After quite successful beginning of this year we had another office party – it helps us not to forget where we work ;-) Simply a statement from our marketing materials which says “Members of Espeo are its greatest value” it’s totally true! And what was this time? A mysterious place in deep woods with classical tenpin bowling facilities – it was truly something! None of us was experienced in it – so it was seriously challenging for every member of our crew. How astonishing emotions were there, you couldn’t simply imagine.
Leading was changing every single minute, every point counted, every move was… a crap :-D   There were some moves worth seeing, but basically – we were poor. Especially… me,  to be honest. At first it wasn’t going so badly – but as the time passed by, so did our “talent”. Nonetheless there were winners – however I wasn’t among them.

We really enjoyed it. And we enjoy what’s going on around us. A temperature is rising, a sun is less and less timidly showing behind the clouds and our company is growing thanks to proper watering. After the raining times there is a rainbow on the sky. Now let’s find the rainbow treasure!

It’s freezing outside…but development in progress – as usual.

Winter is in its peak nowadays! It’s so cold, that minus five degrees (Celsius) feels
like hot, minus fifteen is typical and when it’s minus twenty five – we can say “it’s
getting a bit colder” ;-) A temperature exceeding minus thirty degrees is even happening
- what a weather, for God’s sake we’re not in a deep Russia, are we?!

Although our cars are seriously wounded by this critical conditions and getting to the
office on time is becoming a challenge – development process stays unimpressed and
evolves as was meant to. Simply astonishing way of dealing with complex IT projects -
despite the world is so unfriendly outside, in house it all works like a Swiss watch.
Public transport is struggling with major drawbacks, roads are black no more and are
becoming a one, huge ice rink, selected schools are going to be closed, flight are being
canceled one after another – but developers from Espeo are doing their job as usual.

What can I say – guys still make a huge impression on me, even when I’m no longer the
“new one”. As a sales person all I can do is to stay aside, admire their achievement and
make sure there will be always some challenging projects in a queue.

New year – new challenges

And it’s happened – the 2009 is over… The time is passing by like a TGV train – is it just me or it happens to everybody?

I look at my mates in the office and I see they know that it is 2010 now. However they don’t seem to bother – it looks like they have a new energy to work, to have a fresh start in a new year.  Good for them! Having a spare time is something, we can’t afford nowadays – and it could be even harder, as some new challenges are right ahead. And you know what? I can read from our developers’ faces that they were expecting it! Even more – they were waiting for it, as new challenges are like an air to breath for them, like a petrol for a racecar – “too much” is not in their vocabulary.

What can I say – let the 2010 begin!

Agile methodology – leading to teamwork improvement

As far as a team’s effectiveness is concerned, I can easily tell, that in my opinion, based on my eye-witnessed observations, employees who are familiar with and experienced in agile methodology are far better team players than those who aren’t. This statement’s got even stronger meaning, when you realize, that for me it is a totally new subject and I’ve never come across this kind of methodology in software development before!

It all started during our office Christmas party. We were divided into two groups, with different goals to achieve. What surprised me the most, was that making two groups was the difficult part – as everyone wanted to be with everyone :-)   After two teams were made – all following steps were processed as they were planned to, without a scratch, and all were delivered on time. The level of understanding and an easiness of acting as a team was astonishing.

The next day I was even more mystified when I discovered, that during typical business activities concerning software development, all was lead in the same way as it was still a Christmas party – with a great understanding, effective cooperation, perfect communication and in awesome moods.  In this moment it became obvious to me – it is the way how software should be developed. Ever.