|By Tad Anderson||
|April 6, 2013 09:56 AM EDT||
|Agile is not easy and implementing Domain-Driven Design (DDD) is not easy. I think my favorite part of the book is that the author realizes that, and also has a realistic perspective on what it takes to successfully use agile processes and DDD.|
The book starts out with a really nice overview of DDD. By the time you are done the first chapter you have a pretty good high level picture of what DDD is all about. One topic he really drives home is Ubiquitous Language.
Ubiquitous Language is a shared team language that defines a certain domain. When you are reading about Ubiquitous Language it may seem like something that just happens on its own. It isn't. An explicit domain language should be defined, it should not just be allowed to implicitly come about. This same concept has been around for years in Water Fall, Unified Process, RUP, and other processes. It has always been a very important part of the software development process, so don't discount it.
Chapter 1 also does a great job of providing tips on how to show the business value of using DDD. The author has a clear understanding that without the support of the business you aren't going to get very far with your project, and in order to get them onboard you need to show them what they will gain by supporting DDD.
The remaining chapters dig into the details of DDD. I have listed the chapters below. Their titles are pretty self-explanatory.
Chapter 1. Getting Started with DDD
Chapter 2. Domains, Subdomains, and Bounded Contexts
Chapter 3. Context Maps
Chapter 4. Architecture
Chapter 5. Entities
Chapter 6. Value Objects
Chapter 7. Services
Chapter 8. Domain Events
Chapter 9. Modules
Chapter 10. Aggregates
Chapter 11. Factories
Chapter 12. Repositories
Chapter 13. Integrating Bounded Contexts
Chapter 14. Application
Appendix A. Aggregates and Event Sourcing: A+ES
I have seen a lot of teams that could not build software with UP or RUP adopt Scrum in hopes that changing the process will make a difference. It never does. There are a variety of reasons including not doing any architecture, not having experienced developers with the right skill sets, not having the right business users involved, not having the requirements elicitation skills needed, and the list can go on and on. The author clearly understands Scrum is not a silver bullet. I mention this because DDD done correctly can give agile processes a much better chance at success, but you must have the skills on the team in order pull it off.
I was really glad to see the author included a chapter on architecture. The author does a great job of covering a ton of architectural styles and patterns. Patterns, styles, and topic found in the Architecture chapter include Layers Architecture with the Dependency Inversion Principle, Hexagonal Architecture, SOA environment, REST, Data Fabric, Grid-Based Distributed Cache, and CQRS.
Every chapter is an in depth look at the topic of the given chapter. I did not leave any of the chapters feeling like I missed something. I have read both Domain-Driven Design: Tackling Complexity in the Heart of Software and Patterns of Enterprise Application Architecture, and I had both handy for looking up references to them. It is not necessary to read them first, but it did help that I had.
I am not going to say using DDD is easy, but I will say this book can definitely get you to where you can successfully use it. The author's writing style is really good and he is good at making the book entertaining. I will however say this, be prepared to read the entire book if you want to get to that point of successfully using DDD. There is a lot to learn, but it is worth it.
I highly recommend this book to every software architect and developer. Even if you don't go all out DDD there is a ton of great advice and wisdom found in this book that will help you improve your skills.
Implementing Domain-Driven Design
While DevOps most critically and famously fosters collaboration, communication, and integration through cultural change, culture is more of an output than an input. In order to actively drive cultural evolution, organizations must make substantial organizational and process changes, and adopt new technologies, to encourage a DevOps culture. Moderated by Andi Mann, panelists discussed how to balance these three pillars of DevOps, where to focus attention (and resources), where organizations might...
Feb. 26, 2017 01:30 AM EST Reads: 5,217
As Enterprise business moves from Monoliths to Microservices, adoption and successful implementations of Microservices become more evident. The goal of Microservices is to improve software delivery speed and increase system safety as scale increases. Documenting hurdles and problems for the use of Microservices will help consultants, architects and specialists to avoid repeating the same mistakes and learn how and when to use (or not use) Microservices at the enterprise level. The circumstance w...
Feb. 25, 2017 11:45 PM EST Reads: 1,265
We call it DevOps but much of the time there’s a lot more discussion about the needs and concerns of developers than there is about other groups. There’s a focus on improved and less isolated developer workflows. There are many discussions around collaboration, continuous integration and delivery, issue tracking, source code control, code review, IDEs, and xPaaS – and all the tools that enable those things. Changes in developer practices may come up – such as developers taking ownership of code ...
Feb. 25, 2017 10:00 PM EST Reads: 2,814
The rise of containers and microservices has skyrocketed the rate at which new applications are moved into production environments today. While developers have been deploying containers to speed up the development processes for some time, there still remain challenges with running microservices efficiently. Most existing IT monitoring tools don’t actually maintain visibility into the containers that make up microservices. As those container applications move into production, some IT operations t...
Feb. 25, 2017 10:00 PM EST Reads: 1,314
"Plutora provides release and testing environment capabilities to the enterprise," explained Dalibor Siroky, Director and Co-founder of Plutora, in this SYS-CON.tv interview at @DevOpsSummit, held June 9-11, 2015, at the Javits Center in New York City.
Feb. 25, 2017 08:45 PM EST Reads: 4,728
For organizations that have amassed large sums of software complexity, taking a microservices approach is the first step toward DevOps and continuous improvement / development. Integrating system-level analysis with microservices makes it easier to change and add functionality to applications at any time without the increase of risk. Before you start big transformation projects or a cloud migration, make sure these changes won’t take down your entire organization.
Feb. 25, 2017 06:30 PM EST Reads: 1,411
You often hear the two titles of "DevOps" and "Immutable Infrastructure" used independently. In his session at DevOps Summit, John Willis, Technical Evangelist for Docker, covered the union between the two topics and why this is important. He provided an overview of Immutable Infrastructure then showed how an Immutable Continuous Delivery pipeline can be applied as a best practice for "DevOps." He ended the session with some interesting case study examples.
Feb. 25, 2017 06:00 PM EST Reads: 4,385
When you focus on a journey from up-close, you look at your own technical and cultural history and how you changed it for the benefit of the customer. This was our starting point: too many integration issues, 13 SWP days and very long cycles. It was evident that in this fast-paced industry we could no longer afford this reality. We needed something that would take us beyond reducing the development lifecycles, CI and Agile methodologies. We made a fundamental difference, even changed our culture...
Feb. 25, 2017 05:45 PM EST Reads: 2,940
Updating DevOps to the latest production data slows down your development cycle. Probably it is due to slow, inefficient conventional storage and associated copy data management practices. In his session at @DevOpsSummit at 20th Cloud Expo, Dhiraj Sehgal, in Product and Solution at Tintri, will talk about DevOps and cloud-focused storage to update hundreds of child VMs (different flavors) with updates from a master VM in minutes, saving hours or even days in each development cycle. He will also...
Feb. 25, 2017 05:15 PM EST Reads: 2,688
SYS-CON Events announced today that CA Technologies has been named “Platinum Sponsor” of SYS-CON's 20th International Cloud Expo®, which will take place on June 6-8, 2017, at the Javits Center in New York City, NY, and the 21st International Cloud Expo®, which will take place October 31-November 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. CA Technologies helps customers succeed in a future where every business – from apparel to energy – is being rewritten by software. From ...
Feb. 25, 2017 03:30 PM EST Reads: 2,505
TechTarget storage websites are the best online information resource for news, tips and expert advice for the storage, backup and disaster recovery markets. By creating abundant, high-quality editorial content across more than 140 highly targeted technology-specific websites, TechTarget attracts and nurtures communities of technology buyers researching their companies' information technology needs. By understanding these buyers' content consumption behaviors, TechTarget creates the purchase inte...
Feb. 25, 2017 02:30 PM EST Reads: 1,784
SYS-CON Events announced today that Fusion, a leading provider of cloud services, will exhibit at SYS-CON's 20th International Cloud Expo®, which will take place on June 6-8, 2017, at the Javits Center in New York City, NY. Fusion, a leading provider of integrated cloud solutions to small, medium and large businesses, is the industry’s single source for the cloud. Fusion’s advanced, proprietary cloud service platform enables the integration of leading edge solutions in the cloud, including cloud...
Feb. 25, 2017 02:00 PM EST Reads: 4,069
@DevOpsSummit at Cloud taking place June 6-8, 2017, at Javits Center, New York City, is co-located with the 20th International Cloud Expo and will feature technical sessions from a rock star conference faculty and the leading industry players in the world. The widespread success of cloud computing is driving the DevOps revolution in enterprise IT. Now as never before, development teams must communicate and collaborate in a dynamic, 24/7/365 environment. There is no time to wait for long developm...
Feb. 25, 2017 12:15 PM EST Reads: 1,932
With major technology companies and startups seriously embracing Cloud strategies, now is the perfect time to attend @CloudExpo | @ThingsExpo, June 6-8, 2017, at the Javits Center in New York City, NY and October 31 - November 2, 2017, Santa Clara Convention Center, CA. Learn what is going on, contribute to the discussions, and ensure that your enterprise is on the right path to Digital Transformation.
Feb. 25, 2017 11:45 AM EST Reads: 5,930
DevOps and microservices are permeating software engineering teams broadly, whether these teams are in pure software shops but happen to run a business, such Uber and Airbnb, or in companies that rely heavily on software to run more traditional business, such as financial firms or high-end manufacturers. Microservices and DevOps have created software development and therefore business speed and agility benefits, but they have also created problems; specifically, they have created software securi...
Feb. 25, 2017 11:00 AM EST Reads: 3,978
This week's news brings us further reminders that if you're betting on cloud, you're headed in the right direction. The cloud is growing seven times faster than the rest of IT, according to IDC, with a 25% spending increase just from 2016 to 2017. SaaS still leads the pack, with an estimated two-thirds of public cloud spending going that way. Large enterprises, with more than 1,000 employees, are predicted to account for more than half of cloud spending and have the fastest annual growth rate.
Feb. 25, 2017 10:15 AM EST Reads: 993
The emerging Internet of Everything creates tremendous new opportunities for customer engagement and business model innovation. However, enterprises must overcome a number of critical challenges to bring these new solutions to market. In his session at @ThingsExpo, Michael Martin, CTO/CIO at nfrastructure, outlined these key challenges and recommended approaches for overcoming them to achieve speed and agility in the design, development and implementation of Internet of Everything solutions with...
Feb. 25, 2017 10:00 AM EST Reads: 7,813
Cloud Expo, Inc. has announced today that Andi Mann and Aruna Ravichandran have been named Co-Chairs of @DevOpsSummit at Cloud Expo 2017. The @DevOpsSummit at Cloud Expo New York will take place on June 6-8, 2017, at the Javits Center in New York City, New York, and @DevOpsSummit at Cloud Expo Silicon Valley will take place Oct. 31-Nov. 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
Feb. 25, 2017 09:30 AM EST Reads: 2,266
SYS-CON Events announced today that Outlyer, a monitoring service for DevOps and operations teams, has been named “Bronze Sponsor” of SYS-CON's 20th International Cloud Expo®, which will take place on June 6-8, 2017, at the Javits Center in New York City, NY. Outlyer is a monitoring service for DevOps and Operations teams running Cloud, SaaS, Microservices and IoT deployments. Designed for today's dynamic environments that need beyond cloud-scale monitoring, we make monitoring effortless so you...
Feb. 25, 2017 09:15 AM EST Reads: 2,251
In his General Session at 16th Cloud Expo, David Shacochis, host of The Hybrid IT Files podcast and Vice President at CenturyLink, investigated three key trends of the “gigabit economy" though the story of a Fortune 500 communications company in transformation. Narrating how multi-modal hybrid IT, service automation, and agile delivery all intersect, he will cover the role of storytelling and empathy in achieving strategic alignment between the enterprise and its information technology.
Feb. 25, 2017 08:00 AM EST Reads: 5,877