Archive for category Infrastructure
I’ve said it before on this blog – it doesn’t matter how good your process is if your team doesn’t have the Right Stuff. But if your process is compromised, then so are your people. The right process and the right people are each, on their own, necessary but insufficient conditions for developing good software. And while you can find good people, a good process needs to be built from the ground up, starting with infrastructure.
Read the rest of this entry »
Here in DSI, we use a lot of great Open Source Software libraries and tools. Choosing the right ones, and aligning them with our development approaches, helps to boost our productivity and quality. The same realisation has spurred just about every other software development company on the planet, and as a result OSS has really brewed up a storm. But now that the initial euphoria has passed, it’s time to stop and take stock of the situation. There’s another storm brewing, and it’s going to do a lot of damage to those who don’t see it coming.
Maven is great, isn’t it? You just install it, download your favourite OSS project, type in mvn install and your jar file comes out the other end. Magic. It gets you thinking: Building should always be this easy, right? Your company should be using Maven to manage all its builds. Push-button builds could be just one download away. Right?
Sigh – a Process Architect’s work is never done (in some cases it’s never even started). The same unyielding forces that bring about change in development technologies are also at play in the processes we use to develop. It has been four years since DSI started to change the way we develop software. While the principles that underpinned those changes have not changed much, if at all, some of the tools we use to support those principles are in need of updating or replacing.
Over the next few weeks and months I’ll be blogging in more detail about the latest set of changes we’re making. Right now, I can give an outline of where we’re going. Some changes are predictable and conform to industry trends. Others are more original and might even set a trend themselves:
- Switching to Maven2 as a build management tool.
- Introducing the concept of Continuous Performance Management into our CI process.
- Moving to Task-Centric development using Mylyn.
- Making the company dashboard richer by integrating our Atlassian tools more deeply
There might be a downturn in the construction industry in these parts right now, but there is one company of plumbers that is still working flat out. SpringSource, the company behind the Spring Framework, has always plumbed the nastier parts of APIs and Frameworks where nobody likes to go, in order to make them more hygenic to use. They are still doing this and more besides, and two of their number came to IT@Cork’s 3rd annual Java Conference to keep us up to date with their activities. Ben Hale and Jonas Partner from SpringSource gave interesting presentations on OSGi and Spring Integration respectively. I’ll try to give a summary of Ben’s presentation in this post. I’ll catch up with Jonas and the other speakers in later posts.
Read the rest of this entry »
When you’ve put a lot of work into something, personal pride (or maybe a lack of humility!) can make it difficult to accept that a rival system is superior. It was for this reason that I started investigating Maven 2 with a degree of reluctance. Surely our custom-extended, all conquering [tag]Ant[/tag]-based build and dependency management system could not be bettered? Who is this new pretender to the throne? And what does it want?
Read the rest of this entry »
Following on from our last blog entry on Amazon’s [tag]Elastic Computing Cloud[/tag] ([tag]EC2[/tag]) platform, in this blog we are going to explore two of the remaining topics on our original five-point roadmap. So far we have covered:
Next up we want to tackle, probably the two most important topics when it comes to making EC2 a viable platform for commercial business:
DSI sponsors The [tag] No Fluff Just Stuff [/tag]Software Symposium Series, the premier technical java/agility conference, coming to London in the First European [tag]NFJS eXchange 2007[/tag], August 29th-31st.
The NFJS eXchange 2007 will cover the latest in trends, best practices, and newest developments in [tag]Enterprise Java[/tag], Java/Groovy, ESB/SOA, Ajax, Web Services, [tag]Agile [/tag]Software Development and Architecture. There are 5 concurrent tracks with over 50 sessions to choose from with some of the following topics: Java 6.0, OSGI, Domain Driven Design, Annotations, REST, JRuby, Enterprise Ajax, REST, Groovy, Grails, JPA and many more.
The NFJS eXchange features leading industry experts, who share their practical and real-world experiences.
DSI blog readers will receive £100 off each ticket when booking – just enter the promotion code NFJS-DES623 in the registration form.
More information on the No Fluff Just Stuff eXchange 2007 can be found at: http://www.nfjs-exchange.com/pcd/1154
I don’t know. The world is mean and violent enough. It seems to me that the last thing we should be doing is creating more conflicts. But that’s what appears to be happening in TFS at the moment.
I have a file. Call it MyFile.cs. If line 5 of MyFile.cs gets changed on a release branch, while line 6 gets changed on the Main/Trunk, then I expect the resulting merge of the release branch to take place without any conflicts, and incorporating both changes. But that’s not what happens. Instead, because these changes take place on adjacent lines, they are marked as conflicts, and I have to manage the merge of MyFile.cs by hand.
Why can’t we all just get along?
I am going to take a slightly different angle on the [tag]AWS[/tag]/[tag]EC2[/tag] topic this month. In the last blog entry I focused on addressing specific Java Web Application related development challenges (Tomcat clustering, Terracotta etc). This month, I am going to look at how we can extend EC2 to be used in the real world by ‘normal’ users. I know, in this day and age, it is fairly difficult to classify normal users; but for me a normal user is someone who uses their PC, MAC or whatever, to browse the web, write some letters, check their email and other normal day stuff.