O technologii i biznesie naszym zdaniem
We have made our first steps in Germany
lipca 5th
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.
Time to speed your website – SparkUp session
czerwca 1st
One of the session on SparkUp conference was devoted to optimization of performance of websites.
Best practises I would like to remind for everyone who creates for web that were discussed.
Minimize HTTP Requests
- connect javascript files and
- use css sprite
Minimize transferred data.
- Minimize css, js and html files,
- use gzip compression
- use caching – for elements that do not change often use header expires,set it for one year
- optimize jpegs- you can often make then 50 % size smaller without any visible loss. You can do it by using tools like JpegTran or Smush.it
- optimize png – use png8 when possible
Check also Best Practises for Speeding Up your website
Strongly recommend to use tools below
- Firebug – tool for web developement
- YSlow analyses web pages and suggests ways to improve their performance
- PageSpeed gives you hint how to optimalize loading time for your webpage
- JpegTran optimizes jpg
- Smush.it optimizes all jpgs at once
user experience and design on SparkUp
czerwca 1st
25th of May, quite unexpectedly cause I decided two days before I attended SparkUp conference. I was mostly interested in Ux/Web design and till that time, my knowledge in this subject was rather intuitive.
First session I was interested in was lead by Andy Budd. Persuasive Design: Encouraging Your Users To do What You Want Them To Do. Andy told us how our natural behaviours are used to make us buy the product. He went through some persuasion techniques used by advertisers, brands, supermarkets and other people. There is scary amount of those…
He gave examples how those techniques are used in real world and online. Most of us is so used to appearance and behaviour of popular websites that we do not realize that those tricks are used almost everywhere on web !
- Trust in authority – Professional look- white, blue green for webpage of respected medical companies
- Layout and Positioning – using colors, size, positions to emphasize what you would like your user do on your website
- Social Proof – People prefer services where there is already many users- make at least the impression that your service is popular
- Loss Aversion – Last day of promotion, only till the end of the week you pay for our service half price
- Likeability and Gifting – Make people to like your service by for example giving them scores, good rates – people like being rewarded somehow , they like to get sth free : Pay 20 and get 5 for free!
- Reciprocity
Nice study – go via amazon, basecamp, facebook etc and check what they did to make us do what they want
The speaker of second session Marek Kasperski concentrate on people behaviour on webpage. The tiltle of this session was Mental Models. He was giving advices how to make UI most friendly for users, there was many issues he mentioned, most examples were about e-commerce. he showed proper and wrong designs. Below some facts I remember:
- mind is selective, always trying to find only exact information and it’s blind for the rest (Banner blindness) Help users find what they want – by contrast colours, good filtering of information, group similar information)
- when you design your website try to think like future user
- use colours culturally directed for your website users
- do not leave user with no information when long response
I bought his book Projektowanie stron WWW (as far as I know only in polish language), I will know more.
Wnioski i ciekawostki po GeeCON
czerwca 1st
Wszyscy programiści w Espeo mieli podsumowanie konferencji, na którym omówione zostały ciekawostki, których się dowiedzieliśmy oraz wnioski na przyszłość także technologie i rozwiązania, którym warto się przyjrzeć. Poniżej krótka lista, która wypisaliśmy
- ClusterJPA – narzędzie do obsługi klastra w oparciu o MySQL i JPA
- Spring ROO – dynamicznie się rozwija, wykorzsytywać w projektach springowych
- HPPC – Biblioteka do wydajnych kolekcji typów prymitywnych
- Eclipse RAP webowa wersja Eclipse RCP
- Wykorzystywanie komet do serwisów odświeżanych w czasie rzeczywistym. Wsparcie dla GWT oraz Grails
- Gradle – sprawdzic zamiast Maven’a, wydaje sie być bardziej elastyczny, także dlatego, że oparty jest o Groovy
- Akka lib – przykład wykorzystania aktorów dla współbiezności
- Project Coin – JDK 7 i małe zmiany w języku
- IBM dostarcza zestaw narzędzi dla tuning’u wydajności w javie
- Eclipse memory analyzer jako narzędzie do analizy wydajności aplikacji
- Współbieżność w Groovy z wykorzystaniem biblioteki GPars
- statyczna analiza kodu – zastosowanie JSR-308
- Apache Camel – narzędzie do zastosowania w projektach integracyjnych, implementuje wzorce z książki Enterprise Integration Patterns
- Obserwować rozwój Griffon’a i zastosować do projektów java desktop / swing
Geecon conference – review and summary
maja 18th
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
kwietnia 11th
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
kwietnia 2nd
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 Poland – 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
marca 27th
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?
lutego 22nd
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
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!
Zwinny projekt okiem programisty.
lutego 12th
Czym jest Agile dla programisty? Co zmienia zastosowanie zwinnego podejścia w porównaniu z klasycznym waterfall?
Klasyka
Mam za sobą kilka większych lub mniejszych projektów realizowanych klasycznie. Obserwowałem pracę programistów z różnych perspektyw. Ciekawa jest tu obserwacja jak zmienia się nastawienie pojedynczych ludzi, jak i całych zespołów do realizacji projektu. Człowiek potrafi zaadaptować się niezwykle szybko do środowiska w jakim przebywa…
W klasycznym podejściu rola programisty ogranicza się w zasadzie do ‘klepania kodu’. Powszechnie przy tym narzeka się na analityków, projektantów, a także testerów. Często nie dostrzega się klienta, czy nawet celów projektu, poza należną premią oczywiście
Jak wygląda (w uproszczeniu oczywiście) klasyczny warterfall
Miejsce programisty jest w zasadzie tylko przy etapie ‘kodowanie’. Jego rolą jest naklepanie treści do tego co wymyślił projektant… i przekazanie następnie do testera – z nadzieją aby ten nie wykrył tych drobnych obejść, które często wynikały z nieścisłego gdzieniegdzie projektu. W końcu po co zawracać sobie tym głowę – projektant widocznie tak chciał to ma.
Do takiej roli bardzo dobrze przygotowują wszelkie uczelnie. Po prostu trzeba doskonale znać narzędzia i język w którym się koduje. Działamy jak algorytm – na wejściu analiza, na wyjście dajemy działający kod. Nie ma znaczenia co gdzieś daleko za nami chciał klient, ani czego oczekuje po wdrożeniu. Jesteśmy tylko połączeniem projektanta z testerem.
Czasami rzeczywistość zaskakuje nas jak drogowców zimą
Faza analizy się przedłuża i nie ma czasu na projekt
Wówczas implementujemy często wynik analizy bez projektu… Jeśli przedłużyła się analiza – znaczy, że dziedzina jest trudna, pewnie implementacja też się przedłuży, więc może faza testów też jest niepotrzebna? Najważniejsze jest przecież wdrożenie… Tego chce klient (a może nie?).
W takich projektach Project Manager ma niełatwe zadanie. Ślęczy nocami nad znienawidzonym M$ Projectem, aby zgrać wszystkie etapy. Każdy próbuje zwalić winę na innego… To już temat na zupełnie osobny artykuł…
Programista podejmuje decyzje jedynie na temat tego czy użyć pętli while czy może lepiej for. Całą resztę zrzuca na projektanta lub PMa.
Agile
Jak wygląda zwinny proces rozwoju oprogramowania z punktu widzenia programisty?
Uproszczony schemat Agile
Tutaj idziemy przez całość zagadnień małymi kroczkami. Za każdym razem wykonujemy analizę, projekt implementację i integrację z całością. Za każdym razem dostajemy informację zwrotną od klienta czy to co zrobiliśmy to jest to czego oczekuje. Klient dostaje gotowe fragmenty, które może używać. Sam decyduje które fragmenty chce najszybciej.
A co robi teraz programista? Otóż niestety ma sporo więcej pracy. Przejmuje po części role analityka, projektanta, testera i wdrożeniowca… Niestety ma więcej pracy i odpowiedzialności. Ale myślę że praca ta jest dużo ciekawsza i posiada dużo większe możliwości rozwoju.
Niestety jednak, tutaj napotykamy problem. Większość absolwentów kierunków informatycznych nie jest dobrze przygotowana do przejęcia tych wszystkich ról. Nie wystarczy więc powiedzieć – od dziś pracujemy w agile. Trzeba nieustannie podnosić kwalifikacje pracowników.
Poszczególne fazy, z racji tego że nie są one w pełni formalnie osadzone, różnią się też sporo od tych znanych z podejścia klasycznego. Nie powstaje zwykle jakiś spójny dokument zwany analizą, czy projektem, który jest normalnie akceptowany i odbierany przez klienta. Za to klient akceptuje gotowa działające kawałki. Wydaje się, że ma to głębszy sens – za abstrakcyjnym dokumentem projektu nie widać zwykle gotowego systemu.
Uczelnie wypuszczają całą masę programistów. To samo w sobie nie jest złe, są oni zwykle doskonali w programowaniu… Jednak spotyka się takich którzy nie słyszeli nigdy akronimu SOLID. Podczas studiów wykonuje się niezliczone ‘projekty’ programistyczne. Niewiele z nich jednak przechodzi przez fazy analizy, projektowania, czy nawet testowania! A te umiejętności wśród programistów są niezbędne aby swobodnie realizować zwinny projekt.
Jest to jedna z trudności (i wyzwań) dla zwinnych zespołów – w klasycznym podejściu każdy ma swoją działkę w której nabywa umiejętności; w agile każdy jest specjalistą od wszystkiego
Postaram się dalej pokazać, że to nie taki diabeł straszny jak go malują.