Posts

Showing posts with the label software design

To Over or Under Engineer?

Image
In which two groups of software engineers design and implement a fly-killing machine. Once Upon A Time... Two groups of software engineers, one favouring Java and another favouring Ruby, were asked to build a device that kills the common fly.  The product is supposed to kill this nasty creature. 1 Day Later The Ruby team announced the completion of the product. "The product has gone through extensive testing. During the tests, in which we mocked the size, movement pattern and speed of the common fly, the device performed with 80% efficiency", the lead engineer commented when asked by the press about the secret to their rapid development process. A photo of the finished product by the Ruby team "Suffice to say that we had to make some design and implementation sacrifices to cut the time to market and production costs" he commented briefly on the effectiveness of the product. 367 Days Later The Java team accomplished the design of the product. "W...

A New Platform For Business Application Development

Image
Anybody who has been involved in developing a business application, has already exhausted the long list of frameworks/libraries in JVM, .NET and Python platforms searching for something that reduces the costs while increases the development speed. However it's almost proved to me that one should seek the answer in less explored/popular platforms. Let's meet Pharo! Introduction Well, the title of this blog entry may be a bit confusing as the platform I'm going to talk about is not "new" at all! In fact, it's been around evolving far more than most of us know and could imagine. As a polyglot programmer, for the past 5 years, I've been trying many different languages and platforms to find one which would help me reach my goal: to write a business application (ERP) which can be run in hosted mode (SaaS) and is easily maintainable; and I had a short list of features/characteristics I was looking for in any of them. Note: I will elaborate on software as a ...

What Is Enterprise Resource Planning (ERP)?

Image
Demystifying Enterprise Resource Planning softwares and explaining the concepts in plain English. No matter if you're an executive officer, IT consultant, software developer or a business manager, you've heard people talk about ERP in meetings and sessions.  And probably a half-dozen of ERP providers have already come knocking at your office door to present their products. No doubt that you have spent hours searching the Internet on what exactly is an ERP and how can it help an organisation.  But if you're still in doubt, this writing may help you.  I'll try to explain the golden characteristics of an ERP in a simple language; so please bear with me. The Definition ERP is an integrated, business process oriented and best practice based information system that helps managers better understand the situation of their organisations. So a software that is called an ERP is: Integrated Business process oriented Best practice based and its ultimate goal is to help ma...

Good vs. Bad & Ugly: Comprehensive vs. General Design

Image
The difference between "Comprehensive Software Design" and "General Software Design" and why Comprehensive is the only way. Let's assume a simple categorisation of business into trade and manufacturing. Most of the companies that are active in a category, arrange and manage their processes - despite different fields of business- inspired by a similar and close to optimal pattern.  For example all trade companies share the same processes and concepts such as sales region, sales commission, petty cash and etc.  The pattern is called best practice . Good Now, imagine that you have designed and implemented information software for 25 trade companies so far; naturally resulting in your extensive knowledge of trade firms' processes and requirements -put simply, best practice.  In other words, you do know what the customer wants and needs. What happens if you decide to design a comprehensive information system for trade firms? As you know their requirements...