All software engineers who’ve been groomed in the 21st century would definitely remember the “Head First” series for various programming subjects they’ve had in their syllabus. Head First was probably the only series of books that made learning sheer fun by putting fun conversations between characters (now called MEMEs), juvenile anecdotes, use of slangs and all the verbose that defines youth. However, there was no Head First for the subject Software Engineering for which the engineers helplessly read a mundane Rajib Mall or a tome-like Roger Pressman. It took the budding engineers quite-a-bit of tolerance and patience to grasp the ‘inception- to-perception’ journey of a software. But here comes Getting Real– composed in a technically vernacular colloquia which encompasses almost the entire universe of Software Development and Software Startups in a microcosm of 16 chapters.
If people believe that Genetics and Evolution aptly epitomize “contradiction” then they might just reconsider replacing the couple with – Conventional Software Engineering and Getting Real. Getting Real thwarts mercilessly the conventional basis of software engineering which have hand-cuffed the software professionals for years. While traditional software engineering begins with the formulation of a typical Software Requirement Specification document, Getting Real blatantly advices you saying “Don’t Do Dead Documents” (obviously the Dead Document analogy was for the SRS document which once had precious weightage in SE papers and which then served as your pseudo contract with the client.) Where most software firms today have adopted a Development Lifecycle for their projects, Getting Real presents a blend of all of which the Prototype Model stands out too much all throughout the reading. By doing so, the Getting Real gospel provides much needed empathy to the developers and the industry which is enslaved and prisoned into strict routine of a lifecycle which at times compromises with the quality of the product and its delivery to the client.
It addresses the woes that developers face today and presents comforting solutions. For instance where most of the companies (giants like Facebook) face the challenge of change due to the Goliathness of their product, Getting Real has its genesis in the virtue of “Build Less” and “Less Mass” both of which imply to keep the scale of the product small initially. While most books give you information, this one gives knowledge. Prioritizing tasks is something that most learn over experience, Getting Real stems the idea into your cerebral column through candid yet impactful examples. While documents in realtime still continue to be overtly daubed by pages of planning diagrams and Gantt charts, Getting Real goes out-of-the-box and suggests you going the other way round, keeping the timeline bar in abeyance thereby suggesting to work less but work perfect. While most authors use metaphors like “unfortunate outcome of the product development”, Getting Real uses a brazen “half-assed product” to deliver the emphasis of the philosophy.
Moreover it darts away the conventional and staunch models of Software Development Life-Cycles, some of which popularly are: Waterfall, Iterative Waterfall, Spiral, Prototype. Getting Real has a tangible and well-reasoned mixture of all the models to get your software development on the floor with utmost nimbleness. It brings the power of visibility of the Prototype Model as well as the flexibility of the Iterative Waterfall to iterate through various stages of development together in one lucid and coherent model.
I personally believe Software Engineering is a sheer philosophy which should ideally be devoid of all maths. However, the veterans of the art coined metrics like LINES OF CODES (LOC) and the likes of it to indicate the scale and efforts of the product. Yet again, Getting Real epithets the technical verbiage to “Big Ball of Mud” indicating the complete futility of these metrics in Software Engineering.
The Getting Real paradigm leaves no stone unturned to play an unconventional chaperon to software development and an insightful startup guide. Towards the conclusion, it focuses on Customer Experience- the phase much neglected by the contemporaries of industry. While the big players infer the acronym CEO to Chief Executive Officer, Getting Real divulges it to Customer Experience Officer. Providing post-launch support to handling customer requests, Getting Real has it all. Even in the end, it doesn’t leave the virtue of breaking the conventions the industry continues to be fascinated with. While most companies outsource their Customer Support, Getting Real advices “Don’t outsource customer support to a call center or third party. Have your chefs work as waiters.” Once again the chef-waiter analogy for developer and support executive respectively leaves you in awe of admiration for this publication. While the conventional books just address the sunny days of life, Getting Real has some real advices to handle the gloom. “Tough Love – Saying No to Customers” has insights to help you convert your nasty NOs to diplomatic negatives.
All throughout the reading journey, Getting Real brings the entities of the software engineering world to life. “Listen to your code” – a phrase in the book actually brings the inanimate strings of letters(read: code) to life in your imagination. A book like this is bound to convert a software professional into a software dude who is more much confident about his work, a person who dares go beyond deep-rooted conventions of the Software Engineering faith. While the introduction to the book terms it to be a guide to Software Engineering, towards the end I feel, it was a complete paradox of the philosophy provided you consider Software Engineering in its literal terms. The senescent in the industry would term the book cocky, in my opinion it was just cool!
P.S. Whether you’re an industry veteran or just a beginner, Getting Real is a must-read if you want to gain a new perspective towards Software Development and Startups!