As a consultant I now provide just six services, which I offer exclusively to the retail sector. Whilst I work throughout the UK and Europe, my specialisation focuses on ecommerce and CRM projects, within medium to large company environments.
Each of the services that I offer share common goals, which ensure that my clients gain competitive advantages through the correct application of technology; the compliance to software design standards and the development of projects based around best practices.
My approach is proven to results in more robust solutions that conform to specifications; meet minimum quality assurance requirements; are well documented, easier to maintain and delivered on time and within budget.
The larger companies that I have consulted to tend to have a very clear definition of the role of the software architect, whilst medium sized companies tend to have a lot more crossover between the roles of the business analyst and software architect.
Essentially, the software architect uses the documented project requirements, determined in the business analysis stage, to design a solution that is described as a number of individual components (classes). Each class is responsible for a specific task and whilst classes share clear relationships, the key objective is to minimise dependencies. Limiting dependences ensures that changes within one class are not propagated to other areas of the architecture.
The initial stage of software architecture results in a conceptual model, that allows someone who is non-technical to appreciate how the 'concept' satisfies the requirements.
Once the conceptual model is approved, it forms the basis for the creation of the structural models of the project that will describe, unambiguously, how the software should be developed.
Often stakeholders only become aware that a project is failing to meet its timescales, budget and business objectives when a significant problem arises. At which point it is often too late to achieve all of the initial project goals and ultimately requirements are renegotiated in order to remain within the parameters of the schedule.
The solution to this is to ensure that projects use proven methodologies such as Agile or PRINCE2 combined with a project manager whose past experience is relevant to the project objectives. For this reason, when it comes to project management, I focus solely on retail ecommerce/CRM web projects, that are built on Microsoft Technologies.
Many project managers that I have worked with are not so rigid and arguably have a broader view. I personally feel that by specialising I am able to draw on past challenges and relevant solutions.
As a project manager I am very flexible and offer full-time/part-time services or project review services for existing projects.
I can bring great deal of commercial experience to organisations that require a business analyst. The area that I specialise in is retail solutions for the web and mobile, with particular emphasis on ecommerce and CRM.
In addition to standard skills such as requirements gathering, business process modelling, UML class modelling, entity relationship diagrams, use case modelling and gap analysis, I offer the added advantage of a technical background, gained from many years employed as a software developer in blue-chip environments. Such technical skills are invaluable when appreciating the level of detail that software developers need, in order to deliver solutions that satisfy the stakeholder's vision of the end product.
In my view a good business analyst should be focused on meeting business needs and creating specifications that accurately reflect requirements and demonstrate an understanding of the project objectives. The role is then extended to guide stakeholders to a solution that not only provides an adequate result, but can be realistically developed within the constraints of time and budget.
Too many organisations are still jeopardising project schedules, by investing into software development prior to fully understanding and documenting the requirements.
Is it better to emulate the format of your leading competitor's ecommerce offering, or to pioneer your own original ecommerce system? Should an elegant solution to ecommerce render perfectly on both standard and mobile devices, or should an alternative mobile specific site be created? Should PayPal be offered as a method of payment and if so how should it be integrated? Is it a good strategy to develop a complete ecommerce solution, or to build on a pre-existing platform? How should ecommerce data be stored in order to be visible to search engines, whilst at the same time accessible to site searches and back office data mining processes? How can flexibility be built into the complexities of a shipping algorithm, satisfying both the vendor and the web user, whilst at the same time accounting for changes in the pricing models of multiple delivery companies? How can an ecommerce website be future proofed, in order to ensure that emerging technologies can be incorporated in a later release?
These are just a few of the key questions that should be addressed at the analysis stage of an ecommerce implementation. This is another area where I can add a great deal of value, saving your organisation many months of costly development time; particularly when I identify two fundamental mistakes that almost every organisation seems to make when implementing ecommerce.
All but the most simple of web applications have a requirement for storing and retrieving data. Database modelling is the initial process that considers the data requirements of an application and results in a conceptual data model. Database modelling evolves into database design, which defines the physical tables and their logical relationships.One consideration which is often overlooked during the design process is reuse. For Example organisations may define a set of data tables which store customer information. Much of this information is generic such as forename, surname, address, contact numbers, etc. Reusing this structure for all future projects can often save a great deal of time and promote consistency. I personally still use the tables and stored procedures that I generated over seven years ago, for storing customer information; in doing so much of my reporting logic can also be reused.
I offer several services relating to databases including: reviews, modelling and complete design.
According to Info-Tech Research Group 62% of organisations fail to deliver software projects on time; 49% of projects exceed budget; whilst 24% of all projects are cancelled prior to release. However, the majority of these failures started off with optimism, a proven approach to project management, quality assurance and risk assessment processes in place, as well as a team of capable technical staff.
So what are the key causes of project failure and how can such failures be avoided? Often the only way is to obtain an independent expert assessment. This will determine if the project is aligned to its delivery schedule; classic mistakes are being avoided; best practices are being followed and estimates are realistic.
The project review service that I offer provides a full report on the health of a project and where appropriate advises on corrective measures that need to be taken. This service is confidential, unbiased and provides a third party perspective. Project reviews can be conducted during or outside of normal working hours.
