Way of Working

Principles of qual­ity soft­ware


The process re­lies on five teams to guide the pro­ject through dif­fer­ent phases: Growth, Product, Delivery, Support and Customer. Each team will be in­volved dur­ing var­i­ous phases de­pend­ing on a pro­jec­t’s re­quire­ments.

While we rec­om­mend each role is car­ried out by a sin­gle per­son, the re­al­ity is that may not al­ways be pos­si­ble. Use your best judge­ment when as­sign­ing roles and re­spon­si­bil­i­ties, tak­ing into con­sid­er­a­tion a per­son’s ex­per­tise and ca­pac­ity.


The Growth team is a part of all phases of the process. The team is made up of two roles, the Account Manager and the Customer Success Consultant. An Account Manager is an in­ter­nal role that is the key in­ter­me­di­ary be­tween the in­ter­nal teams and any rel­e­vant ex­ter­nal stake­hold­ers. Think of them as your cus­tomer ad­vo­cate on the in­side. The Customer Success Consultant is largely in­volved dur­ing the lat­ter phases of Scope, Development and Support. Their key re­spon­si­bil­ity is en­sur­ing the ap­pli­ca­tion is meet­ing the busi­ness ob­jec­tives by con­sis­tently mea­sur­ing an ap­pli­ca­tion’s per­for­mance against key met­rics.


The Product team is highly in­volved in the Brief, Scoping and Development phases. Their mis­sion is to iden­tify the prob­lems a cus­tomer is fac­ing, find a cre­ative so­lu­tion to solve them and en­sure fu­ture it­er­a­tions con­tinue to de­liver value based on data-dri­ven feed­back loops. Typically, a Scoping team will fea­ture a Product Designer and Software Developer to en­sure pro­jects are de­signed so that they de­liver value and are fea­si­ble from a tech­ni­cal per­spec­tive.


The Delivery team are core to the Development phase and are re­spon­si­ble for de­liv­er­ing high-qual­ity soft­ware. Teams should be struc­tured with a Squad lead and a group of 2-9 de­vel­op­ers for any par­tic­u­lar build. Squad Leads are re­spon­si­ble for the fa­cil­i­ta­tion of the Development process and en­sur­ing de­vel­op­ers are able to build soft­ware with­out ex­ter­nal dis­trac­tions. Developers write the code, tests and per­form any qual­ity as­sur­ance re­quired to build and re­lease an it­er­a­tion of work. Depending on a pro­jec­t’s needs, squad leads have the abil­ity to mon­i­tor and man­age mul­ti­ple Delivery teams at one time work­ing on en­tirely dif­fer­ent pro­jects.

Figure 2: Squad structure


The Support team are a group of soft­ware de­vel­op­ers which pri­mar­ily han­dle the sup­port and main­te­nance of a pro­ject af­ter it has been re­leased. Along with reg­u­lar main­te­nance, a sup­port team can also be used to make grad­ual im­prove­ments to an ap­pli­ca­tion. Allowing a Product Owner to quickly re­spond to feed­back from users or prod­uct met­rics to en­hance their ap­pli­ca­tion.


The Customer team are gen­er­ally an ex­ter­nal team as­sist­ing all other teams to de­sign and build a suc­cess­ful prod­uct that meets the goals and suc­cess cri­te­ria of a pro­ject. The team is typ­i­cally com­prised of a Product Owner, and all other ex­ter­nal stake­hold­ers im­pacted by the pro­ject. The Product Owner is a sin­gle per­son who deeply un­der­stands the do­main, rel­e­vant cus­tomers and is the de­ci­sion maker. It is the re­spon­si­bil­ity of the Product Owner to en­sure rel­e­vant ex­ter­nal stake­hold­ers are ei­ther pre­sent for, or in­formed of, key de­ci­sions made dur­ing the ap­pli­ca­tions de­vel­op­ment.

Internal de­liv­ery teams will li­aise day-to-day with the Product Owner dur­ing de­vel­op­ment. Within this doc­u­ment, “customer” and “product owner” are both used. Customer is used when dis­cussing es­ti­ma­tions that will af­fect bud­gets or when re­fer­ring to all stake­hold­ers that are en­gag­ing in de­vel­op­ment. Product Owner will be used when dis­cussing the de­vel­op­ment and di­rec­tion of the ap­pli­ca­tion, and the sin­gle point of con­tact for key de­ci­sion mak­ing.

Discover Software

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