When Affino engages in development work there are typically 4 different types of work we are involved in. When someone comes to us with a requirement there are various ways we can go about meeting that requirement. Creating something entirely from scratch, or re-using or modifying some existing part or parts of the system.
Once work is underway, it’s not always 100% clear how the final solution will work out. What works well on paper and in planning can often test poorly once you get to unit and usability testing at the end of the development cycle. This may mean fairly significant change requests to the original specs.
We usually try to plan development in stages and phases so we can review each individual component upon completion. Yet once the full solution is complete, there are occasionally some unwanted consequences - in data processing for instance, which optimisation alone cannot resolve. So the path to completion is very dynamic to a degree, and while we try and foresee complications, there is often no way to ensure you capture every single challenge in the planning stages.
So these are the 4 broad categories of development and what they encompass:
This really means pretty much creating a new element or component from scratch. There is nothing in the system which matches the client requirement and something new needs to be originated. This is the longest and most costly path usually as it has the most unknowns and challenges at the start of the process. Regardless of that, the specifications are finely detailed along with user journeys, KPIs and desired outcomes. Once the specifications have been signed-off, any significant deviation is seen as a change request - which will likely require further impact assessment and specifications, which in turn may accrue further costs.
With such a large and broad solution as Affino is, it is often not necessary to orginate something wholly from carte blance - as there are often complementary components already in the system which can be re-used, re-aligned and combined to give you the solution you need.
This means two things really - in the pure development sense re-alignment means re-appropriating existing functionality in combination with further functions and settings to meet new requirements and objectives. We can often achieve a very near match to requirements through relatively minor development work - which is of course a more cost-effective and risk-averse way to deliver a solution, not to say far quicker.
The secondary re-alignment occurs when on assignment and in the due course of the project it is discovered through new or additional details that the original path will not yield the desired results. This often happens as new, additional and more complex requirements materialise during the various review stages of the project. Typically a re-alignment is not a drastic measure and results in fairly minor additional costs and timings. Yet on occasion the changes required are so much at odds with the original brief and specs that the development work needs to be essentially totally redone from scratch - fortunately those incidents are very few and far between.
This is when new requirements can be almost entirely delivered by the existing solution and only a few tiny extra features / settings are required to meet the new specifications. This is the lowest cost solution obviously and the fastest to achieve - and typically what we would first recommend. We always analyse the full client brief and give different options for taking different pathways depending on deadlines and budgets chiefly. In the simplest instances it really is just a matter of adding a few additional settings which then render the critical parts of the requirement.
For the 1 or 2% remaining those elements will then typically carried out via custom surface code (vs core). It is not always efficient or desirable even to code everything into the core of the system - it may simply just over-complicate system management for everyone including the authors of the new requirements. So the enhancement process identifies also what can be done as core - using Affino Control Centre profiles and settings, and what must be done as custom code.
Repair can also have a dual meaning - it usually just implies ’Fixes’ - i.e. sorting out last minute glitches and smoothing out the way the solution works. It can also on occasion mean adjusting some of the parameter to better serve the intended outcome. Project plans can be flawed, and certain aspects of consumer behaviour might have been overlooked - meaning that there is something preventing the KPIs from happening. This is of course handled on a case-by-case basis, and we’ve never yet had to trash any modules and start again. There have been times though that quite significant adjustments were required to deliver the right results.
A significant part of development is always dealing with unforeseen incidents, and while we always try to keep everything on plan and within budget - in fact we probably more than anyone try and accommodate as much latitude as is reasonable. There are times though that a seeming ’repair’ job ends up as quite a significant Re-alignment.
The Affino Unified Digital Business Platform has so much functionality on tap that almost every way you choose to go, for an automated full-spectrum digital business platform, there are significant advantages of taking the Affino route. If all you want is simple WordPress site - then by all means go with WordPress, if however you want a proper working business solution that handles transactions and manages sales and marketing automation and other automated business processes - with a fully integrated core central CRM and single screen user / customer account across all disciplines - then Affino is your go-to solution. There really is nothing out there that fully compares to Affino. Depending on the size, scale and scope of your business, the initial transition may not be particularly easy - but once you’re set and all elements are fully working in accord with each other - seamlessly and instantly and in real-time, you will begin to see the benefits of Affino’s powerful customer activity tracking, incentivisation, personalisation and automation.
Check the related James Harley Drewry Affino CRM Presentation PDF to learn about the practicalities and positive outcomes from an Affino implementation.