We believe that our technical capabilities are second to none. However, great technology is nothing without the ability to deliver.
It's our ability to harness our technical expertise in a way that is appropriate to our customers' needs that enables us to deliver real value in the work that we do for them.
We work closely with business users: our strength is in interpreting complex business requirements and turning these into robust, enterprise-scale applications. We are aided in this by our application development tool, kinodb - it is vastly more productive than other development environments, which means:
Whatever the scale of an application, there will generally be a small number of expert users who understand the business problems that need to be solved. We will work with these users in a series of short workshops. Initial workshops allow us to gain an understanding of the overall business context, following which we are able to present a view of scope of the proposed solution, and to suggest a set of development iterations.
Each iteration should:
Having agreed the initial phasing of delivery, a typical iteration will proceed as follows, again generally supported by a series of workshops involving the appropriate expert users:
1. Define and agree specifics of functionality Where there is a clearly understood set of requirements, this will be a discrete step completed prior to development work being undertaken. In many cases the development process is used to drive out detailed requirements - this is typically the case in applications supporting a new business process with a large 'workflow' component. In these cases a development cycle will encompass steps 1 - 4 in this list, with each cycle typically taking from one to ten days.
2. Develop functionality We will generally perform development 'off-site', and where required will provide visibility of work in progress via the Internet, allowing users to assess changes immediately. Again, this is of particular benefit where the development process is being used to drive out and refine requirements.
3. Review This allows users to identify where additional work is required, or where potential process improvements and new opportunities are apparent. Generally a time-boxed approach to each iteration is used to guard against unmanaged changes in scope.
4. Incorporate changes identified Agreed changes can be made available for review either via the Internet or on the client's own test instance of the application.
5. Release to test A significant benefit of the level of user involvement in the process to this point is the reduction in the timescales required for testing: the users will by this stage be familiar with the overall application and the specifics of the implementation.
6. Release to production kinodb's release management functionality allows the fully managed release of changes into a production environment, generally in minutes.
The development process is supported by our own management application dito which is used to record development tasks, to log change requests and to manage the application versioning and release process. This is (of course...) a kinodb application that we have developed to complement the kinodb development process, as well as to manage datb's administrative activities. Customers can access dito to view the status of issues, to record support issues and to view application release details.