Posts

Showing posts from February, 2019

WarGames

Hi, for this entry I’m going to talk about a 1983 movie directed by John Badham called WarGames. The story told in the movie is in the times of the cold war. Basically, there is a gifted and very skilled kid (talking about computers) who were able to hack the US Government defense computer. That computer was expected to be capable of analyzing and taking decisions, kind of machine learning, because, over time, it was learning. The genius kid, David Lightman, just wanted to enter to that computer just to play games, in this case, “Global Thermonuclear War”. The game started and, in order to stop the arrival of the 3rth World War, David and the creator stopped the machine. I had never seen this movie before, actually just heard about it one time in the novel we’re reading for this class (Ready Player One). This movie surprised me, despite the fact that I saw it 40 years approximately after its release. A computer capable of learning by itself and by the time? and also capable of sta

Software Craftsmanship

Hi, for today’s entry I will talk about a podcast called: “Software Craftsmanship with Bob Martin”. Episode produced in 2009 by Software Engineering Radio. As its name says, this podcast episode is a conversation with “Uncle Bob” (Bob Martin’s nickname) and it is about two main or principal ideas: agile software development and, specifically, software craftsmanship. Basically, they talk about their history, reasons for coming up, main characteristics and their relationship to other agile approaches. Something I’ve realized lately is that, nowadays, every single new software-related project development is done using agile methodologies or frameworks (as XP and SCRUM, mentioned in my last entry). And that’s one topic they talk about, agile software development, where software is created with a set of incremental and iterative steps (like an iteration in each step, not only one iteration as waterfall development). But I’d never heard about “Software Craftsmanship. This concept is int

Is Design Dead?

Hi, today’s entry will be about an article titled: “Is Design Dead?” by Martin Fowler.  First, the author introduces a concept that I haven’t heard before, Extreme Programming (XP). At first reading it, I thought that it would be a kind of programming technique, but I was totally wrong. XP is one popular agile process used during software development and it provides knowledge about how to do a simple design, use refactoring to keep the design clean and also how to use patterns in an evolutionary style. I found interesting how the author described XP as the” call for the death of software design”, this made me think: Are the current processes and methodologies that bad in software design and architecture?  Two important concepts in software design and architecture were discussed by the author, evolutionary and planned design. The first one means that a system’s design will grow as the system is implemented. I think this is very important because it gives the system the capability

Who Needs an Architect?

Hi, this entry will talk about an article titled: “Who Needs an Architect?”, written by Martin Fowler. Basically, it discusses the definition of architecture and one related term: architect, but, obviously, focusing on software. One thing I agree with the author is about our nonconformity with the IEEE’s definition of software architecture, despite the fact that It was defined by software development experts. I think that that definition has to be restated and then better explained. But this similarity with the author's opinion doesn’t mean that I agree with the author’s definition explained later in the paper: “The shared understanding of the system design” or “Architecture is about important stuff” or “things that people perceive as hard to change”.  The only salvageable definition is the first one, I think an architect must have a better understanding and experience of software design and development, so he would be able to share that knowledge with the other team membe