Click here to Skip to main content
15,886,518 members

Welcome to the Lounge

   

For discussing anything related to a software developer's life but is not for programming questions. Got a programming question?

The Lounge is rated Safe For Work. If you're about to post something inappropriate for a shared office environment, then don't post it. No ads, no abuse, and no programming questions. Trolling, (political, climate, religious or whatever) will result in your account being removed.

 
GeneralRe: Hi all! Been a while.... Pin
Gary R. Wheeler19-Dec-22 5:16
Gary R. Wheeler19-Dec-22 5:16 
GeneralRe: Hi all! Been a while.... Pin
jeron119-Dec-22 5:27
jeron119-Dec-22 5:27 
GeneralRe: Hi all! Been a while.... Pin
abmv19-Dec-22 5:46
professionalabmv19-Dec-22 5:46 
GeneralRe: Hi all! Been a while.... Pin
Jeremy Falcon19-Dec-22 7:00
professionalJeremy Falcon19-Dec-22 7:00 
GeneralRe: Hi all! Been a while.... Pin
Marc Clifton19-Dec-22 11:18
mvaMarc Clifton19-Dec-22 11:18 
GeneralRe: Hi all! Been a while.... Pin
Nelek19-Dec-22 11:21
protectorNelek19-Dec-22 11:21 
GeneralRe: Hi all! Been a while.... Pin
Kornfeld Eliyahu Peter19-Dec-22 21:15
professionalKornfeld Eliyahu Peter19-Dec-22 21:15 
GeneralSoftware Engineering: Do You Concur? Pin
raddevus19-Dec-22 3:25
mvaraddevus19-Dec-22 3:25 
I just added the book, Modern Software Engineering: Doing What Works to Build Better Software Faster[^] to my bookshelf & began reading it last night.

I am so amazed by this clear, clean, lucid explanation (& I'm always excited to find people/authors who think this way) that I had to share it.
These ideas of the foundation of what Software Engineering really is are what I've thought about building software for many years but have never been able to express them this way.

From the Introduction (my emphasis)
Software development is a process of discovery and exploration; therefore, to succeed at it, software engineers need to become experts at learning.

When we organize our thinking this way and start to make progress on the basis of many small, informal experiments, we begin to limit our risk of jumping to inappropriate conclusions and end up doing a better job.

Software engineering is the application of an empirical, scientific approach to finding efficient, economic solutions to practical problems in software.

This means that we must manage the complexity of the systems that we create in ways that maintain our ability to learn new things and adapt to them.

So, we must become experts at learning and experts at managing complexity.

There are five techniques that form the roots of this focus on learning. Specifically, to become experts at learning, we need the following:

* Iteration
* Feedback
* Incrementalism
* Experimentation
* Empiricism

This is an evolutionary approach to the creation of complex systems. Complex systems don’t spring fully formed from our imaginations. They are the product of many small steps, where we try out our ideas and react to success and failure along the way. These are the tools that allow us to accomplish that exploration and discovery.

To become experts at managing complexity, we need the following:

* Modularity
* Cohesion
* Separation of Concerns
* Abstraction
* Loose Coupling

I really love this initial explanation.

We need two main strengths:
1. An expert understanding of Learning
2. Deep understanding of how to manage complexity

We'll never attain these entirely, but as we become better at both of those our ability to create elegant solutions grows by leaps & bounds.

Also, really like that the author includes the idea of incrementalism.
Complex systems can only be built from simple ones.
GeneralRe: Software Engineering: Do You Concur? Pin
Gerry Schmitz19-Dec-22 3:39
mveGerry Schmitz19-Dec-22 3:39 
GeneralRe: Software Engineering: Do You Concur? Pin
raddevus19-Dec-22 3:53
mvaraddevus19-Dec-22 3:53 
GeneralRe: Software Engineering: Do You Concur? Pin
Greg Utas19-Dec-22 4:07
professionalGreg Utas19-Dec-22 4:07 
GeneralRe: Software Engineering: Do You Concur? Pin
raddevus19-Dec-22 4:51
mvaraddevus19-Dec-22 4:51 
GeneralRe: Software Engineering: Do You Concur? Pin
charlieg19-Dec-22 11:38
charlieg19-Dec-22 11:38 
GeneralRe: Software Engineering: Do You Concur? Pin
Greg Utas19-Dec-22 13:26
professionalGreg Utas19-Dec-22 13:26 
GeneralRe: Software Engineering: Do You Concur? Pin
David O'Neil19-Dec-22 15:46
professionalDavid O'Neil19-Dec-22 15:46 
GeneralRe: Software Engineering: Do You Concur? Pin
charlieg20-Dec-22 2:24
charlieg20-Dec-22 2:24 
JokeRe: Software Engineering: Do You Concur? Pin
Jeremy Falcon19-Dec-22 9:31
professionalJeremy Falcon19-Dec-22 9:31 
GeneralRe: Software Engineering: Do You Concur? Pin
charlieg19-Dec-22 11:45
charlieg19-Dec-22 11:45 
GeneralRe: Software Engineering: Do You Concur? Pin
Jeremy Falcon21-Dec-22 11:55
professionalJeremy Falcon21-Dec-22 11:55 
GeneralRe: Software Engineering: Do You Concur? Pin
charlieg22-Dec-22 12:02
charlieg22-Dec-22 12:02 
GeneralRe: Software Engineering: Do You Concur? Pin
Nelek19-Dec-22 11:27
protectorNelek19-Dec-22 11:27 
GeneralRe: Software Engineering: Do You Concur? Pin
jschell20-Dec-22 14:12
jschell20-Dec-22 14:12 
GeneralCCC-19-12-2022 - amended Pin
pkfox18-Dec-22 21:55
professionalpkfox18-Dec-22 21:55 
GeneralRe: CCC-19-12-2022 - Not a winner. But who knows? As the Prophet says "Anything can happen in the next half hour" Pin
OriginalGriff18-Dec-22 21:58
mveOriginalGriff18-Dec-22 21:58 
GeneralRe: CCC-19-12-2022 Pin
pkfox18-Dec-22 22:07
professionalpkfox18-Dec-22 22:07 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.