• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

In a software project- Is Agile approach dependent on the technologies used in the project?

 
Bartender
Posts: 3225
34
IntelliJ IDE Oracle Spring Chrome Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Is Agile approach dependent on the Technologies being used in the development of the project? Some technologies might favor/provide easy support for following agile approach and might be hard to implement in others.
 
Ranch Hand
Posts: 2187
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
No, it is not dependent upon technology. Agile is a methodology for creating technology, i.e. software.
 
Mohamed Sanaulla
Bartender
Posts: 3225
34
IntelliJ IDE Oracle Spring Chrome Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Jimmy Clark wrote:No, it is not dependent upon technology. Agile is a methodology for creating technology, i.e. software.



By technologies I meant- Programming language/ technology using which the software is built.
 
author
Posts: 46
Python VI Editor Ubuntu
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Mohamed Sanaulla wrote:

Jimmy Clark wrote:No, it is not dependent upon technology. Agile is a methodology for creating technology, i.e. software.



By technologies I meant- Programming language/ technology using which the software is built.



No, it's not dependent on a stack. Values, principles, planning, iterating, teamwork, etc (most of what constitutes Agile) is completely independent. You could be agile in Assembly or Basic or Prolog or Whitespace if you wanted.

When it comes to the technical practices there are biases. Some languages have been built up to make agile work easier than others, though I've seen it done in languages you might not choose for the purpose.

There are advantages to using languages which already have acceptance test and unit test frameworks, but you can always build your own. I've seen them for C, C++, Python, Smalltalk, Java, C#, PHP, and even SQL.

There is additional advantage if refactoring editors are available (smalltalk, java, C#, others).

If the languages run quick build/test cycles it's easier to get the rhythm going, so php, smalltalk, java, python, ruby have advantages there.

People are doing TDD in functional programming languages these days. It's different there, but that's not too surprising.

Finally, there are frameworks and libraries that can complicate testing. If you have an ORM (as most of us do) then you might have trouble keeping the tests fast because of dependency on the database. It's troubling, but we do it all the time. I've seen rails programmers do a lot of work in cucumber without unit tests when their work is really configuring some rails component instead of writing new code. Django expects to stand up a blank database for running tests, instead of testing quickly without a database.



 
author
Posts: 799
5
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Great answer Tim.

Most of the development tools came out of OO shops. But as Tim indicates, support for both functional and procedural test-driven development exists. As far as other technical practices, metaphor and the four rules of simple design have a slight OO bent, but in concept they too can apply to any environment.
 
Mohamed Sanaulla
Bartender
Posts: 3225
34
IntelliJ IDE Oracle Spring Chrome Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Tim Ottinger wrote:
When it comes to the technical practices there are biases. Some languages have been built up to make agile work easier than others, though I've seen it done in languages you might not choose for the purpose.



This is what I wanted to know and there you got my thoughts right. Thanks Tim for the explanation. I got this question because I am trying/learning Play framework, where in the sample project they test as they develop. This surely can be done in frameworks like Ruby, Grails. So I thought the technical practices add some weight to the adoption of Agile approach.

 
With a little knowledge, a cast iron skillet is non-stick and lasts a lifetime.
reply
    Bookmark Topic Watch Topic
  • New Topic