I'm a student and I've been programming for not very long. Particularly, I'm learning CodeIgniter framework - The book I'm reading is "Professional CodeIgniter". In the book, the author mentioned Agile Methodologies ( and I find it somewhat little bit difficult to understand ).

I want to know if it is essential to learn the methodology first before starting to produce software or should I learn coding to be good at it first?

3 Answers 3


If you are working alone through your studies, then it's not important to stop and review all the possible software development methodologies (or even the top five!) before you learn the language and the processes taught in whichever book you're reading.

However, if you take a moment and familiarize yourself with the basics -- and here I mean even the "I read it in Wikipedia" basics -- of a few development methodologies, then you will be ahead of the game. As you were learning the basics of a language and working through books that (I hope) have example projects to do some questions like "how might I approach a problem like X when working in a Agile environment" or "how many of these tasks could I do in 2-week sprint".

A familiarity with multiple methodologies at any point while a student will prepare you for any of a number of situations you might be in as a future employee -- because you don't know what methodologies your future employers will want you and your team members to use.


If you are using a book to learn your first language, then there is no need to learn agile, scrum, xp... yet.

If by student you mean that you are working on a degree in CS, then you will need to learn about these development methodologies in the next few years. You of course won't know which one your employer will use until you get a job.


Essential? No. Helpful? Sure.

I think methodologies are MUCH easier to learn than how to code well. So I would definitely start there. Being an excellent developer will certainly be advantageous when applying for jobs and will make you a valued member of any team.

That being said, being familiar with different methodologies can also increase your value as an employee. Different companies will use different practices, so being familiar with them can only help you in the long run. Or in a situation I've faced recently - my company started transitioning from waterfall to agile/scrum - and the couple of guys who were familiar with that were leaned on to be leaders during that transition.

It's really like comparing apples to oranges. You should learn both and try to be good at both. I guess if I had to pick one for what's going to be most advantageous in the long run though, I would pick coding.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.