Effective Software Development for Enterprise


This book is no longer available for sale.

Effective Software Development for Enterprise

Beyond DDD, Software Architecture, and XP

About the Book

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.
  • No defects.
  • 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

* * *

"A must-read for both technical and non-technical readers... even top-level executives. No nonsense approach."

-- Dave Black, Solutions & Performance Architect, Black Box Solutions, Inc.

* * *

"This is the book many of us have been waiting for. Entirely pragmatic. For example, it recognizes the purpose of profit."

-- Jim Hammond, Lead Developer, Kantar

* * *

"A collection of lessons learned, thoughts, ideas, and rationales."

-- Preeti Baranga, Technical Leader in Software Development, https://www.linkedin.com/in/preetibaranga/

* * *

"An all-encompassing eye-opener about all-things software development."

-- Lasha Kochoradze, CTO at Nugios Technology

* * *

"A unique book. Author tries to defeat the status quo."

-- Nugzar Nebieridze, Entrepreneur, Expert of Cybersecurity, Ex-CIO at Liberty Bank Georgia

* * *

"This publication is up-and-coming, and I look forward to seeing companies adopting these suggestions."

-- Romana Stasiv, Agile Fellow

  • Share this book

  • Categories

    • Computers and Programming
    • Software Architecture
    • Software Engineering
    • Digital Transformation
    • Enterprise Architecture
    • Business and IT Alignment
    • Engineering Management
    • Cloud Computing
    • Distributed Systems
    • Event-Driven Architecture
    • Business Architecture
    • Computer Science
    • Systems Engineering
  • Feedback

    Email the Author(s)

About the Author

Tengiz Tutisani
Tengiz Tutisani

Tengiz Tutisani has been in the software development industry since 2003. His experience ranges from startups to Fortune-500 corporations, where he held roles as a software engineer, technical lead, application architect, solutions architect, enterprise architect, and chief architect. Tengiz’s broad experience and frequent recognition for outstanding quality and performance have convinced him to write a book that you are about to read.

Tengiz is an entrepreneur with a technical background who consults organizations about various topics related to digital transformation. These include engineering best practices and architecting software with long-term cost-effectiveness. To reach this objective, Tengiz provides specialized training and consultation services.

Tengiz shares his knowledge via his website (see https://www.tutisani.com), where he blogs about software architecture and describes services that he offers to interested organizations. Tengiz is also an active Open Source contributor, and he has authored a rather popular BDD framework, Xunit.Gherkin.Quick (see https://github.com/ttutisani/Xunit.Gherkin.Quick).

Tengiz lives in Charlotte, North Carolina, and works as a Chief Implementation Architect at AGDATA. He is a happy husband and an avid traveler trying to see the places where he has never been before.

About the Contributors

Dave Black
Dave Black

Technical reviewer. Contributor to technical editing and proofreading.

Gomti Mehta
Gomti Mehta

Contributor to technical editing and proofreading.

Jim Hammond
Jim Hammond

Technical reviewer. Contributor to technical editing and proofreading.

Lasha Kochoradze
Lasha Kochoradze

Technical reviewer.

Nugzar Nebieridze
Nugzar Nebieridze

Technical reviewer.

Preeti Baranga
Preeti Baranga

Technical reviewer. Contributor to technical editing and proofreading.

Romana Stasiv
Romana Stasiv

Non-technical reviewer. Contributor to editing and proofreading.

Table of Contents

    • Praise For The Book
    • Acknowledgments
    • Dedication
    • About The Author
    • Copyright Notice
    • Preface
  • Part I. Introduction
    • Chapter 1. History Behind Inefficient Monoliths
    • Chapter 2. Why People Avoid Building Effective Software
    • Chapter 3. Software Development Perfectionism As A State Of Mind
    • Chapter 4. Six Pillars Of Effective Software
  • Part II. Crosscutting Concerns
    • Chapter 5. Execution, Leadership, Management
    • Chapter 6. Organizational Structure
    • Chapter 7. Processes, Ongoing Efforts, Teams
    • Chapter 8. Culture
    • Chapter 9. Recruitment
  • Part III. From Customer Insights To Internal Requirements
    • Chapter 10. Understanding Customers’ Needs
    • Chapter 11. Organization’s Response To Customers’ Needs
    • Chapter 12. Requirements And Story Writing
    • Chapter 13. Planning Work
    • Chapter 14. Carrying Out Work
  • Part IV. Design And Architecture
    • Chapter 15. Architecture As A Crosscutting Concern
    • Chapter 16. Architecture In Analysis And Requirements Gathering
    • Chapter 17. Architecture Body Of Knowledge
    • Chapter 17.2. Continued
    • Chapter 17.3. Continued
    • Chapter 18. Architecture And Implementation
    • Chapter 19. Architecture For Testable Systems
    • Chapter 20. Architecture For Deployable Systems
    • Chapter 21. Architecture For Maintainable Systems
  • Part V. Implementation And Coding
    • Chapter 22. Crosscutting Concerns Related To Coding
    • Chapter 23. Designing Code
    • Chapter 24. Implementing Code
    • Chapter 24.2. Continued
    • Chapter 25. Testing Code
    • Chapter 26. Code Deployment And Maintenance
  • Part VI. Testing And Quality Assurance
    • Chapter 27. Testing Processes And Principles
    • Chapter 28. Test Design And Architecture
    • Chapter 29. Implementing Automated Tests
    • Chapter 30. Enhancing Deployments With Test Automation
  • Part VII. Deployment
    • Chapter 31. Culture Of Releases
    • Chapter 32. CI/CD - Deployment Foundation
    • Chapter 33. Building Deployment-Ready Applications
  • Part VIII. Maintenance And Support
    • Chapter 34. Maintenance-Free Mindset
    • Chapter 35. Maintenance-Aware Mindset
    • Wrap-Up
    • References
    • Index

The Leanpub 60-day 100% Happiness Guarantee

Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

See full terms

80% Royalties. Earn $16 on a $20 book.

We pay 80% royalties. That's not a typo: you earn $16 on a $20 sale. If we sell 5000 non-refunded copies of your book or course for $20, you'll earn $80,000.

(Yes, some authors have already earned much more than that on Leanpub.)

In fact, authors have earnedover $12 millionwriting, publishing and selling on Leanpub.

Learn more about writing on Leanpub

Free Updates. DRM Free.

If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).

Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.

Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.

Learn more about Leanpub's ebook formats and where to read them

Write and Publish on Leanpub

You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!

Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks.

Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.

Learn more about writing on Leanpub