Software Development

Hayden-R's core business is software development using FOSS.

Our developers have 20+ years experience of software development in a diverse range of environments, FOSS and proprietary.

Obviously we are very happy to work on projects based on a FOSS libre or open source type of license (including GPL) on your behalf.


Experience

We have a lot experience in the development of:

  • WAI compliant web sites
  • complex database driven web applications
  • complex database driven desktop applications
  • network systems / distributed architectures
  • POSIX and Linux stuff

The FOSS advantage

In the FOSS world the distinction between software development and system configuration is becoming blurred - a lot of software development is about reconfiguring, customising or extending existing software. Why 're-invent the wheel' when there is so much good software out there already which because it's FOSS can be re-used - something proprietary software inhibits.

Software engineering

Developing good software is more than just writing some fancy source code, we see it as whole bunch of interconnected decisions and tasks generally referred to as software engineering. It covers things like:

  • licensing
  • abstraction of requirements
  • technology stacks
  • open standards
  • architectural design, detailed design
  • database design
  • code generators
  • test suite design
  • target hardware and operating systems
  • configuration
  • security in depth, firewalls, anti-virus
  • build and deployment
  • testing
  • scaling
  • documentation
  • training
  • remote support, maintenance
  • project management, life cycle

Methodology

On the whole out development methodology tends follow this approach:

A very iterative process of lots of small increments, build, release & test often, get users involved form the start, adapt and re-design as the real requirements surface.

We are not religious about any one methodology e.g. RAD, UP, Aspects, Extreme Programming, UML, AOP. To be rigidly fixed on one approach to software development we believe is not healthy, but prefer to 'cherry pick' what works best for each project, for us and our clients.

Software Development Options

We can offer various options (and combinations of) for software development engagements as follows:

  • time & material basis
  • fixed price
  • royalty payments

Note : fixed price work subject to an agreed comprehensive requirements specification.


Technologies
For those of you of a more technical nature here is a list of some the technologies and tools we have used during previous developed software projects:

  • Web
    HTML, XHTML, CSS, Java Script, WAI compliance.
  • XML
  • Java
    Swing, JDBC, JNI, CachedRowSet's, JVM security manager policy files
  • Java development tools
    Ant, jUnit, jEdit, Eclipse.
  • Java libraries
    log4j, Xerces, org.apache.commons.
  • Java Enterprise
    Servlet's, JSP, EJB.
  • Tomcat web server
    SOAP using Axis, SSL.
  • JBoss application server
  • Jasper Reports
    iReport, Tomcat web based deployment.
  • Design Patterns
    MVC, business delegates, service locator, decorator, front controller, view helper, adapter, composite proxy, type safe enumeration.
  • MySQL
    DB design, development and deployment.
  • Code Generators
  • TCP/IP
  • Bash shell scripts
  • C and C++
    GCC compiler.
  • Assembler
  • GNU Linux
    kernel drivers.
  • POSIX compliance
  • RTF

Why use Java ?
Java technology is an object-oriented, platform-independent, multi-threaded programming environment. It is the foundation for web and networked services, desktops applications, robotics, and other embedded devices. As software developers it offers an incredibly rich set of technology stacks and tools enabling us focus on meeting client requirements.
read more >>


TERMINOLOGY