The dilemma of the agnostic software architect

We have been spreading a different thinking in our customers advocating that their products needs to be somehow technology agnostic. So what that could possible mean?

A meeting with my customer put forward an important discussion about whether they should build or buy off-the-shelf components to integrate into the new product release which radically change its environment from to web. I mean from Delphi to ASP.NET.

They were conducting their migration process based only in the ASP.NET available functionalities. They’ve shown a research, comparing a past Delphi solution with a possible .net solution. They pointed out a range of off-the-shelf components like ajaxControlToolkit and many others which they wanted to purchase.

Desktop and web solution are different paradigms indeed and demands different kinds solution and methodologies. They didn’t see that all they need would be simply being done at home.

One may think about limitation of the web, and we believe about the wide range solution the web can provide. Take the example of some industry leaders like Amazon.com and Google. Do you really believe they follow Microsoft & Java framework versions and keep using off-the-shelf components extensively? Actually YOU may use what they provide.

I’m not saying that we shouldn’t use off-the-shelf components, there’s nothing wrong with that. We need to balance about its usage. For example, the Enterprise Library Logging Application Block offer many options to log information into the text files, event viewer, e-mail and databases. But my application only needs to write log in the event viewer. Having many options doesn’t limit my application IF IN THE FUTURE I want to change log directions. Future seems so distance, so intangible that it must be preferable write a small components with fewer lines providing same functionality instead of having a monster component with lots functionalities and overhead. (Have you had time to look their code? Probably not but you may want if your product start to perform badly or if you change from one version to another, or if you may want to use MySql instead of the SqlServer!)

At the end, what we always are looking foward is a clean path to quickly deliver value and avoid spending time working bugs out.

Automated Software Design Research Group

Lean software development demands too much automation. Of course, the idea is to make more with less and have higher quality until delivering software functionalities most important for the business. This path is hard, really hard. You’ll probably have to rethink all your gained knowledge and start developed a solid wisdom through research. Constantly looking new ways to do what you do today and improve what you think you need not.

Not every IT company will really benefit of Lean Thinking. Such style demand too much research and intellectual work which results will came along the way. You need to keep traces so to really understand the intangible results. This is expense, and you may give up in the very beginning.

I believe that the worse thing still the daily operation activities along low budget and unprepared managerial staff. People are too involved with day-to-day problems and stop everything aiming rethink their work in such advanced way can be a laborious process that can simply never happen!

Any way… I would like to present the Automated Software Design Research Group. This group explores new ways to develop software. They have a lot of academic papers (Dissertations and Theses) which can simply be applied to your life. Even if you not in Lean or Agile environment.
See ya..

Agile TechDay 2009

I was happy to be among those nice experienced agile guys! That was the second event in Rio about Agile methodologies. These one was special not just because I was invited to give a talk at the end but because the people who talked was really involved with scrum. For my surprise, rather than just agile ways in IT the principals of the Accenda Group gave a talk about Scrum in the marketing industry. They are trying to incise scrum at heart of marketing industry by doing what they call Agile Marketing. Nice approach but also a lot of people to convince!
So.. we are in InfoQ, have some pics.

Follow

Get every new post delivered to your Inbox.