Nowadays I have no time to share my thought here, furthermore I have a tough NDA been signed, so nothing to be mentioned about recent events.

But, I have found a good article describing how a senior code developer evolves. Enjoy!

And another new expression: code origami. I like it.

Previously: EPF Composer

BPMN – Bizagi Process Modeler

I had to continue seeking ways to show processes visually. I knew UML2 together with its limitation, and I looked for other standard modeling languages to visualize process flows. I found BPMN, Business Process Modeling Notations. First I read the standard, and I found that very useful. I found BPMN support in Visio, but it was really cumbersome to draw process models. I gave up. Then I started to browse the internet systematically to find support tools for BPMN. Sourceforge did not provide solution, but I found Bizagi Process Modeler. This application is a (free) part of a huge system, what is able to compile and execute the models you create in BPMN. It looked very impressive. Of course I downloaded it immediately and started to use. It was awesome! It knew everything I missed before with other tools! It fully supports BPMN, but lets you to deviate a bit from the standard. Drawing is easy and fast. I really recommend.

So, I found the best tool ever to visualize our processes. The question was how I can integrate the pictures with the text, and how the user can browse it easily. I used one of the oldest solution: HTML. I put HTML imagemaps on the pictures I exported from Bizagi Process Modeler and linked them to the appropriate parts of the text. It works well, easy to browse, easy to maintain. I’m satisfied so far, but I’m sure I’ll try other tools if I find any. I’ll let you know if I see anything better than Bizagi Process Modeler.

Previously: Enterprise Architect and StarUML

EPF Composer

We were coding our products in Java Eclipse, and when we looked for add-ins to Eclipse we accidentally bumped into EPF Composer. This is an XML based tool for Eclipse that is able to handle all types of objects necessary to describe processes. First I did not want to get rid of UML, but I had to change my mind. EPF Composer is able to contain both text and process flow diagrams, and maintain the links between the objects. I really loved working in EPF Composer! It had a template for processes, containing fields for all interesting aspects, like summary, description, roles, WBS, and even best practices, templates and guidelines. It’s a really powerful tool! Generally I was really satisfied with EPF Composer and its features. The designed process definitions appeared in an HTML based report what we were able to share on our HTTP server. But, of course there were issues. It works well only if you use the same structure that has been defined in the software. This structure is too complex, because it needs to be able to store everything. We wanted to simplify that, but when you skip an object between two others (like process – roles – role definition path you want to get rid of role level, as role definition is enough) you cannot hide the intermediate object, therefore users need to click twice to find the appropriate object. In other words: you have to use and maintain all objects, which were defined in the application. We gave up using EPF Composer.

Will be continued…

Previously: Visio

UML – Enterprise Architect

We used Enterprise Architect to maintain our software designs, so it was straightforward to try its Business Process extension to draw our processes. Enterprise Architect did the work, it was quite easy to show who does what. It provided solution to keep our document templates just next to their definition, and it was able to track the changes made during continuous improvement. There was only two drawbacks: its price and the lack of acceptable and readable export.


UML had led us to success in Enterprise Architect, so we looked for another tool supports UML2, for free. I found StarUML, which is a quite good UML modeling tool, and it is open source. I started to redraw our process models in it based on the Enterprise Architect models. I could draw only the first few boxes to realize that StarUML supports connections only according to the UML standard, while EA was more flexible. It was impossible to create drawings with the same information content.

Will be continued…

Previously: RoboHelp


The first tool I wanted to use to create graphical overview of the Quality System was Microsoft Visio. It is able to draw anything you want, but sometimes the standard license is not enough. Professional one costs a fortune. I entered an overview of the system, and then one of the most complicated processes: Software Development Life Cycles. The initial drawing was not an issue, but later maintenance was a pain. Visio handles the graphical elements as graphical elements – how surprising -, and all of them has its own isolated life. Arrows crosses boxes, overlaps, and it is cumbersome to align boxes. Since process development normally means hundreds of changes in the first period, I gave up after a few days. I really do hate Visio.

Will be continued…


Previously: PDF


When we failed with PDF files, we initiated a project to look for possible tools to migrate the Quality System in. Since the main lack was the integration of the different processes, tools were sought that support one click reference between document parts. HTML seemed to be the most appropriate solution. The documentation team began seeking a tool, which is able to generate HTML or any other browser supported content. They evaluated Frame Maker and RoboHelp among some other free tools. RoboHelp has been selected with Flash content generation.

The documentation team migrated the entire quality system to RoboHelp. It took a week only, and then we started to revise and close the gaps between the independent processes. In half year the quality system was better than ever before. Some people, who were a bit more familiar with the content started to read and refer to clauses in the Quality System. In the years before there was only a few change requests, after the migration almost a hundred arrived in 5 months. The Quality System has got alive.

There was still an issue: newcomers were not really able to find the things in the QS. There were no pictures in that, only text, text and text. And as we used the documents, we realized that there are still gaps and mismatch between processes, and the description of some processes was still confusing. I decided to look for ways to show the system graphically.

Will be continued…


Before: Paper based


When I joined, they had the quality manual in electronic form: PDF files. It was more suitable to handle. Furthermore they did not distribute the manual to every employee at every change: the latest version was only available on the intranet, and it was forbidden to create hardcopies.

Worked, but still, there were problems. Every process was in separate PDF file and the links between them was not successfully maintained. The consistency has gone as changes were made. To avoid of frequent changes the processes were designed on too high level, only providing requirements to the daily work, not best practices or a real workflow with advices. Therefore staff did not feel that is helpful enough; they were not able to overview that. They were not allowed to copy and store the documents, so they needed to download them every time. This would have been fine, if the server had not been 2000 km away, behind an internet access with extreme narrow bandwidth…

This was an acceptable way to handle these documents, until the company was taken over by another one. The acquisition required the complete revision of the quality system, and that required a lot of changes. These changes made PDF files confused, full of interfering processes, undefined roles and inconsistent terminology. A change was necessary.

Will be continued…

You will face Mantis’s limitations just as you have started using that. I have only two days of experience, but I see that this tool is not competitive to other free bug trackers. Let me have some example:

  • CSV export is comma separated. And it exports text fields without text identifier (“text”). What do you think; can the export be parsed successfully? No, because if any text field contains a comma (some will!) the parsing dies for that record.
  • CSV export suddenly dies after ~4500 records, it is impossible to export the entire database (14000 records, so it is very small). By the way, it is a simple coding issue, because it’s possible to export all record to “Excel format” (see below)
  • E-mail notification on new record does not work, however it has been set.
  • Let’s assume you are browsing the records. You want to set Mantis to display 100 records per page, but accidentally you type 00. The page you can use to browse the records will never be displayed. Furthermore you will never be able to access the setting itself. The only thing helps is to remove all cookies from your browser.
  • XLS export is NOT an XLS export. It is HTML, and the extension is XLS. Excel opens that, but there will be issues with the first 25 rows, the rest 13978 is OK. You need to manipulate the export manually to fix the issue.

I DO NOT RECOMMEND, really. Try something else instead.

… visit

There you can initiate a contest on a minimal, USD 250 price, and get logo proposals from around the globe. If you provide your feedback frequently, new proposals will refine your preferred ones, and the result is a logo you have always wanted.

It is recommended to set up contests finishing in the middle of the weekend since most designers play in their spare time. Also recommended to give feedback frequently to speed up the competition.


I have a couple of friends in General Electric Energy Division. I was continuously begging for having an afternoon when I can see their work. Last week they got the approval to bring in some of their relations and guide them through all things they do. Since they work with LM 6000 turbines, they picked a day when a fully assembled power unit is ready to ignite. Last Thursday was that day.

I arrived at 2 pm together with many workers of swing shift. At the main entrance we got eye protector glasses just after the registration. GE has very strict regulations on health and safety, every people entering must be trained. I learnt where I need to wear the glasses, where can I walk in the plant, what rooms I’m not allowed to enter without protective shoes. We have seen large turbine stators under construction in the turning-lathes, large turbine blades, and surprisingly low number of people.

We walked through the assembly hall where LM6000s are assembled. An LM6000 consists of two large containers: one for the turbine unit, and the other for the generator. These containers are fully assembled here including welding, painting, integration of pipes and wires. Of course before installation these two containers get some additional equipment such as air filter, exhaust stack, hydraulic and fire extinguisher module.

We arrived to the yard, where the awesome and huge unit was waiting next to the separated test building, fully equipped, and was waiting for testing. The yellow blinking lights around the building warned everyone that the testing is in progress.

We have found the testing team in the middle of their work. They seemed to be a FormulaOne team during the race. Each of them had a huge headset with active noise suppression on both the speakers and the microphone to be able to communicate just a few meters from a working turbine. They were locating some cabling problem inside the unit. Since they were working inside the unit, the CO2 fire extinguisher system was deactivated, so we were allowed to look inside the turbine and the generator rooms – of course with steel toe cap on our shoes. It was amazing. I was not allowed to take any photos, but believe me: the things inside emitted the feeling of professionalism and preciosity.

They were ready and they decided to start cranking up the turbine. This means they start a hydraulic pump that rotates the high pressure part of the turbine up to 2200-2400 rpm, while the low pressure part reaches 200 rpm. This is for purging the air in the system from the air filter to the exhaust stack to avoid any explosion caused by gas leak.

During the start up process I saw the team’s professionalism. There is a process they need to follow and all of them know their tasks by heart. When the leader ordered the start all team members began to do their part of the preparation. Some organized fire extinguishers around the unit, some checked the doors and the fire system, one recorded the gas meter and one stood next to the “Emergency stop” button. They did it without any voice. Well organized, well trained team.

During the cranking they were not sure of the position of some valves. After a short discussion the cranking was stopped, and a few-hour-work began to check that the position monitor displays the correct values. When they finished they started the cranking again. This time they encountered software problems that seemed to be difficult to solve that day. They kept trying but it still remained at 10 pm. After 10 pm the turbine cannot be started due to its high noise. Unfortunately I was not able to hear how a turbine gets working, perhaps next time…

<Pictures are from here and here>