Since 1997 EBI has been delivering one custom software system after another. In fact, EBI was founded as a software development company. That is why building easy-to-use software systems that solve our clients' needs and problems is our core expertise and our greatest passion!
How it all began
Our first project was an inventory management system that ran in Microsoft DOS and was made for an auto parts retailer. Then a mini-ERP software package was built on client-server, RDBMS and Microsoft Windows 95 technologies and was deployed for a manufacturer of bricks and tiles. This system automated nearly all business processes from sales order placement and customer relationship management, to production scheduling, warehousing, distribution and order fulfillment. The mini-ERP provided us with a great experience of understanding how information flowed throughout an organization, how decisions were made and how software systems could be built to facilitate these processes. It helped us tremendously when we delivered our next product, a very specialized sales and distribution management system for a nascent food processing market.
The Greatest Challenge
In 2001 our focus shifted from traditional Windows-based to web-based software development when we had to resolve our greatest usability challenge for The Washington Center for Internships & Academic Seminars. The organization contracted us to build Academic Operation System (AOS), a software system that processed student applications, tracked students' internship placement, student housing and academic performance. The first version of the system was successfully delivered to the client as a Windows-based multi-user system. The staff was trained and we were ready to celebrate a complete success when the president of the organization called us and told us that some new users were having trouble learning to use AOS on an everyday basis. An emergency meeting was called during which all new users were surveyed and their computer skills were assessed. The survey results showed that only a few users knew how to use Microsoft Word or Excel, while 99% knew how to use Yahoo! Based on these findings we designed the next version of the system around the search engine feel & look and we were surprised how the product was quickly adopted by all users.
The AOS project taught us the importance of emerging web technologies. We concluded that traditional software would soon be replaced in many industries due to web technology's much lower TCO (total cost of ownership) and inherent improved usability. Since then, EBI has meticulously improved its craft by delivering high-quality, extensible and usable web applications for many clients in diverse markets.
Open Source Philosophy
In all our projects, EBI has focused on providing its clients with cost-effective solutions. When the open source movement started to gain popularity, it was only a natural fit for EBI to adopt the FOSS approach. While there are many benefits to FOSS, our primary reasons for adopting the open source philosophy are:
a) minimizing or completely avoiding the vendor lock-in factor which is very common in the custom software business;
b) minimizing system development and maintenance costs due to the fact that there are a lot more FOSS developers than developers of proprietary systems;
c) we strongly believe that open source software has fewer bugs than its proprietary alternatives;
d) there are a lot of open source libraries, frameworks and software packages that help to reduce the total development cost for our customers;
e) open source helps us to be even more transparent with our clients.
Depending on the nature of your project and whether a similar system exists on the market that can be used as a prototype, we follow these three development methods when building a custom software system: a traditional waterfall model, an iterative development cycle, and a hybrid approach that combines the first two.
In the "Waterfall Model", we collect requirements, write the code and test it, and then deliver a final product to our client for review and acceptance. This method works great when the client has a precise idea of what software system is needed. This is usually supported by very detailed specifications, primarily authored by the client. Although the system can be modified upon delivery, the client's involvement during the actual development process is very minimal and thus very few changes can be made before the final delivery. The "Waterfall Model" is often used during development of the next version of the system or if a custom web app is based on an already existing/competing product.
Iterative Development Cycle
For all new systems or existing web applications that require a complete overhaul of the user interface and related functionality, we employ the "Iterative Development Cycle" approach, also known as Agile Software Development or Evolutionary Development Model. As its name suggests, software development happens in iterations or in stages. Upon completion of each iteration, a part of the working system is delivered to the client for feedback and modifications. This method works great when the customer needs to be involved during the development process to make changes while the product is being created, tested and reviewed.
Usually the iterative development starts with high level specifications where major functionality blocks are being estimated and specified, and a creation of storyboards [<-- make this into a link on the website that shows detailed storyboard in slides and also downloadable as PDF/PPT] which are sets of user interface screens that show the client how end-users will interact with the future system. Storyboards work as a visual prototype thus enabling our client to provide us feedback and review suggested functionality before any code is written.
While the "Waterfall Model" saves time, The "Iterative Development Cycle" gives complete control over the development process to the client. But some projects require changes to existing functionality and building new features. That's when we combine the benefits of these two methods into what we call the "Hybrid Approach". We employ the Waterfall Model when making changes to existing features and use the Iterative Development Cycle to deliver new modules.
Have an idea for a web application?
If you need more time, check out our portfolio of sample web apps that we built for our clients over the years and let us know what you think