How Technology Can Impact the Speed of Software Development

SOFTWARE DEVELOPMENT

The tech­nol­ogy that is cur­rently avail­able to us plays an in­cred­i­bly im­por­tant role in the ve­loc­ity of any soft­ware de­vel­op­ment pro­ject. For any new soft­ware pro­ject, de­vel­op­ers use mul­ti­ple tech­nolo­gies to as­sist their work. These days there are tools that can write the ma­jor­ity of the code for a piece of soft­ware!

More on this later, but if you are think­ing about what Sundar Pichai, CEO of Google, said re­cently about Software writ­ing it­self, (“over time these could be learned sys­tems that au­to­mat­i­cally writes it­self”) then yes, that will even­tu­ally im­pact the speed of soft­ware de­vel­op­ment in the fu­ture.

However, the AI ca­pa­bil­i­ties that we cur­rently have ac­cess to are not quite there just yet… For the time be­ing, we still rely heav­ily on skilled Software Developers and Engineers to build soft­ware, but you may be ask­ing, what is cur­rently at our dis­posal to im­prove this process?

Below I will cover off some of the more com­mon tech­nolo­gies be­ing used at the mo­ment and how they are im­pact­ing the speed of soft­ware de­vel­op­ment.

Third-party in­te­gra­tions

Does your soft­ware need a pay­ment gate­way like Paypal or Afterpay? Are you look­ing to on­board sub­scrip­tion-based cus­tomers? Or do you need to show data from a gov­ern­ment agency on your web­site? All of these are ex­am­ples of third-party in­te­gra­tions.

The most com­mon method to im­ple­ment these within your soft­ware de­vel­op­ment is us­ing an API (Application Programming Interface) pro­vided by the rel­e­vant plat­form. Without get­ting bogged down in too many tech­ni­cal de­tails, you can think of APIs as a bridge be­tween your ap­pli­ca­tion and the other plat­for­m’s servers.

Depending on how well these APIs or ex­ten­sions are writ­ten and doc­u­mented, as well as the level of fa­mil­iar­ity of the de­vel­op­ment team with these plat­forms, such in­te­gra­tions can take any­where be­tween half a day to a few days.

A quote block that reads "depending on how well these API's are written, such integrations can take anywhere between half a day to a few days"

Benefits of us­ing APIs :

  • They save us from writ­ing the whole func­tion­al­ity from scratch
  • The providers of the API are usu­ally fo­cused on im­prov­ing the fea­tures

There are not many dis­ad­van­tages, how­ever, the time and com­plex­ity needed for each of these in­te­gra­tions have to be ac­counted for. This ul­ti­mately has a pretty big im­pact on the over­all time taken to de­velop your soft­ware pro­ject.

Rapid ap­pli­ca­tion de­vel­op­ment plat­forms

Nowadays there are plat­forms avail­able on the mar­ket that lay the ground­work when writ­ing a new soft­ware code. As you can imag­ine, the use of a plat­form like this ac­cel­er­ates the whole soft­ware de­vel­op­ment process by pro­vid­ing ex­tra ve­loc­ity and sav­ing time.

In soft­ware de­vel­op­ment, time equals bud­get. The amount of time that can be saved by us­ing a plat­form like this di­rectly trans­lates to cost sav­ings. Not only do these plat­forms help in speed­ing up the de­vel­op­ment process, but they can also help to bring con­sis­tency in the de­vel­op­ment stan­dards across teams within a com­pany. However, these plat­forms do come with a sub­scrip­tion fee of their own.

One such plat­form is Codebots but with added ad­van­tages. Codebots is es­sen­tially bots that write code. The ben­e­fits of Codebots vs other rapid ap­pli­ca­tion deevl­op­ment plat­forms are:

  • No ven­dor lock-in. You own the code­base and can eas­ily down­load or use it with­out de­pend­ing on the plat­form.
  • Flexibility to cus­tomise the code and use cre­ativ­ity
  • AI Lab is the new fea­ture at Codebots that al­low the or­gan­i­sa­tion to cre­ate their own bots us­ing Artificial Intelligence

Here at WorkingMouse, we lever­age the Codebots tech­nol­ogy for our soft­ware de­vel­op­ment pro­jects with great suc­cess. Reach out to us, if you would like to learn more.

Available li­braries and tools

Another thing to con­sider when build­ing cus­tom soft­ware pro­jects is what you can lever­age that is al­ready avail­able. Why rein­vent the wheel when you can utilise an ex­ist­ing tool and save your­self some time? There are pros and cons in­volved in this, of course. But we can at­test to the use of ex­ist­ing li­braries and tools be­ing help­ful in cer­tain sit­u­a­tions.

In one of our re­cent AI pro­jects, we were work­ing on build­ing a pro­pri­etary com­puter vi­sion en­gine for our client. To achieve this, we uti­lized OpenCV li­braries to build ca­pa­bil­i­ties on an on-premises sys­tem. We also used Azure Cognitive Services to make use of their pre-trained en­gine for ob­ject recog­ni­tion on the Cloud. Pretty cool right? Using these tech­nolo­gies that are al­ready avail­able and fully func­tion­ing saved count­less hours in build­ing some­thing sim­i­lar from scratch.

Similarly, there are more open-source (as well as paid) li­braries that can be used to fast-track AI pro­jects. Another ex­am­ple is GPT-3 API pro­vided by OpenAI, which of­fers gen­eral-pur­pose AI ca­pa­bil­i­ties for any lan­guage task.

There are so many pos­si­bil­i­ties!

DevOps and CI/CD

DevOps is the use of tools, processes and peo­ple to im­prove an or­gan­i­sa­tion’s abil­ity to de­liver dig­i­tal prod­ucts and ser­vices at a high ve­loc­ity. The term DevOps is a mashup of Development and Operations. It pri­mar­ily re­lates to the stage be­tween those two ar­eas.

One of the most fre­quent acronyms within the DevOps space is CI/CD. CI stands for Continuous Integration which is the prac­tice of merg­ing all code changes into a cen­tral repos­i­tory where a pipeline val­i­dates those changes through tests and builds.CD could stand for Continuous Delivery or Continuous Deployment — they are sim­i­lar con­cepts but dif­fer on their ex­tent.

DevOps and CI/CD tech­nolo­gies play an im­por­tant role in achiev­ing higher ve­loc­ity. With an ef­fec­tive user code repos­i­tory, test­ing and au­toma­tion tech­nolo­gies, a soft­ware de­vel­op­ment team can im­prove the ef­fi­cien­cies in soft­ware de­ploy­ments. The added bonus is that the feed­back is also in­stan­ta­neous.

At WorkingMouse we use tools like Gitlab (code repos­i­tory), Selenium (testing), Confluence (reporting and pro­ject doc­u­men­ta­tion) and Mattermost (internal mes­sag­ing) along with a few other tools that are in­te­grated with each other for ef­fec­tive up­dates and com­mu­ni­ca­tion. For ex­am­ple, Gitlab up­dates au­to­mat­i­cally no­tify the pro­ject team on Mattermost, in­form­ing them of whether or not the re­lease was suc­cess­ful (and why).

Through these au­toma­tions in DevOps, soft­ware teams can re­duce risks, save costs, im­prove qual­ity and speed up the soft­ware de­vel­op­ment pro­jects.

There are many fac­tors that can im­pact the length of de­vel­op­ment for a soft­ware pro­ject and as you can see from the above use-cases, tech­nolo­gies avail­able to­day are def­i­nitely one of the ma­jor fac­tors. The list above is not ex­haus­tive and is only grow­ing longer each day.

However, it is im­por­tant to note that speed should not be the only de­cid­ing fac­tor when se­lect­ing the team or the tech­nol­ogy for your pro­ject. Apart from the costs, em­ploy­ing the right processes, the qual­ity of de­vel­op­ment, proper doc­u­men­ta­tion and main­tain­abil­ity should also be con­sid­ered in the de­ci­sion-mak­ing process.

If you are not sure how much time you should bud­get for your next pro­ject or you are look­ing for part­ners to use sci­en­tific meth­ods to es­ti­mate your pro­ject, we may just be the right fit! You can book a com­pli­men­tary prod­uct strat­egy ses­sion with us to dis­cuss.

Discover Software
Secrets

ABOUT THE AUTHOR

Shivam Arora

Account man­ager and hik­ing en­thu­si­ast

Get cu­rated con­tent on soft­ware de­vel­op­ment, straight to your in­box.

Migration vs Rebuild

12 November 2018

The top tech­nol­ogy frame­works you can use to build a mo­bile app

21 January 2020

How does end of life soft­ware im­pact you?

10 November 2020

Your vi­sion,

our ex­per­tise

Book a con­sul­ta­tion