//
archives

giulioroggero

giulioroggero has written 26 posts for Isola Software

My Agile slides now Available in CC!

You can use them, you can change them, you can trash them :-) I hope that in a way or in another these slide can help you!

Agile: The Board Game, board prototype

Just screenshots. More details about next week’s post!

 

 

Origin http://127.0.0.1:8888 is not allowed by Access-Control-Allow-Origin – GWT Debugging

During GWT debugging, if you are making a RequestBuilder on a different domain without using JSONP, you may have this problem.
To fix it you must configure Header in order to accept requests from other domains. In Apache HTTP Server you can set them in the VirtualHost configuration of bar.com using the directive Header set.

 
Header set Access-Control-Allow-Origin "*"
Header set Access-Control-Allow-Headers "X-Requested-With"

Or better filtering by your origin – see also https://developer.mozilla.org/En/HTTP_access_control#Access-Control-Allow-Origin


Header set Access-Control-Allow-Origin "http://foo.com"
Header set Access-Control-Allow-Headers "X-Requested-With"

IAD 2011 – Lesson Learned: Anti-IF campaign, A3, Lean, Kaizen, Agile Coaching and UX

I’m on train returning to home after a beautiful and really interesting day at the Italian Agile Day – http://www.agileday.it. The event is self organized and rocks!

The agenda was rich of interesting themes - http://www.agileday.it/front/programma-2011. I’ve made difficult choices (and I missed the keynote :( …):

All of the speaker were really effective and inspired me for my future personal development:

  • www.antiifcampaign.com: improve the adoption of Object Oriented techniques removing bad, dangerous and not necessary IFs. This helps to keep code simple and clean and reduce the evolutionary cost of the system. Not all Agile teams keep this attention on code and the fact that the code, at the end of the project, will continue to evolve. If the code is well written the maintenance and evolution cost less than the code base, if the code is bad written (IF code) the evolution of the system will cost more than the project itself!
  • How much the evolutionary software does it cost? Too much! Francesco Cirillo is collecting historical data and he is observing that the adoption of Agile techniques without keeping always the contact with the real world is increasing the cost of projects, especially in mature Agile teams. He advises to revisit eXtreme Programming techniques and to follow the Anti-IF campaign.
  • A3 Thinking is a Lean technique used to implement Plan-Do-Check-Act.
  • 5 Whys is a very effective way to do retrospective.
  • Management on Agile enterprises don’t blame, are not friends (like a big family) and are not absent; they work actively to remove impediments serving agile teams.
  • Lean is soft on people and hard on processes.
  • Lean means make money through people development. Claudio Perrone said.
  • UX (User eXperience) can be combined with an Agile approach. Renato Mancuso advises to run a Sprint #0 where the UI vision is described and shared. During the next sprints define UIs first, together with developers, and after implement them.
  • Balsamiq is a good sketch tool that helps to create Mockups.
  • To be a coach you have to study and practice a lot! Fabio Armani indicates several interesting books to read: The Kaizen Way, Growing Agile leaders, Thinker Toys, Getting Things Done, 7 Habits and more (I’ll check the Fabio’s presentation when it will be available).

All of these lesson learned in just 4 hours of conference! What a great day.

Contracting in Complex Project – Apache HTTP Server, a case study

This is my presentation at PMI-NIC conference on Complex Project Management held in Milan Nov 11th 2011.

I’m participating to a group of study on Resilient Contracting with the aim of investigating the ways to manage a contract where the project is complex and cannot be planned upfront.

In the below slides I have presented how the Open Source community has addressed this problem moving from the contract game approach to a collaborative game where only the background rules are defined and the ethic and willingness of giving emerge.

A test with Kaazing WebSocket Gateway – HTML5 Edition and… lego!

During the past week we tried out WebSockets to monitor and control devices on the field. In 2008 we presented at SVG Open Day an implementation based on SVG and AJAX that, using polling, monitor and control a lego MindStorm - http://www.svgopen.org/2008/papers/47-Real_time_monitor_in_SVG_a_use_case_in_Machining_Technology_HMI.

During these years technology is evolved passing to Comet and now to WebSockets. In 2010 we tested WebSockets but aren’t not so well support as are now. Kaazing Company – http://www.kaazing.com – has proposed on the market a WebSocket gateway really interesting and easy to integrate.

We’ve tried the HTML5 edition modifying the Lego Mindstorms SVG page built on 2008, that monitors and controls lego, with the Kaazing WebSocket library and jQuery. In the video above two examples.


http://www.youtube.com/watch?v=aF-qf1P4Q48


http://www.youtube.com/watch?v=yJSZ-00CBQM

WebSockets are leveraging the messaging systems to the Web helping companies to move from desktop applications to more reliable and device independent web applications. These new kind of end user application can be used now also in the industrial world without compromise the user experience.

Private Cloud Foundry Hello World

Cloud Found (https://www.cloudfoundry.org/) is a VMWare PAAS that has been released as open source and can be installed privately on your infrastructure. Once you have your cloud installed you can start to develop with Eclipse and publish your application in the new Private Cloud. Here are the steps to follow.

  • Add to your file host the dns name of your server.
    192.168.9.23 javatest01.cloudbox.net.intre.it
    192.168.9.23 drawbridge.cloudbox.net.intre.it
    192.168.9.23 api.cloudbox.net.intre.it
    192.168.9.23 cloudbox.net.intre.it
  • Download Eclipse STS - http://www.springsource.com/developer/sts
  • Install Cloud Foundry plugin
  • Connect to api.cloudbox.net.intre.it (change with your server name) using your account information (to add an user use mvc – https://github.com/cloudfoundry/vmc)

    Tasto destro->New->Server

    Next

    Add server  api.cloudbox.net.intre.it clicking on su Manage Cloud e clicking Add.
  • Create a new Eclipse Dynamic Web Project



    Right click on the Project -> Spring Tools -> Add Spring Project Nature
  • Add the project to Cloud Foundry double click on Cloud Server in Tab Server.




  • Add an html file for test in Web Content

  • Browse the application
If do you need details how to install Cloud Foundry on your private infrastructure please left a comment that I’ll publish a post about it :-)

Agile: The Board Game – the board concept

Here are two sketch of the board. The idea is that you draw a card with the project vision and than you start:

  1. Project Vision Analysis with a Idea Clustering Brainstorming
  2. Product Feature expressed in User Stories
  3. Estimation with Poker Game and Story point + Estimation with PERT Three-Point method + Estimation with Montecarlo Analysis
  4. Project Budget, Release Plan and FTE calculation (this is not really Agile but help with the management communication)
  5. Execution in sprint  (see the sketch): sprint planning part1 and part2, execute with lego, review meeting, retrospective meeting with 5why analysis (yes this is Scrum).
  6. Every 5 minutes roll a dice and draw a risk/opportunity card. This card may influence the sprint or the product backlog.
  7. At the closure: lesson learned, celebrate and project closure
The idea is each step long 5 minutes.
  • One day is 5 minutes
  • One meeting is 5 minutes
In that way you can check your plan and estimations. More details in the next days. At the end of October we will run a complete test session.

Agile: The Board Game – first concept in action

In this first week of work we have produced a concept of Agile: The board game and tested it on a sprint. Here are some photos of the test session. The sprint execution has been done using lego. The project will be available as open source in the mid of November 2011 here https://code.google.com/p/agile-the-board-game

Hibernate and JPA error: duplicate import, try using auto-import=”false”

Using Hibernate and JPA you cannot have two classes with the same name (on different packages) mapped. This raise an error at runtime:
Caused by: org.hibernate.DuplicateMappingException: duplicate import: MyClass refers to both com.intre.MyClass and com.dummy.MyClass (try using auto-import=”false”)

To solve this issue on the Entity annotation  of com.intre.MyClass and com.dummy.Class add the property name.

package com.intre;
@Entity(name = “com.intre.myclass”)
@Table(name = “MyClass”)
public class MyClass …

package com.dummy;
@Entity(name = “com.dummy.myclass”)
@Table(name = “MyClass”)
public class MyClass …

Twitter Updates

Follow

Get every new post delivered to your Inbox.

Join 67 other followers