Scrum World: I am a developer

First thing in the morning, I check the scrum board to see which task is in progress and assigned to me
I don’t have anything in progress, so it is time to pick up something new
I follow the priorities and I pick up something from the top of the list
I work on the task, comply with best practices, write unit and integration tests
When I am done I create a review for a peer and move the tasks to the ‘Review’ column
I take some time to review the tasks that are assigned to me, so my colleagues can also progress
My task comes back from review and I need to make some minor changes
After making the changes I update the files in the review and quickly get an OK from a peer
I move the task to the ‘Testing’ column
At the end of the day I deploy a release on the development environment, which includes all the tasks which are now in the ‘Testing’ column, including the one I implemented today

The next day…

As usual my work isn’t quite finish because a bug was raised by the test team on the task I implemented yesterday
I fix the issue and make sure the unit and integration tests are up to date
I create a review which is approved after a few hours
I deploy the fix on the development environment
I check later and notice the issue has been moved to the ‘Done’ column by the test team
I realize how good it is to use Scrum and work together with everyone in the team to achieve our common goals!

Advertisements

The other side of things

Here on the development department we are rarely aware of what’s happening on the marketing side and when we less expect they come up with nice campaigns for the projects we are working on. 🙂 This is the case of our project MapShare which is now getting even more attention because of the new “Change Spotting” campaign. To read more about it and see the video drop by the website.

 

No more ‘LazyInitializationException’ in your integration tests

Below an example of what you need to do using JUnit 4 to prevent ‘LazyInitializationException’.

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { “classpath:application-context-test.xml” })
public class AccountServiceIntregrationTests extends
AbstractTransactionalJUnit4SpringContextTests {

protected static final String SESSION_FACTORY = “sessionFactory”;

protected static ApplicationContext ctx =
new ClassPathXmlApplicationContext(
“classpath:application-context-test.xml”);

protected static SessionFactory sessionFactory;

@Autowired
private AccountService accountService;

@BeforeClass
public static void oneTimeSetUp() throws Exception {
sessionFactory = (SessionFactory) ctx.getBean(SESSION_FACTORY);
Session session = SessionFactoryUtils.getSession(sessionFactory, true);
session.setFlushMode(FlushMode.MANUAL);
TransactionSynchronizationManager.bindResource(sessionFactory,
new SessionHolder(session));
}

@AfterClass
public static void oneTimeTearDown() throws Exception {
SessionHolder sessionHolder =
(SessionHolder) TransactionSynchronizationManager
.unbindResource(sessionFactory);
SessionFactoryUtils.closeSession(sessionHolder.getSession());
}

@Test
public void testCreateAccount() {

// Do you test here.

}

}

Cheers,

Ana

Localization with Spring 2.5

Hello,

In Spring 2.5 you can tell in your dispatcher servlet configuration to scan for @Controller annotations. That way you don’t configure URL mappings explicity in the dispacher servlet as you used to do before since the annotations are added to the controller classes themselves. It’s less XML and I really like it. However I did not know how to add the locale interceptor in this case, because  there was no urlMapping bean defined. I found out online you just need to add the following configuration to the dispatcher servlet.

<bean     class=”org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping”>
<property name=”interceptors” ref=”localeChangeInterceptor” />

</bean>

Hope this helps you too.