I "Software Architecture and Decision-Making" deler Srinath Perera sin omfattende kunnskap om hvordan lederskap kan utnyttes for å ta bedre beslutninger innen programvarearkitektur. Boken oppfordrer leserne til å tenke dypt, men samtidig implementere med omhu. Hovedmålet med programvaresystemer, og dermed programvarearkitektur, er å utvikle systemer som både møter kvalitetsstandarder og gir maksimal avkastning på investeringen (ROI) over tid. For å skape et fremragende produkt kreves en vellykket kombinasjon av teknologi, lederskap og produktledelse (inkludert brukeropplevelse). Lederskap dreier seg først og fremst om å håndtere usikkerhet og ta de riktige avgjørelsene. For å utvikle enestående produkter er det avgjørende at tekniske ledere besitter kunnskap innen teknologi, lederskap og produktledelse, og evner å ta rett beslutninger. Mange tekniske feil oppstår fra manglende sammenheng mellom kunnskap om disse tre elementene og evnen til å bedømme situasjonen. Perera presenterer i denne boken viktige prinsipper og konsepter som programvarearkitekter må ha en dyp forståelse av, samt hvordan de kan bruke disse prinsippene for å håndtere usikkerhet på en effektiv måte.