When Simple Was Hard To Do
Strange Loop is a multi-disciplinary conference that aims to bring together the developers and thinkers building tomorrow's technology in fields such as emerging languages, alternative databases, concurrency, distributed systems, mobile development, and the web. At Last, Some Boundaries! Category Theory for the Working Hacker. The Billion Dollar Mistake. Systems Programming for Everyone. You need to Register an InfoQ account or Login or login to post comments.
Do the hard work to make it simple - Design in government
But there's so much more behind being registered. Your message is awaiting moderation. Thank you for participating in the discussion. If you're interested in other upcoming videos from Strange Loop , the full release schedule is here. If you want to be notified for Strange Loop in the future, sign up for the mailing list. BTW, the category theory and monad references in the talk were in relation to Erik Meijer's talk earlier in the conference which unfortunately was not approved for release.
I guess they will be here on github when ready: Rich asked for his slides not to be made available separately as he prefers them to be considered in the context of the talk. Mediafire to the rescue: There is an interesting overlap between the notion of "complect" as interleaving of concepts and the notion of entanglement in software, as discussed in an ongoing series on the "physics of software" by Carlo Pescio.
Here are two relevant links: The slides are helpful for people who can't watch the video, say because they're using Gnash or something, and need to download the MP3 to follow along. Comparing Easy and Simple in this form is brilliant.
- Show notes;
- Eboracvm: The Fortress.
- Disease - The Mystery Solved Section of FDR (Farmacist Desk Reference).
- The Grey Missionary;
- What are Civil Claims?;
But in this form they are also just Your personal opinions. Projection of Your "inner mental model" of programming, modeling etc. What is missing, are facts. Personal opinions can be considered but only in the context of some kind of psychological personality types that determines "feeling" of complexity. That could also help preaching Clojure: And you totally dismiss fact which says "Rich Hickey, the author of Clojure, [ Thanks for this excellent talk, it actually aplies to more than just software. If you stretch this simplicity all the way to the customer's needs, I'm sure the value of our work will be better for it.
Do the hard work to make it simple
When trying to split things up, some developers are actually uncomfortable of having many components because that feels like it will be hard to find out what is happening where. When working with queues, it's are harder to debug a program. Thanks, this is a very nice video! Also, I'm a fan of Clojure and other multi-paradigm languages like F where "active patterns" is kind of "multi-methods".
So is this like reactive programming? Multi-methods can be used to separate the reasoning from the method. So, yes, you can think it makes this one method simpler. But there is still this reasoning somewhere. Neat idea to contrast the tension between easy and complex. However, there is one aspect of complexity that I felt was not really explicitly addressed. This is that a braid like structure is the hallmark of high levels of functionality in nature see e. If we want to build highly functional systems, then the challenge is to find some way of capturing descriptive complexity with lego-like components sometimes called deep simplicity.
I posted notes from this talk with bits from the RailsConf talk: At about 17 min you show a graph which you say is made-up. Is there any scientific basis for this inference? Can you point me to the literature? Yet again, another talk that takes a personal, negative experience and paints it as gospel.
That crap about the starting pistol, about rebuilding stuff that has been done already may well be applicable to the author's projects, to the author's experiences. But I would posit this: Because I do t experience the same stuff you do. The key difference is that just because I have experienced it one way, it doesbt mean I am going to pretend that my personal experience is the norm, or should be a basis for a new religion. I can look at it objectively and think to myself: The thing that irks me with a lot of Medium posts and talks like this is that it's usually a relatively young protagonist who has a limited amount of experience to draw on but insists not thinks, not hypothesises but insists they have the answers.
These kind of arrogant statements produce a revolution one in every hundred. That's not to say discussion isn't valuable, but of there were less arrogance and more objectivity we would spend less time chasing false idols and more time making progress. This sounds a lot like pseudointellectualism to me. How is Rich Hickey, one of the most respected and quoted programmers on earth, a relatively young protagonist who has a limited amount of experience to draw on? And how is this based on his bad experience without any evidence?
Did you even watched the whole video? A transcript of this talk is available here: Is your profile up-to-date? Please take a moment to review and update. View Presentation Vertical Horizontal Full. Download MP3 Android app. Bio Rich Hickey, the author of Clojure, is an independent software designer, consultant and application architect with over 20 years of experience in all facets of software development.
About the conference Strange Loop is a multi-disciplinary conference that aims to bring together the developers and thinkers building tomorrow's technology in fields such as emerging languages, alternative databases, concurrency, distributed systems, mobile development, and the web. Key Takeaways We should aim for simplicity because simplicity is a prerequisite for reliability.
Simple is often erroneously mistaken for easy. What matters in software is: Is it of high quality? Can we rely on it? Can problems be fixed along the way? Can requirements change over time? The answers to these questions is what matters in writing software not the look and feel of the experience writing the code or the cultural implications of it.
The benefits of simplicity are: Build simple systems by: Abstracting - design by answering questions related to what, who, when, where, why, and how. Choosing constructs that generate simple artifacts. Show notes Simple vs. They fulfill one task, they have one objective, they cover one concept.
An interface does not have to have only one method to be simple. Cardinality does not matter here. He smiled, laughed a bit, and said to us: I can even take you and show you the system in action.
Simple Made Easy
Here we are 30 years later and Mr. More and more companies today are trying, or have tried, lean, but very few succeed. My guess based on observation, and input from leading lean consultants and other experts is that only percent of all companies end up becoming a complete lean enterprise. Why do so few companies succeed at lean? The first reason why few succeed is that the approach is almost the exact opposite of everything we have been taught in the traditional batch world.
Second, roughly 90 percent of all companies that start lean see it only as a cost reduction program and as a result, they miss the strategic and customer-focused aspects completely. Few books discuss the complete business perspective of lean. Outweighing all of this however is the lack of lean leadership. They essentially manage looking backwards at these results instead of managing forwards by improving processes as a means of improving future results.
They find it difficult to shift to lean leadership and its emphasis on eliminating waste in order to deliver more value to your customers and on creating a learning environment so that every employee can learn to contribute. On top of that, CEOs tend to have personality types that are not compatible with lean: So what enables lean leaders to succeed?
Ultimately I think that it comes down to certain leadership characteristics.
In our recent chat, Paul identified three traits he believes lean leaders need in order to succeed. He or she must be humble, curious, and willing to be criticized—to admit when he or she is wrong in the face of evidence that a better way exists. I agree with Paul that these are indeed crucial. A good lean leader:.
This may sound like a lot, but they are natural habits for the lean leader. The lean leader always learns by doing, by being out front and hands-on, and never tries to manage from his or her office or conference room. No value adding is going on there.
So, in summary, although the lean principles themselves are pretty simple, without the correct leadership it is perhaps one of the hardest changes for any business to make. But you can make a difference if you are willing to try. The customer is always right. When a customer complains, we post it for all employees to see. All employees are asked to solve this problem. When someone solves a problem we ask them, "Who was helpful? She doesn't have to be urged to go to the gemba. She is already there.
She does this because that is who she is. She has no choice in the matter. When hiring outside the company, we will ask each applicant, "What made you happy on your present job? Those that answer the question in that manner will be taken to the customer complaint board. Any experienced lean leader will have some ideas on how to get started. The current hiring process is the most unlean process of all. Basically companies let other companies hire their lean leaders. If you worked at GE and are certified, you are hired.
I have never seen this work. But, like you said, they're very different than the ways people have been taught. Transforming an organization becomes infinitely more challenging. There's nothing easy about changing a culture. That shouldn't surprise people. A good add as always. To me, making the lean conversion "is all about people'. That is what you are trying to transform and that is why it is so difficult. We have all learned a certain way to do things based on our past experience. Then along comes this lean guy and says, "look, everything here is no good, what do you want to do about it?
We are a good company.
How it used to work
And if the company has 1, employees that means that you have 1, hurdles to overcome. Not surprising that so many CEO's don't even want to try. It could be hard. It could take time. Lets just stay like we are. I've been a Six Sigma practitioner for a decade, but when I bought and read your book, " The Lean Turnaround," I got a turnaround in my thinking.
All companies, not just manufacturing companies, are nothing more than a group of people and a bunch of processes trying to deliver value to a set of customers. Removing the waste from your own processes is what allows you to deliver more value. That is why lean "is all about people. Yitz December 21, Could it be said that the last trait you mentioned "Leads By Example" is what drives or perhaps even encompsasses the first 8 traits in your list?
Yitz, thanks for your comments. Certainly "leads by example" is very critical to converting to lean but I can't agree that it encompasses the first 8 characteristics. For example the "command and control" manager can lead by example too. It won't have anything to do with lean and I could argue that most of the examples this type of leader might set are the wrong ones.
I think that one of the reasons that lean is simple in concept but very hard in practice is that you can't just boil it down to one thing. The leader has to engage in many areas in order to get the rest of the team to make the lean conversion. That is why there are so few real lean leaders. All of us who have had significant experience and significant positive experience know the critical mass is leadership. We all preach that to each other, we bemoan the fact that when it is not there Lean fails, and we detail the list of failures to support our identification of the root cause.