What stops a developer from being effective...Part II
Today i'm nearly at the end of my current contract. We did a lot engineering, created Toolchains, trained software development methods and so on... and so on ...
After a year of work with nearly the same team i have to recap that it is really the developer (lets call him Senior
) itself what stops him being effective... really often! The Senior don't want to do its work in his team as far as his sponsor let him do. The Senior wants to do always everything. He want to play each role in the Team. He is architect, business engineer,junior and senior developer in one person! He wants to break the rules all the time. But why?
At least i'm not sure WHY the Senior not just does his work... it could be so simple. But it isn't for him. If there is a tool he uses, he has to understand it completely because there is a little possibility that he needs to understand it one day completely. Some day ... well it is this little sentence what makes him so unproductive ALL the time. Some day... he develops that his tools are able to fulfill all requirements out of the box ... some day ...
The Senior also don't want to read concepts... and he ask things like this then: "is it really neccessary that we chain here the primary key?" Surely he asks another Senior and not the guy who did the conceptional work!!! Sure not!
So what shall we do with Seniors like him? In my opinion there is only one really helpful mechanism: Transparency!!! We must encourage the whole team in which the Senior works to become more and more transparent. So it's transparent when he break the rules, when he isn't able to do just his work packages because he wants to play around, do work from other roles than his one, just being a business or a technical developer. What helps?
Well, first of all it helps when he has to show his proceedings iteratively (for example via SCRUM Reviews, but this is only one possible solution)It helps also if there is a teamplayer who is able to check and recheck periodly what the Senior did the last few days. The last few years i often saw Seniors, more and more of them... why?
Because modern technologies like Spring or JEE are able to do a lot in magic ... but from Seniors view the only magic one is hisself!
just my 3 cents
Posted at 08:21AM Jun 30, 2010 by arrasz in General | Kommentare[0]
What stops a developer from being effective...
This week is a horrible one so far... why? Let me explain it a bit provoking...
First of all it's the week after easter ... so most people are still on holiday or at least in some kind of holiday mode... this is quite annoying in projects with hard deadlines! Anyway it is...
Second problem this week is, that theese ominous human proxies are not working as expected... they are just on holiday too
incredible, isn't it?
So far nothing new!? Well in my opinion this is what most developers stops working and getting some progess in their projects. But how to measure this? Is it measureable? Does it make sense to count this "sleep" times of developers? Hm, currently not sure about that, some developers use this "sleep" time to read articles or even write blogs. Both is good for their knowledge and could help later. BUT what is really really timekilling is that they loose the workcontext and concentration each time. Furthermore they stop working and often they stop others on their work too because they are just bored!
So what is the conclusion of this article? Managers, sponsors or projectleads should enable their developers working at a strech for getting a good teamperformance. They should learn not to interrupt the whole team with each little new aspects... thx Scrum for this hint making PO's and PL's doing their work (a lot of other things NOT
)
Imho the most important conclusion is, that the enviroment work has to be DONE ALWAYS before developers start their work on a project...
Just give them at project start
- a running test enviroment (if possible exactly configured like production system)
- a finalized and accepted concept
- a concept which adresses really only the relevant features, NOT all ideas which never comes up
- a Roadmap with prios
- contact persons which are NOT on holiday
If only theese issues are resolved the team motivation AND performance will impress you...
just my two cents worth
Posted at 01:53PM Apr 07, 2010 by arrasz in General | Kommentare[0]
OSGi (currently Apaches Felix) and its repository Features
At my current project i found the typical conceptional problem ... conception just exists in the head of the senior developer. But he forgot a lot things like
- SLA
- Monitoring
- Requestcount
- Encapsulating of the business code
- tbc. (the typical ones)
Furthermore at the first inspection of the code i thaught "hoooo this must be a perfect real life example of A. B. "Best Practises of EJB3) I found the JPA layer completely overall in the business code (the roadmap 2010 speaks of a possible migration of database and layer too) ...
The next showstopper i found in the underlying technique ... they decided to use JBoss 4.2.3 in a clustered enviroment with jBPM as Processengine.. the SLA told me that there is 99,75% uptime needed... *ouch* just the upscaled deployment time would then eat all our clearance... (the EAR is in real, should be 8 business EARs and 4 "Service-EARs"
At least there is the little problem that we have some kind of Monitoring and Managing Swing Application which consists of several "modules", one for each Business EAR.. But some of theese Swing-Tools need hours and hours to run their started jobs in backend... so we cannot just stop and restart the Swing Client..
As Solution i decided (after hours of discussions and brainstorming with the stakeholders and the team) that we crack up the monolitic EAR into smaller Ears. This helps decreasing the deployment times... first little steps. After this we decided to Migrate step by step each Swing-Tool into a new OSGi (Apache Felix is used) based Swing-Tool where each business-frontend is a bundle!
So next problem was then how to rollout theese Bundles when the system administration has no idea how an ObBR-Repo works... Solution here was that we include now the bundles into a wepapplication which is bundled within the EAR itself. This is quite simple because at least an OBR Repository is just a web folder with bundles and a file called repository.xml included. But how could i create a repository.xml without manual work? First of course i tried the typical tools like
- maven-obr-plugin
- maven-bundle-plugin
But as expected theese tools are written to run just in a OSGi Enviroment (well ... why not
) so actually there are only 2 solutions available for me ...
- Writing an own Mojo which uses bindex.jar from Osgi
- Enhancing one of the available modules so that it can create a repository.xml
Posted at 11:44AM Okt 30, 2009 by arrasz in General | Kommentare[0]
Inspecting IntelliJs Opensource CommunityEdition
Last few days i had some time inspecting the upcoming opensource version of JetBrains IntelliJ IDE.
As far as i know IntelliJ has about 10% of IDE Market and so it is one of the few big player aaand ... as far as ai know the ONLY commercial one which is successful (surely you could announce here Rational and Co. but .. to be honest, no one would buy such an overwhelmed thing when there is no need to do so ... just if management has already bought WAS, BEA / Oracle .. so i decided to differ here
)
Well, after playing around about 3-4 hours its hard to get a real image of how cool IntelliJ could be because the CE Version has NO support for EE-Projects so i had to play around with a maven2 project to get a little idea how IntelliJ works. After opening a maven2 project the IDE began to inspect the project and it created a intellij project from the Maven Descriptor... but why? Netbeans show how an IDE could handle a maven project WITHOUT such annoying migrations(is it possible to get a "clean" maven project inside the IDE?)
After waiting about 10-15 minutes of importing everyting the IDE is back to work and useable before there was no chance doing anything.
For now i just add now a list with cool and surprising features (probably i will discuss some of them later on)
- Best GUI Editor after Matisse i have eveer seen
- Best Refactoring Support i've ever seen (return Middleman!!)
- really intuitive Unit-Test Support (TestNG and JUnit 3+4 included)
- Spellchecker!!!
- absolutely cool roundtrip in XML
Posted at 02:15PM Okt 26, 2009 by arrasz in General | Kommentare[0]
Pragmatische IT-Architektur Part II
Last day i had some time in germans ICE without any possibility to go online... nasty... anyway i used it to read some more pages in Pavlos Book. Actually i read all till Chapter 5 (this is the interesing one i assume). Well as i wrote some days before, the book is really really readable. My seatmates in train looked always a bit surprised... such a booktitle ans he laughs always ... humm..
Back to topic, Pavlo understands it to grab attention with his handy ideas how to handle projects and , this is the MORE interesting part, the people and their roles in project. His idea how pragmatic people could do their work is really charming. But people who search for a architecture book which helps them get the real theoretical approach... don't buy this book or you will probably becoming outraged. Pavlo isn't a speaker of dogmatic theoretical, just adhering, ideas ...
Last part of book review will come the next few days ... stay tuned
Posted at 08:35AM Okt 26, 2009 by arrasz in General | Kommentare[0]
Pragmatische IT-Architektur
Last week i began to read this book from Pavlo Baron. He is a well known (probably only in Germany) business article writer for Germans JavaMagazin (www.javamagazin.de) In my opinion his articles there are really readable so i decided to buy the book.
Actually i read the first 60 pages and i laughed a lot ... sometimes because his examples are really real life examples and i remembered my own mistakes or projects where i have to help to clean up and so on. On the other hand i laughed because Pavlo understands it to attract you to his real world examples.
So after the first 60 pages in my opinion this is really a must for each Architect in real world projects ( i differ because in my opinion projects in huge companies are not really real world projects
)
Stay tuned, i will follow up here after more reading

Posted at 09:51AM Okt 09, 2009 by arrasz in Java | Kommentare[0]
Maven Enforcer in cruel Development Setups
Currently i work on a project where Maven2 is the build too. The project consists of
- A Swing Client (Java6)
- A JBoss Backend (Java5)
- lots of webservices and REST-Services
All theese is managed with one root pom and a lot of directly used subs. So its quite problematic to organise all deps and enviroment variables. So i decided to help our developers with more informations about our considered enviroment and added the famous
"Maven Enforcer Plugin" to the relevant poms. And ... directly 15 mins after my commit the first developer began to cry his build is broken ... what should i say .. the Plugin runs like a charme and helped our developers in 15 mins to clean up their enviroment... nevertheless after that we now have to work on clean up our dependencies that the build come back to normal
Because most of the tutorials i found around the Enforcer Plugin are not working i add here my working solution too
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>1.0-beta-1</version>
<executions>
<execution>
<id>enforce</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<requireJavaVersion>
<version>[1.5,)</version>
</requireJavaVersion>
<requireMavenVersion>
<version>[2.0.10,)</version>
</requireMavenVersion>
</rules>
<fail>true</fail>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
To get more informations around the plugin use this link here : http://maven.apache.org/plugins/maven-enforcer-plugin/usage.html
Posted at 08:54AM Okt 09, 2009 by arrasz in Java | Kommentare[0]
Don't forget your Container Spec. :)
Till now i searched for 4 hours a "bug" in my little prototyping for a colleague. He asked me to add JPA in a servlet he developed. Little practise i thaught ... haha ... well usually this is sure just only a little practise. But be careful with such promises..
I learned the following: If you always develop against a full qualified JEE Container like Glassfish or JBoss you forget the little things, like that a Tomcat isn't a full qualified (thx Ollie for this reality check). I just ignored that the injection is a EJB Feature and thus not available per default in a tomcat!
Honestly i have to say that usually i would never create such an enviroment for myself because its nearly untestable
So always check your container firstly when a common JEE feature isn't working as usually expected
Posted at 01:20PM Sep 22, 2009 by arrasz in Java | Kommentare[0]
Misusage of Processmodels and "Simple Development Models"
At my new Job as JEE Consultant i learned last few weeks a lot of new Stuff like a process model called "Scrum". I thaught - hey, that's cool, this model is well known so i can use all experience directly - hm ... my fault ...
The developer team showed me how easy it is to misuse an elegant processmodel like Scrum in a way that it is more a showstopper than helpful. Some facts:
* There are SOME SprintGoals
* all Meetings are NOT timeboxed
* Focus Factor comes from the Product Owner
* Scrummaster accepts no Impediments after Sprintplanning 2
* The team plans Tasks, not BacklogItems (this is obivously the reason for theese long plannings)
* Because they plan all Tasks at start (2 days long!!!) they loose adhoc all experiences they probably could make during the Sprint.
The however biggest problem is, in my opinion that this team is the "Reference Team" which tests Scrum as new processmodel for this company. Moreover all other teams now wants to participate on their experiences and knowledge...
Conclusion ... even if there is not enough knowledge on processmodels and workflows which are as easy to learn as Scrum .. then it is more a drawback then something helpful ... annoying!!!
One more topic today is the problem of modern "architecture" books. They want us to show this development world as simple as possible. (check a ejb2.x book versus a ejb3x book) Most of the starters in theese techniques read just a book to start with. So today we loose all hard gathered decouplings between technical levels and functional levels because of some articles and books about ease of ejb3 development. The whole application in 50 kbytes plus the small ejb3 jar .... hrmm ... is this really a common need?
In my opinion we should USE our experience from techniques like ejb1.x or 2x and we should be careful with just trashing all decouplments just to economize our development time.
Posted at 09:53AM Aug 26, 2009 by arrasz in Java | Kommentare[0]
Java und Flash im Streamingverbund
Red5 der ideale Streamer?
Da wir im Augenblick ein recht spannendes Projekt konzipieren, wo auch Flash als Player im Frontend genutzt wird, bin ich auf den OpenSource StreamingServer Red5 aufmerksam geworden, welcher unter anderem auch FLV über rtmp streamen kann.
Generell war ich ob der Performance und der Features des Systems recht begeistert. Die Tage werde ich noch eine Referenzimplementierung für MINOS fertigstellen und somit sollten wir in der Lage sein in MINOS dann aus unserem JCR heraus über MINOS und Red5 in Flash-Clients FLV und andere Formate über rtmp zu streamen. Was ein schwieriger verschachtelter Satz ...
Mehr dazu in den kommenden Tagen...
Posted at 05:50PM Aug 22, 2008 by arrasz in General | Kommentare[0]
