Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror

Comment: Professionalism Re:Learn both (Score 2) 211

by under_score (#48482111) Attached to: Ask Slashdot: Objective C Vs. Swift For a New iOS Developer?

Practical professional stuff to learn about: design patterns, refactoring and test-driven development. Start learning this stuff as soon as possible otherwise you'll make all kinds of awful mistakes when your doing your first professional gigs (assuming you get to that point).

Comment: Quality and Productivity (Score 4, Insightful) 133

by under_score (#48168591) Attached to: Mixing Agile With Waterfall For Code Quality

Disclaimer: I work as a consultant for large and mid-size businesses.

My experience is that there is no magic bullet for quality, but that there are a few things you can do that will dramatically improve things. What Agile methods bring to this is that they provide fast feedback with customers and users. This means that if the team actually bothers to use the feedback, that they can produce things that have better customer and user perception of quality. Additionally, Agile engineering practices such as refactoring and test-driven development can be used to effectively prevent most technical quality problems. Agile borrows heavily from Lean thinking in which one of the ideas is to build quality in (instead of testing at the end). Lots of practices of Agile methods support this idea and, on rare occasions, I have seen Agile teams building complex systems with defect rates close to 1 or 2 low impact defects per year.

That said, the disciplines of waterfall thinking are often lost when an organization switches to Agile. These disciplines around deep analysis, seeing the big picture, etc. are all still important. They should be done differently with Agile, but they shouldn't be forgotten.

Unfortunately, most teams and organizations do neither waterfall nor Agile well. This is because management has a poor understanding of what it takes to properly support staff who are doing complex creative problem-solving work. Instead, management tries to control staff as if they were assembly-line robotic resources. Ultimately, to be effective with software development, management needs to treat software developers as each being unique, autonomous, and deeply valuable for their own talents, skills and experiences. Likewise, software developers have to stop treating customers and users as idiots... they're not. Agile methods, as a set of values and principles, are about changing these relationships to make them more healthy for everyone involved.

Comment: Systems perpetuate themselves (Score 0, Troll) 228

by under_score (#48135257) Attached to: Pentagon Unveils Plan For Military's Response To Climate Change

The military has a huge budget. Why not re-direct some of that to climate change reduction efforts? Solve the problem not the symptoms. Maybe it's because climate change is just another reason to grow budgets, grab more money... and perpetuate the system itself.

Comment: More Education not More Regulation (Score 1) 575

by under_score (#48040279) Attached to: Obama Administration Argues For Backdoors In Personal Electronics

Backdoors, privacy laws, etc. etc. etc. are all about reacting to problems that have already happened. I wish people would recognize that we have a fundamental "spiritual" problem (not religious) which is that we need to learn to care about others. Any society that focuses on individual satisfaction and freedom is going to loose the balance with good social behaviour. "Save the children" is all about reaction to a society that fundamentally values the individual freedom too highly and over and above societal health. I think of this as spiritual because it is about our fundamental beliefs and feelings. Wouldn't it be much better if we could effectively educate everyone so that we all cared about each other? Our education systems focus on individual accomplishment and have only minimal support for service, teamwork and other activities and attitudes that would help educate us on supporting each other. In other words, preventing perversion through education.

Comment: Need a Computer and... (Score 1) 115

by under_score (#47855451) Attached to: Ask Slashdot: Robotics or Electronic Kits For Wounded Veterans?

For a lot of robotics work you need to be able to install software on the computer. Not sure if that would be a problem or not, but Arduino and Lego both require good access to the computer. Something like a Raspberry Pi or Oodo which is already a computer itself might be a better starting point if there are restrictions on accessing a host computer.

Comment: Re:Fire the Architects (Score 1) 51

by under_score (#47789065) Attached to: IEEE Guides Software Architects Toward Secure Design

I did work in construction (and land surveying, and drafting, and other related fields) but only for a short time. So maybe I had no idea what I was doing... but that's actually the point of the article: software folks who want to use the construction analogy to come up with an "architect role" are doing something from a place of profound ignorance and the analogy is deeply flawed.

Comment: Re:Fire the Architects (Score 1) 51

by under_score (#47789037) Attached to: IEEE Guides Software Architects Toward Secure Design

Oops. Meant to say "there was never a moment when all the applications weren't fully functional.

It's true that the old system(s) were a sort of guide, but it really was a complete replacement/re-architecture. Not only that, but there was no time in the project when we had a document that said "this is the current architecture". We had to do a lot of exploring along the way.

My job title prior to the project was architect but I told the CIO that it was unnecessary and so at the start of the project I was no longer the architect. We didn't have one. That said, there was a big team of us and we had lots of ongoing discussion about architecture - as we were building out the new systems. No doubt I influenced those discussions somewhat, but I certainly was no longer the authority.

Comment: Re:Fire the Architects (Score 0) 51

by under_score (#47786727) Attached to: IEEE Guides Software Architects Toward Secure Design

I was the senior architect reporting to the CIO of Charles Schwab. I was responsible for huge systems at an architectural level. Then, with the permission of the CIO we launched a two year enterprise re-write covering hundreds of applications and dozens of technology platforms from old green-screen cobol systems to modern Java and .NET systems... and we did it with no up-front architecture. Pure Agile, with all the process and engineering practices to do it properly. Huge success because there was never a moment when all the applications were fully functional and there was never a formal switch-over. We re-wrote everything in-place.

Of course, I'm not saying that there was no research, that there was no good design thinking, or that we never thought about the future. But there was certainly no architect and there was not technical lead who had the final authority on the overall design or any particular detail.

I've seen this approach work with $20M projects and with $200K projects. I've seen it work and result in systems with zero defect rates extended over years. I've seen it work on systems with thousands of lines of code and systems with millions of lines of code. It's possible, it's just that most people have been so brainwashed by the construction analogy and "scientific management" thinking that it's hard to imagine that it's possible.

Real Users find the one combination of bizarre input values that shuts down the system for days.

Working...