Slashdot is powered by your submissions, so send in your scoop

 



Forgot your password?
typodupeerror

Comment: Re:Maybe, maybe not (Score 2) 507

by Phoenix Rising (#49691633) Attached to: Is Agile Development a Failing Concept?

We effectively do without a scrum master. It can be done with an open and communicative team, so long as everyone recognizes the rules of the game and is willing to speak up to guide the process. Product owner buy-in is essential (and a scrum master IMHO an essential backup if the PM is fighting the system); they don't make the system work, but without good backlog management they can make the system break.

Our team succeeds at Agile more than anything else because our developers are respected by management. Our product owners and management have both wanted longer term planning and a more waterfall process because it's easier for them, but we have the ability to push back, and they have the respect to listen.

Comment: Re:Yes (Score 2) 507

by Phoenix Rising (#49691543) Attached to: Is Agile Development a Failing Concept?

Management push-back is a tough one and understandable. They want to know where the company is going in a quarter, two quarters, next year. That means big plans, and it means estimating the size of things way in advance. That's something that Agile is specifically designed to avoid - unnecessary advance planning. I think this conflict exists (or should exist) even in the best Agile development shops. The alternative is the ultimate in management short-sightedness - no plan for the future, just get through the quarter. On our team the compromise is doing some one quarter rough-grooming and having our engineering team manager (who was a team member before being promoted) flesh out the more distant epic level grooming with our PM.

Comment: Re:Good idea, hard to implement in the real world. (Score 2) 507

by Phoenix Rising (#49691407) Attached to: Is Agile Development a Failing Concept?

Like so many other things, it's very difficult to take an ideal theory and put it into practice in the real world. If your team really understands the ideas behind Agile and you have a good process in place to make it happen, you can have a great deal of success.

Unfortunately, like so many other things in life, most teams don't get it right and they end up failing to some degree or another.

Cannot be restated often enough.

I've worked in a shop that started doing "Agile" development after years of more waterfallish practices. This essentially meant that we started to get customer requests organized in an Agile toolset and then had a sprint planning meeting to negotiate the value of the various requests so that we could start work on them. Standups often took a half an hour for 6 people, including the PM, who unfortunately doubled as the scrum master. It wasn't terribly agile, and it didn't buy us much other than better tracking of issues.

And I work now at a medium sized company that does everything with some variation on Agile methodology (with some Kanban thrown in). We use Agile as the base framework for our development, but we adopt other practices that make sense, and we've agreed as developers (with the PM) on how it works best for us. Standup was 15 minutes this morning for a (largish) team of 9 developers - and that included some non-standup topics that snuck in. Retrospective for a two-week iteration is an hour to 1.5 hours. Planning is also about that long, including tasking - but we have one or more one hour grooming sessions during the iteration to keep our work backlog properly sized and ready to go. We code review each other's work, we communicate openly, and we know what's going on and how our work fits in with the overall product line because of that. It just works, and from a psychological standpoint it's good for morale to see the progress being made.

The difference is in committing to the actual goal of Agile - producing working code in manageable bits while minimizing unnecessary overhead. It's easy to go off the rails by misunderstanding Agile or half-assing it - you just have to get it right.

Comment: Re:No. (Score 1) 507

by Phoenix Rising (#49691111) Attached to: Is Agile Development a Failing Concept?

I've found that pretty much anything can be broken down into Agile stories if you do the planning and grooming well, though the definition of "potentially shippable product" might have to slip - or you might have to add in a number of non-shippable "spike" stories in order to get to something useful.

It's a tool, not a religion. Or at least it shouldn't be a religion.

Comment: Re:No. (Score 4, Interesting) 507

by Phoenix Rising (#49691079) Attached to: Is Agile Development a Failing Concept?

DING!

If by saying QA/QC isn't completed you mean that unit and functional testing is missing, then the developer is not done. If you have problems with the developer not writing these tests, then be sure that "Definition of Done" includes some acceptable target level of unit/functional testing.

If on the other hand you get to the end of a story and accept it only to find out that it doesn't meet your QA standards, then you as a product manager haven't done your job in properly validating the story prior to acceptance; add to your own procedures the time required to properly validate the story for acceptance. Maybe you need a testing resource to do this if you are overworked as a product manager - an assistant product manager, even.

Agile is as good as you make it.

Comment: "Best" depends on intent (Score 2) 200

by Phoenix Rising (#49690945) Attached to: Ask Slashdot: What Is the Best Open Document Format?

On the conversion side... If you're taking in PDFs created by a layout/page design program, then you're not likely to get good satisfaction converting them and storing them as something other than PDFs. OTOH, if you're taking in a lot of documents created in an office suite, and they have collaborative notes, and you need to retain the documents for legal purposes, then converting them to PDF is going to lose data.

On the future use side: PDFs are slower to render and search than most formats; they're harder to alter, but they're more reliably rendered than any other format. Office documents offer richer content and easy editing; their layout may vary depending on the output device (good and bad), and office document formats seem to change a bit more than other document types. HTML with CSS is good, and probably now stable enough that future clients will render something similar - but it's not PDF for reliable formatting, nor office docs for feature richness; editing tools for HTML aren't all that intent on preserving what came before. LaTeX is a reliable formatter wrapped around text-centric documents, but it's not something most people will be able to use and edit.

Each document type has its reasons for being - you'll need to decide why you need to store your documents and what you need them for in the future. Retaining the original document along with a text conversion stored and indexed in a search engine may be your best bet - or not.

Comment: Re:Am I understanding this correctly? (Score 1) 83

by Phoenix Rising (#46708913) Attached to: Yahoo DMARC Implementation Breaks Most Mailing Lists

DKIM validates off of the 'd=' in the DKIM signature. If the mailing list software alters the message (by adding an unsubscribe notice or other list decoration, e.g.), then the original DKIM signature is invalid regardless of any header address.

SPF validates the sending IP to the SMTP mFROM claim. Most list software changes the mFROM to a list bounce address, and therefore SPF at least passes.

DMARC does a couple of things to validate messages... First, it compares DKIM and SPF domains to the header From domain - if they "align", then it checks to see if each passes. If either DKIM or SPF passes and is aligned, then DMARC rules aren't triggered.

So, for list software to work with DMARC, they either have to keep the original message content (and some headers) - i.e. act as a (reasonably) strict forwarding system - or they have to claim ownership of the email message and resign it.

Going down the route of From vs. Sender (i.e. purported responsible address) is a rehash of the attempted Microsoft SenderID "improvement" on SPF.

Comment: Re:And google will retain that info exclusively. (Score 1) 195

by Phoenix Rising (#45710325) Attached to: Google Makes It Harder For Marketers To Collect User Data

Emails that wind up in "Promotions" are verified valid marketing material. I.e. it passes DKIM and SPF, comes from a known good behavior IP, isn't spammy...

For now, at least, Google seems to be (mostly) playing along with the marketing folks while still trying to (a) enhance their user experience and (b) give themselves a leg up. The image pre-load is definitely going to alter things like newsletter and ad read rates that marketers depend on to tell how well they're targeting their subscribers; I imagine the marketers will work their way around it in short order if they feel they're losing too much information.

Comment: Re:what? (Score 4, Informative) 258

by Phoenix Rising (#45392063) Attached to: US Postal Service To Make Sunday Deliveries For Amazon

Um, no. There is no other corporate or government entity in this country that is required to meet the standards applied to the USPS under that law, and the 75 years is indeed a hard funding benefit - they've got a $5b/year over 10 years requirement.

I believe if you look at the accounting, absent the pre-payment plan the USPS actually made money last year.

Comment: Copyright is too long, but... (Score 1) 361

I agree that Nintendo's suit based on copyright is counterproductive - that, in fact, anything that's been on the market for 30 years has outlived any need for protection under Copyright law. Limit it to the same duration enforced for patents - 14 + 14 - and I think we come closer to the intent of the founding fathers (who probably would argue that even 7 years was an incredible head start...).

But Nintendo could still have shut this project down through trademark protection. Indeed, they are obligated under trademark law to shut the site down or at least force a formal licensing agreement out of the author (and a corresponding change in the open source license terms...). SMB and its characters remain prominent symbols not only of the Mario franchise but also Nintendo as a company - there's no way they could let this go.

Comment: Re:Consider doubling down on math (Score 1) 656

by Phoenix Rising (#43881075) Attached to: Ask Slashdot: How Important Is Advanced Math In a CS Degree?

The most important things to me as a programmer in a team:
1) Can you work logically through a problem? Can you break a problem into its constituent parts and expound on the possible consequences of what you are attempting? This isn't just math, though the logic of math helps; it's brainstorming, it's thinking outside the box, it's problem analysis; it's even part report writing and presentation - being able to express the problem clearly to others. You have to know all about the subject matter, too - that's point #3 below.
2) Can you code logically, cleanly and maintainably? If your code is one long strand of spaghetti, or reads poorly, or has too many interdependencies, then you aren't doing yourself or your co-workers any favors in the long run. Again, math is good here, but code organization is more about being able to clearly organize parts of the problem into efficient buckets - functional analysis. There are elements of writing class in here, too - even down to the use of white space.
3) Can you learn, and quickly? You don't need to know everything as a programmer - but it really helps if you can figure it out on short notice. Being a good researcher and a fast learner is an invaluable trait in the generic programmer. Having a broad knowledge base to start with is good; first rule of computer professionals - keep learning! Of course, if you're in a specialty field, you'd better look like already knowing what you need to know for your specialty - so don't skimp on the math or physics if you'll be doing game programming, don't skimp on statistics if you'll be doing accounting and business apps.

Comment: Consider doubling down on math (Score 1) 656

by Phoenix Rising (#43881023) Attached to: Ask Slashdot: How Important Is Advanced Math In a CS Degree?

I was going to start this out by saying that some people saying DiffEq isn't "higher math" are math geeks and that they're over-emphasizing math... But then I went back and re-read the OP and, well, maybe they're still overstating the case, but they do have a point.

If you really want to go for a career in computer programming, you will need a more solid basis in math than a good understanding of long division. You need to be able to do function based math (grouped under Algebra when I learned it) in your sleep; you will never be any good with computer code if solving simple equations and reading functions isn't second nature to you, regardless of variable names or format. And all of those proofs you did in Geometry and then probably again in Calc I and II - that's formal logic, and if you can't apply formal logic at a whim, computer programming is going to be a rather rough life for you.

Beyond that, statistics and probability, linear algebra, matrix algebra, trig, vector math - these are things you're likely to run across sometime during your career. Maybe (probably) not every day, unless you're in a job that utilizes them heavily, but they're good to have learned at one point so you know where to start 10 years down the road when you run across that situation.

If you really got through the math between long division and DiffEq without really understanding it, I'd recommend going back and working through anything in the above list until you do understand it - and if you have more advanced math ahead of you, include Calculus in your review. If you need a tutor for it, get one; or audit lower level classes as refreshers; or find some book that explains things in terms you understand. Also, if you don't know it already, understand your own learning style and find something that matches your style; understanding how you learn best can help immensely as you go forward.

PS - DiffEq is a bit different; I had zero problems with math classes (aside from being bored) until I got to DiffEq. I did calculus, complex math, matrix algebra, prob&stats, and linear algebra all okay - don't know what it was about DiffEq that tripped me up. Don't feel bad that it seems difficult - it isn't simple. It's also nothing I have used in my career as a software developer.

Entropy isn't what it used to be.

Working...