Some of the problems I see in Agile Methods – Part 1

Posted on Noviembre 10th, 2009 by Santiago Ceria

First of all, I admit I do not consider myself an expert in Agile Methods. Yes… I’m a Certified Scrum Master and I’ve been involved in several agile projects. But let’s say I don’t know enough and have enough experience to consider myself an expert. Even with this, I will dare say which are the issues that I don’t see addressed correctly in these methods, or at least in the typical “Scrum + XP” combination that used in most cases in Industry. The risk here is that someone will quickly reply with a link to explain how these issues can be solved. Oh well… I’ll take that risk.

I also want to say in advance that in general I have a positive view on Agile methods. I think they are an interesting packaging of useful practices and that they have made a huge contribution to development practice in general. I also value some new practices like TDD and Continuous Integration that have provided smart answers to increasing challenges of software development.

Continuar leyendo »

Is Semantic Web the Web 3.0? (I)

Posted on Octubre 29th, 2009 by HAT

semantic web

People have been talking about web semantic and web 3.0 and we need to understand that they are two very different thinks. The term of the semantic web is coined by Tim Berners-Lee and there is no full consensus about what Web 3.0 means.

We can say that Web 3.0 is defined as the creation of high-quality content and services produced by gifted individuals using Web 2.0 technology as an enabling platform. At its core, the semantic web comprises a set of design principles, collaborative working groups, and a variety of enabling technologies.

Continuar leyendo »

Co-evolution – Brooks did it again

Posted on Octubre 21st, 2009 by Santiago Ceria

In a previous post I commented about Fred Brooks’ great conference when he received the Turing Award. He named it “The Design of Design”. In that conference he spends a lot of time discussing life cycle models and explaining why the Waterfall model is wrong (“dead wrong” as he calls it). And he also presented what he thought was a better model: the co-evolutionary model, attributing it to Maher and Cross. In this model, from a Problem P1 you get a Solution S1. And from P1 and S1 you get a new problem, P2. And from P2 and S1 you get a new Solution, S2. This simple concept explains that the problem and the solution evolve in parallel. And it’s one of the good things that Agile Methods have adopted. If you use agile methods, your lifecycle model is not only iterative and incremental. It’s also co-evolutionary. Let me explain this better.

Continuar leyendo »

Significant Design Up Front, When?

Posted on Agosto 25th, 2009 by Santiago Ceria

So in my previous post I said that nowadays there are fewer cases when building models before building the actual code of an application makes sense. In which cases does it make sense? More explicitly, in which cases should we spend a significant amount of time creating architecture and design models before we run to code? Let’s ignore for a while safety critical applications and “for other reasons very critical applications”, the easy answer to the question (I know that more and more applications are becoming critical, but still I want to focus on the other ones, at least for this post). My question is equivalent to asking “when do we need significant design up front”?

Continuar leyendo »

Team Foundation Server from within Eclipse

Posted on Agosto 4th, 2009 by HAT

I was trying to integrate a Java project with TFS, using Eclipse and Teamprise. Teamprise is a suite of client applications that includes an Eclipse plug-in for accessing Team Foundation Server.

In general the plug-in works remarkably well (in fact, I think it works better than Visual Studio with Team Explorer!). It’s really stable (thanks to Eclipse) and several options are easier to access than in Visual Studio.

Pros

Integration with the source repository is complete and limited only by TFS (you can still use the Team Synchronizing perspective or you can use the new ‘Pending Changes’ view). Some particularly interesting characteristics are the shelving feature, check-in policies, and the ability to associate changesets with specific tasks, bugs or any other work item type, providing a higher level of traceability. You can develop and deploy your own policies, although you have to install them in all clients.

Continuar leyendo »