An Event-Driven Approach for the Separation of Concerns
Last week I presented a paper at the International Conference on Evaluation of Novel Approaches to Software Engineering (ENASE 2012), at Wroclaw, Poland. Title: “An Event-Driven Approach for the...
View ArticleIndustrial Projects at the Technion
The faculty of Computer Sciences at the Technion has an Industrial Projects initiative in which undergraduate students work under the supervision of software professionals. I think this is a great...
View ArticlePlanning Poker: Avoiding Fallacies in Effort Estimates
Many years ago I was working as a software developer in a team with three other programmers. We once had a meeting in which our Team Leader said: “You are late again! All of you are late! Actually, you...
View ArticleFour Myths of Software Evolution
As software developers, we know that our systems will evolve with time. We must understand the forces that drive this evolution, in order to design systems that are easily evolvable. Unfortunately,...
View ArticleContinuous Learning: Keeping up-to-date and acquiring new skills
According to the Bible, after Adam sinned and ate the forbidden fruit, God said to him: “By the sweat of your face you shall eat bread” (Genesis 3:19). Hard work has been the reality of humanity during...
View ArticleIllusory Superiority: Are you a good programmer?
Programmers are known to be proud of their work. Some developers even feel that writing elegant code is a form of art, and thus they call themselves “software craftsmen”. I am sure that the desire to...
View ArticleThe Psychology of Reviews: Distinction Bias, Evaluability Hypothesis and the...
Design Reviews are one of the most important activities in the software development process. If a bad design is approved and implemented, it is very expensive to correct that afterwards. Therefore, we...
View ArticleThree rules to keep your sanity: Avoiding trouble on Facebook
Facebook is a wonderful tool for communication. It allows you to keep in touch with people whom otherwise you would have lost contact completely. It’s great to have news from our old friends and to see...
View ArticleOn Information Hiding and Encapsulation
This month I participated in IBM Haifa’s Programming Languages and Software Engineering (PLSE) Seminar. There I had the opportunity to have lunch with David Parnas, one of the world pioneers in the...
View ArticleIASA IL meeting with Prof. Rick Kazman
The International Association of Software Architects (IASA) in Israel organized a special event with the participation of Prof. Rick Kazman, who talked about ”The Metropolis Model for Software...
View ArticleMy first computer, 30 years ago…
So we have reached the year 2013, and this reminds me of my first computer, which I got in 1983, or 30 years ago. It was a Brazilian CP-500, compatible with the original TRS-80 model III. It had 64K of...
View ArticleOn Developer Wisdom and Software Quality Attributes
What is wisdom? In order to answer this question, we will look into some ancient Jewish texts. From the Talmud (Tamid 32A), compiled 1500 years ago: “Who is wise? He who discerns what is about to come...
View ArticleA Social Watching Experience for Yahoo! Connected TV
Connected TV is one of Yahoo!’s most innovative products. The basic idea is that your TV set should be as smart as other devices such as your smartphone or your tablet. In other words, the Connected TV...
View ArticleOutliers? The Myth of the 10,000 Hours Rule
Following the “Outliers” book by Malcom Gladwell, some people are convinced that if they “just” invest 10,000 hours in something they will become really good at it. I think that this is not always the...
View ArticleAdaptable Designs for Agile Software Evolution
“It is not the strongest of the species that survives, nor the most intelligent that survives. It is the one that is the most adaptable to change.” – Charles Darwin Big Design Up Front (BDUF) is...
View ArticleMeta-Decisions: Agreeing on the criteria before discussing the alternatives
In a working environment, meetings may consume lots of time. In general, the goal of meetings is to make decisions based on the input provided by several people. There are normally many different ways...
View ArticleThe Myth of Emergent Design and the Big Ball of Mud
Software developers following Agile methodologies often ask themselves how to adapt the traditional Design phase to an iterative software lifecycle. The basic question is how much design should be done...
View ArticleAdaptable Design Up Front and the Open/Closed Principle
The Open/Closed principle is one of the SOLID principles of software design: “The Open/Closed Principle states that the design and writing of the code should be done in a way that new functionality...
View ArticleIASA Israel meeting – Hayim Makabee on Adaptable Design Up Front
The International Association of Software Architects (IASA) in Israel organized a special event with the participation of Hayim Makabee, who talked about “ADUF – Adaptable Design Up Front”. Synopsis:...
View ArticleIASA Israel meeting – Daniel Gross on Architectural Description Languages
The International Association of Software Architects (IASA) in Israel organized a special event with the participation of Dr. Daniel Gross, who talked about “Architectural Description Languages”....
View Article
More Pages to Explore .....