Effective Software Development for Enterprise
Minimum price
Suggested price

Effective Software Development for Enterprise

Beyond DDD, Software Architecture, and XP

About the Book


By Author


The book "Effective Software Development for Enterprise" is versatile writing covering many topics from multiple aspects of the software engineering industry. Perhaps understanding the book's content will be simpler if you recognize that this publication has three primary dimensions.

Dimension 1: SDLC

The book's structure repeats the shape of the Software Development Lifecycle (SDLC) in that it covers all the SDLC phases from analysis to maintenance. The publication also touches on supporting areas such as culture and management under the cross-cutting concerns.

Dimension 2: Top-Down Structure

The author is a firm believer in the top-down approaches as opposed to bottom-up designs. This preference unfolds throughout the book by emphasizing the importance of structural integrity and information flow from top to bottom. For example, the publication adjusts architecture principles under business needs, and later on, it fits the code structure under the architecture's guidelines.

Dimension 3: Effective Software

The book attempts to raise the software engineering industry's quality bar by defining "Effective Software" as an ideal outcome of the development efforts. The six principles of Effective Software are the supporting spline for every topic in this writing. Here are the ambitious objectives that the publication sets for Effective Software:

  1. Meet users' expectations.
  2. No defects.
  3. Scale out horizontally.
  4. No dedicated production support team.
  5. Accelerate development pace.
  6. Double ROI per developer, team, and software.


Praise For The Book

By Independent Professionals

* * *

"This book is a must-read for both technical and non-technical readers: software engineers, architects, managers and even 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 a no 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, https://www.linkedin.com/in/preetibaranga/

* * *

"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

  • Share this book

  • Feedback

    You must own a copy of this Book to access the forums.

    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 45-day 100% Happiness Guarantee

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

See full terms

Do Well. Do Good.

Authors have earned$10,906,214writing, publishing and selling on Leanpub, earning 80% royalties while saving up to 25 million pounds of CO2 and up to 46,000 trees.

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), EPUB (for phones and tablets) and MOBI (for 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, EPUB and/or MOBI files and then publish with one click!) It really is that easy.

Learn more about writing on Leanpub