Modern-day solution architects and software engineers need to solve complex tasks at all layers of an organization: helping executives align IT with business objectives, employing Solution Architecture to define systems and integrations, Application Architecture, and Engineering to produce high-quality code and patterns. The journey does not stop there: requirements gathering and analysis, quality assurance, deployment, and maintenance operations need to seamlessly cooperate with engineering efforts to build, verify, deliver, and run applications that meet customers' expectations and have no critical flaws. Everything needs to play well together.
To succeed in such a complex environment while developing enterprise-grade software solutions, one needs to have a broad insight into the holistic view and a depth of understanding in aspects that make the entire engineering process work together effectively. It is paramount to make sense of the multiple disciplines, selectively choose essentials, and build a cohesive approach and patterns that work. This task is not easy for a single ambitious individual to conquer on their career path. Hence, with extensive and relevant knowledge and experience, the author has put this comprehensive guide together.
Effective Software Development for Enterprise builds on advanced disciplines, methodologies, and techniques derived from Domain-Driven Design, Software Architecture, and Extreme Programming. Its objective is to aid a modern software engineer and solution architect in building and delivering high-quality solutions for an enterprise while meeting ambitious criteria:
Meet users' expectations.
Scale out horizontally.
No dedicated production support team.
Accelerate development pace.
Double ROI per developer, team, and software.
Readers learn how to achieve these objectives in any engineering environment by developing solid arguments based on the industry's well-known, recognized, and established patterns and principles.
This book does not focus on reiterating a theory that you can learn anywhere else or in other books. This book puts everything together, connects the dots, and directs the reader to additional reference material for more profound knowledge.
Praise For The Book
By Independent Professionals
* * *
"This book is a must-read for both technical and non-technical readers...: software engineers, architects, managers andeven top-level executives.... It will give you the tools you need to become an effective technology leader. The tools provided will apply whether your organization is focused on delivering software to external customers or has the need for internal solutions. The book has ano nonsense approach and provides concrete solutions to common obstacles to delivering a cost-effective and long-lived software solution."
-- Dave Black, Solutions & Performance Architect, Black Box Solutions, Inc.
* * *
"I have been developing software for over 30 years, and based on that experience, I am confident that the modern comprehensive approach laid out in this book will work better than that in any environment I have seen to date. This is the book many of us have been waiting for....
It is mostly based on Domain-Driven Design, which may seem counterintuitive to many at first, but the author astutely explains how it saves so much pain in the longer term, which thus maximizes ROI.
It is highly relevant that the approach in this book is the product of the author's first-hand experience. There is nothing theoretical about it. It is entirely pragmatic. For example, it recognizes the purpose of profit. In fact, I found it to be more pragmatic than many other industry luminaries.
All roles are covered, and in a way that is respectful to all of them. The first three sections are a must-read for non-technical team members, such as product owners.
Its style and size make it a quick read with reference links to any deeper dives one may wish to make."
-- Jim Hammond, Lead Developer, Kantar
* * *
"As a leader in software engineering for over 20 years, I have first-hand experience in organizational and technological transformation by building teams from ground zero, putting the green field architecture, and implementing emerging software development tools and practices to deliver the business value right to the customer.
Effective Software Development book by Tengiz Tutisani is a collection of lessons learned, thoughts, ideas, and rationales from his professional experiences. I resonated with the views presented on the aspects such as customer-focused requirements, reduction of work in progress, co-ownership of software development, testing, and maintenance.
The book not only points out the pitfalls and fallacies but provides in-depth remediation and has a nifty way to reference additional material. The Author's writing style is engaging, the anecdotal situations and stories invoke interest and make reading enjoyable.
Overall, this book is a comprehensive compilation of several key concepts in software development methodology that are prevalent, overlooked, misunderstood, or simply hidden from the sight. Anyone looking to get the full breadth of software development best practices and principles will be greatly benefited by this book."
-- Preeti Baranga, Technical Leader in Software Development, LinkedIn
* * *
"I have found this book to be an all-encompassing eye-opener about all-things software development, starting from requirements analysis through successful releases.
As a technology leader, I think it is worth considering techniques demonstrated in the "Effective Software Development for Enterprise" in organizations that want to change and run engineering processes and teams in a more efficient manner that delivers business value and improves morale."
-- Lasha Kochoradze, CTO at Nugios Technology
* * *
"I enjoyed reading the "Effective Software Development for Enterprise" because this is a unique book.... Besides presenting techniques to implement Effective Software, the author tries to defeat the status quo and shift our mindset into a "what if" mode. This engraved passion and belief make the book a special one, which I would recommend to executives, architects, and other engineering leaders.
I have seen and heard Tengiz succeed with the approaches he presents in this book. If he could do this, why can't anybody else?"
-- Nugzar Nebieridze, Entrepreneur, Expert of Cybersecurity, Ex-CIO at Liberty Bank Georgia
* * *
"This book uncovers fundamental issues that are inherent to many large organizations. Take Agile teams as an example - they need to adapt to changes fast, but a confusing graph of dependencies makes it impossible to deliver features independently; how are they supposed to be agile then? Departments and groups are formed based on managerial preferences rather than the business problems that the company solves. Systems are built based on what is easy to develop rather than what is right to deliver.
The "Effective Software Development for Enterprise" fearlessly exposes gaps in organizational structures, processes, and technical systems. Being an Agile practitioner for years, I think this publication is up-and-coming, and I look forward to seeing companies adopting these suggestions and forming more scalable teams, processes, and applications."
-- Romana Stasiv, Agile Fellow
Video by Author: About My Book (#1 Tech Book I Would Read)