Friday, September 25, 2009

whoNeedsArchitect

http://martinfowler.com/ieeeSoftware/whoNeedsArchitect.pdf

My fav quotes from this article --- this is what I often bring up in our lunch conversations with fellow QSI'ers!

I think that one of an architect’s most important tasks is to remove architecture by finding ways to eliminate
irreversibility in software designs

Software is not limited by physics, like buildings are. It is limited by imagination, by design, by organization. In
short, it is limited by properties of people, not by properties of the world. “We have met the enemy, and he is us.”

“Architecture is the decisions that you wish you could get right early in a project.” Why do people feel the
need to get some things right early in the project? The answer, of course, is because
they perceive those things as hard to change. So you might end up defining
architecture as “things that people perceive as hard to change.”

Thursday, September 24, 2009

Agile Methodology - Similiar to Creating Shareholder value

I have been involved in several projects now that had used Agile methodology for project management or a derivative of this method. In these projects I have assumed several roles - Developer, Team Lead, Designer, Architect and BA in a few cases.

Something I have realized is Agile method is similar to the notion in public companies - "creating shareholder value". Agile software development has iterations - 2 to 4 weeks long and then we provide improved version of software / product to the client. The client also prioritizes the new features to be developed and / or defects to be fixed. This is similar to what public companies do - a quarter can be considered as an iteration at the end of which the money matters are shared with the shareholders and  a new iteration begins. The profits the company makes is the product the shareholders are concerned with. The shareholders directly or indirectly have a say in how the company would improve profits or make new money (similar to client deciding on new features).

This idea of shareholders value creation is dangerous as well. The company tends to focus on short term gains and loose sight on long term plans. A similar thing may happen in Agile projects where lack of proper documentation, design and architecture due to short term goals (short iterations) may plague a system in long run. Of course there are exceptions - there are well run Agile projects and there are well run public companies that make profits.

Just a thought !

Wednesday, September 23, 2009

ERROR in Eclipse - Access restriction: Class is not accessible due to restriction on required library


I get this error in Eclipse when I use the @PostConstruct and / or @PreDestroy annotations. To get rid of this error in Eclipse change the "Forbidden reference (access rules)" level to Warning or Ignore.

Thursday, September 17, 2009

B2B - Back to Basics Series

I have conducted a dozen or more interviews now in my career so far for different roles on projects - Developer, Sr. Developer and Team Lead. I make it a point to ask about OOAD and Design patterns in all these interviews. However in many cases than I would have expected the candidate was not able to explain the a OOAD principle (like SRP, DRY etc) or design pattern. I think understanding of these core concepts is much more important than the knowledge every API.

I am going to start writing this B2B series here on my blog. In this series I will write about the fundamentals, basics of Computer Science, Software Engineering, OOAD etc that we learned many years back in school and still use in our professional life. However lot of times we forget lot of these things while dealing with the day to day work. Hopefully someone other than me finds this helpful

Happy Coding !

Friday, September 11, 2009

Apache's 11 technologies that changed computing in last 10 years

I found a nice article on eWeek.com about the 11 technologies that changed computing over the last decade and to technologies that would probably be dominant in the next decade.
http://www.eweek.com/c/a/Application-Development/11-Apache-Technologies-that-Have-Changed-Computing-in-the-Last-10-Years-469693/

Wednesday, September 9, 2009

Moved to blogspot

I have moved my blog to from www.daveayan.com/blog to this space.
Blogspot has a lot more features obviously than the out of box liferay blog. Please update the book marks and add some comments or provide your reactions.
I will be shutting down my site (http://www.daveayan.com) in a couple of months as well and try to come up with another, better looking site.
Thanks