App Development

How to effectively sell your project manager on Codebots

25 February 2021 • 19 minutes

Written by Eban Escott

'Title image'

This article is for developers who want to convince their managers that Codebots is a tool worth using. Owning your Intellectual Property (IP), boosting quality, and saving time are all things that managers love to hear about. So, while they get what they want, you can learn and play with some new frameworks and deliver applications with confidence.


Did you know that access to developers is a bigger threat to success than access to capital? That statement alone could be enough to prompt your manager into action; but knowing managers, this may not be enough to get the approval you are after to jump into Codebots. In this article we take you through proposing a proof of concept, evaluation questions to consider, and a competitor analysis.

Proposing a proof of concept.

It is rare these days for an organisation to commit to anything large without trialling it first. An approach is to propose a Proof of Concept (POC) of what you are going to build. So, I am sure your manager has a project in the back of their mind that they have been keen to get off the ground for some time, can you build them a POC for this? That would be a great way to perk their interest.

Before you suggest a POC, you need to be ready for the initial questions your manager will no doubt ask. I can pretty much guarantee the following five questions will be somewhere in your manager’s initial thoughts. Generally speaking, managers try to limit the number of different platforms in an organisation (simplicity is great). However, they do like to celebrate the wins and innovate with the best products! So, be prepared to answer these questions:

  1. What is it for?
  2. Don’t we already have software that does this?
  3. How much is it going to cost?
  4. Do we really need this?
  5. Why is this software the best?

Some answers to consider (corresponding to the numbers above):

  1. Codebots is a platform which uses bots to write code that developers would usually have to write themselves. Codebots will allow us to save time and greatly increase our development momentum.

  2. You will need to answer this one and have a look at the competitor analysis below. However, I would say that you do not have bots that code yet.

  3. Take a look at the pricing page for the most up-to-date information, however it is basically free for you to build the POC. Your manager should be wary of the total cost of ownership. It essentially works out at $80/month per person. Note that there are no extra charges for the end users of the application once built. You own your code and your Intellectual Property (IP).

  4. You know how under the pump you are, so feel free to talk about your work load and how many projects the company wants to get done. Consider how much time you spend coding and how you could redirect that energy to better assist your company’s goals.

  5. Owning your IP, boosting quality, and saving time are all things that managers love to hear about. Refer to the competitor analysis below to better prepare your answer.

Answering these five questions over a good conversation might be enough to gain approval from your manager. If so, at this point, we would recommend time-boxing the POC and also writing out a wish-list of requirements you want from Codebots (like a backlog) to see how many of them you can tick off. This will help with a summary that you can show upon completion of the POC. There are also workshops you can attend and engage with a Codebots coach to help set you on the right path, we will speak more about this in the summary below; they can be accessed once you go onto a pro license, so $80 AUD.

However, if your managers interest has been perked but they have also asked for more detail, then it is time for the full analysis.

Providing a full analysis.

Hopefully your answers to the initial questions gained your manager’s interest and you can follow up with some more details. It is unlikely that they will commit anything past doing an initial POC, so it is worth concentrating your effort there. The first thing to do is to develop a backlog of requirements for the POC and there is a neat way to show how a codebot can contribute to the project.

POC backlog.

Your application will have some specific requirements and it is important to have a good idea of what it is you want to build for the POC. Try to keep it small and relevant to the organisation.

In the following table, we have included a standard list of likely requirements your project will need. Feel free to copy and paste this as required but make sure you add in the requirements specific to your POC. The last column in the table is titled Feature or extension; features are out of the box functionality and extensions extend these. The concept of extensions is an important one to wrap your head around when using a codebot. This will be explained after this table.

Requirement Title Description Feature or extension
POC - 01 Authentication The users can login, logout, and reset passwords. User extension
POC - 02 Authorisation The users can be authorised to access only some data and pages. User extension
POC - 03 Accounting User activity is logged to ensure an audit trail for computer forensics if required. Security feature
POC - 04 REST RESTful APIs are provided as web services. Developer API feature
POC - 05 GraphQL GraphQL API for data queries and manipulation. Developer API feature
POC - 06 Admin UI Provide a user interface for admin users to manage the data of the application. Admin feature
POC - 07 TBA TBA Custom

I like to think of extensions as cool things the bots can do which extend upon Codebots’ out of the box features. A more formal way of describing them is reusable patterns for common business solutions. For example, for a software application it is a common requirement to have users and security, so this is wrapped up into the User extension. Another example would be a workflow of some sort like a job order, so the Workflow extension can be used for this. There are lots of different patterns we use as developers to come up with solutions. Extensions are another arrow in your quiver and fulfilling a very important software development principle: don’t repeat yourself!

The following table shows the extensions a codebot can use:

Extension Short description
Users Ability to create users with additional metadata associated, including defining user types.
Forms A dynamic way for an admin of an application to create forms for users to enter data. Can be used for a multitude of scenarios like surveys, safety, contact details, etc.
Workflows Another dynamic way for an admin of an application to configure a workflow for some entity in their application. For example, a job, invoices, sales, issue, etc could all be in some state as it progresses.
Data table Provides a visual interface for the CRUD feature, includes managing users, events or bookings.
Timelines Timelines are a visual way to see the history. A timeline displays events so the users of an application can better see how something changed over time.

You can view a more indepth list of our extensions in our Extensions available on Codebots article; including common use cases and what the extensions can be customised to include.

Once you are familiar with the extensions, they are a great way to get stuff done quickly and how you can get a good ratio of bot-written and developer-written code. For your POC, presenting a list like the table above can also lead to you announcing that a certain percentage of your requirements will be completed by a bot. For example, 70% of the requirements are covered.

A quick note before we move onto some good evaluation questions, there is a more detailed process you can go through using the Extension Identification Matrix. This is for much larger projects than a proof of concept, for example the project in this estimation case study.

18 Evaluation questions.

Usually when you are evaluating a product, you will have evaluation questions to make sure that it does what is required. The following table lists out 18 evaluation questions that you should consider.

Consideration Question Notes Codebots Tip
Technologies What technologies are used in the application? Most organisations support only one tech stack (like Java for example). So, if you don’t want to work with that technology, rule them out. There are 2 codebots available; SpringBot (Spring, Hibernate, and Angular) and C#Bot (ASP.NET, Entity framework, and React).
Ownership Do you have a perpetual license to own the application with no vendor lock? Some platforms do not let you own the source code ever. And some others only if you pay an exit fee. Read the fine print on this one. With Codebots, all technologies in the application are open - source and free. The source code is committed to Git (yours or ours) and no extra fees are charged to own the application code.
Cost What are the costs for the platform? What are the costs for the application? You will come across the terms internal users and external users. Watch out for these ones as they are charging you for users of the application! Codebots does not charge for end users of the application. There is also no extra Ownership fees.
Functionality How much functionality can the platform provide for your requirements? All platforms have a limit to what they can provide so check to see what is not covered in your requirements backlog. Codebots uses the term extension to describe common functionality. For example, the Workflow extension provides REST and GraphQL API’s for your data. There are other extensions but it is important to be able to do Customisations at the code level.
Customisation When the platform can’t do it, how do you add in customisations? Access to the source code is optimal but some organisations allow you to add in customisations via the platform without providing you with the source code. Codebots allows code - level customisations via protected regions. Developers add code into a protected region and the bot does not touch this code when it writes again.
Code Are the models used understandable? Being able to understand the code is key to many things like customisations and ownership. Some platforms use code generators that create a black - box of machine mess. A codebot writes code that a developer can understand allowing for customisations. All code written by a codebot is human-readable.
Model Are models used to assist in application development? Are they overly complex? Some platforms provide overly complex models that take longer to learn than simply coding. Codebots uses simpler models that are relatively quick to learn and represent the application well.
Skills Where can you find skilled people if required? How complex is the technology to pick up? Overly complex models can lead to specialised platform developers, but complex application code can lead to an even smaller resource pool of skilled developers. The application written by a bot is developer readable and uses open - source technologies; this leads to a greater pool of developers that can work on the application.
Hosting Where can the application be hosted? Where can the platform be hosted? Most organisations offer a combination of cloud or on - premise (you host). But be careful as on - premise does not imply ownership. Since you have the code via a Git repository, you are free to do whatever DevOps pipelines you want. It is your code so you can host it.
Testing How is the application tested? Are there any tests provided for you? Testing ensures quality and without tests bugs can creep in easily. Be careful of platforms that provide no tests for the application. A codebot writes tests for its code. These tests can be executed like any other tests using continuous integration or other methods. Developers are free to add extra tests into the Git repository like they usually do.
Security How is the application secure? What standards are used? Like testing, security ensures quality and is critical. Ask for security standards and consider a 3rd party pen test. A codebot writes code that adheres to OWASP and ensures security standards. We can sleep soundly at night!
API’s and Integrations What APIs are available for others to integrate with the application? What out of the box integrations are available with other applications? Think two-way in this context. Others will want to integrate with you. And what other applications do you want to integrate with. A codebot writes both REST and GraphQL API’s ready for 3rd parties to integrate with your application. To integrate with other applications, developers can add the required code into the application.
Mobile Are mobile apps available? Mobile apps can be native or they can be hybrid. Consider a responsive web application to reduce complexity. Codebots currently only supports responsive web applications. If you want a native application, we recommend using C#Bot that uses React, which is a stepping stone to React Native.
Training How long does it take for someone to be qualified on the platform? And on the application? There is always an education gap with learning new software so be mindful there is a difference between a beginner and someone who is advanced. We are big on education! Pro subscriptions have access to team workshops and there is an academy and library for self-paced learning available to all users.
Support What support is available to help you when you get stuck? Does it cost extra? Most organisations have different support levels with response times. Make sure you look at the extra costs associated with these. There are no extra costs for access to support on Codebots. You can contact support via the feedback button on the main menu and book a 1-on-1 session with someone if desired.
Collaboration Does the platform allow your team to collaborate? How does the platform handle concurrency? Without some type of concurrent access on the platform, changes can get lost and merge conflicts occur. Once you have upgraded to Pro, you can invite team members to the platform and concurrently access the diagram for real-time collaboration.
Modernisation Is it possible to modernise the application in the future? The ability to maintain and modernise an application in the future is important for business agility. This ties back in with Ownership and Customisation. This is a passion of ours and we believe that legacy systems are having a negative impact on our planet; both from a business agility and environmental point of view. Check out the Continuous Modernisation book.
Testimonials Are there any testimonials or case studies of applications like the one you want to build? A good tip is to look for similar projects or from the same industry. Nothing like a bit of social proof! One of our most successful Codebots customers is a software development house called WorkingMouse. Check out some of the awesome projects they have been able to build using a codebot!

Competitor analysis.

In the competitive landscape, Codebots sits in an interesting place as it has some overlap with a number of areas. The following three dot points summarises these areas:

Generally speaking, the total cost of ownership of an application is high for both low-code and no-code products. The reason being they charge you based on the number of users on their platform and the target application. Yes, that is correct, users on the target application! So, if you plan on a lot of users, it can get expensive quite quick. In these cases, you are also locked in to their platform without ownership of your application, which is your IP. If you want to exit and own your application outright, you possibly could apply for a quote, or there might not be a path to ownership which means you are completely vendor locked.

Category Cost Ownership Customisation Functionality
Low - code Usually charge per user of both the platform and application. May also charge per application as well. Generally no ownership but can apply for a quote to own the code. However, the code quality can be poor making maintainability difficult. Provides some customisation but usually via an interface and not easily within the code itself. Can provide high-level functionality but be wary of overly complex modelling notation.
No - code Generally the same as low-code where you are charged for the number of users (both platform and application). Usually vendor locked, with a non-existent (or very difficult path) to withdraw from. Can provide high-level common functionality based upon popular applications. Difficult to customise as COTS systems have traditionally been. Usually provides out - of - the - box functionality to cover different requirements.
Frameworks Free. You own your application code. Highly customisable but usually have limitations on rerunning scaffolding code generators. Usually provides some scaffolding for CRUD operations but does not extend into other common patterns. Developers use 3rd party libraries or custom code.
Codebots Charged per user of the platform and not on the users of the application. You own your application code. Highly customisable and the bots can write code many times throughout the project preserving the developer code. Provides extensions as solutions to cover common business scenarios; not as rich as some older platforms but mitigated through customisation.

There are also a lot of great frameworks out there that provide a lot of power. The great thing about frameworks is they are usually free and you own your source code, awesome! Where frameworks lose out is on functionality, as it is expected that a developer is available to write your code. However, with a world wide shortage of developers, this means the business world is restricted on productivity. For us at Codebots, we aim to have a codebot write code for well-known frameworks and save time for developers so that they can continue to extend as they normally would. We love frameworks!

If you want to expand the list of alternatives you can discover more low-code platforms listed on Gartner and there is a good list of no-code platforms on Medium. The list of frameworks is huge but maybe take a look at Convention over Configuration (CoC) frameworks as they have some interesting functionality.

Summary.

If you have made it this far reading this article, thank you! We look forward to helping you on your journey of using Codebots. If you ever get stuck or need a hand, you can reach out on the platform for a one-to-one session or attend a workshop with a coach.

In this article on how to effectively sell Codebots, we took the approach of starting with a good conversation followed up by a more detailed report. Our best advice for getting a manager to approve you to explore Codebots further is to do a POC, preferably something the manager is excited about. Try and establish a wish list backlog of requirements and lean into using our extensions to get some good wins.

We have also covered off a comprehensive list of evaluation questions to consider. It might be worth asking your manager which ones they are most interested in to help with your market research. For our analysis, we kept it to what we believe is important for managers like cost, ownership, and functionality.

In addition to the evaluation questions, we addressed the competitive landscape. The big gotcha is vendor lock-in and the total cost of ownership when talking about low code or no code platforms. Even if you do get access to the source code, the code quality is usually questionable. So, make sure you ask the hard questions and know what you are signing up for.

Lastly, we have included an email template for you below. Feel free to use this to send to your manager with your POC backlog, evaluation questions, and competitor analysis. Good luck!

Email template.

Your organisation may already have an evaluation checklist to be completed, but here is an email template to help out if required.

Hello <manager>,

I have researched a number of software applications to save time and boost our productivity, including <?>, <?>, and <?>, to see if there was anything available which offers what we are after. I believe Codebots will be the best fit for our needs, taking into consideration the competitive pricing and the fact we would own the source code, meaning we can exit at any time if need be. 

Therefore, I propose we do a time-boxed Proof of Concept (POC) based on the backlog of requirements attached to this email. From my initial analysis, Codebots will speed up the development process significantly with a bot being able to assist with <?>% of the requirements.

As part of the due diligence for the POC, I considered 18 evaluation questions against a number different products in the competitive landscape from low-code, no-code and frameworks platforms. The evaluation is also attached.

With your approval, I would like to proceed with the time-boxed POC. Given my analysis, I believe Codebots could make a real difference to the momentum of our software team. I will keep you updated and upon finalisation, will provide a report on the difference a codebot made.


Cheers,

<awesome developer>

Reports that you can use as evidence

From Stripe; The Developer Coefficient; Software engineering efficiency and its $3 trillion impact on global GDP

From Gartner, Magic Quadrant for Enterprise Low-Code Application Platforms or search around for a free PDF from a vendor.