• 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
  • Liutauras Vilda
  • Ron McLeod
  • Jeanne Boyarsky
  • Paul Clapham
Sheriffs:
  • Junilu Lacar
  • Tim Cooke
Saloon Keepers:
  • Carey Brown
  • Stephan van Hulst
  • Tim Holloway
  • Peter Rooke
  • Himai Minh
Bartenders:
  • Piet Souris
  • Mikalai Zaikin

Refactoring, extreamProgramming, Agile Modelling, SCRUM

 
Ranch Hand
Posts: 113
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hello All,

I am just in a state of confusion putting all these together.
This is just my understanding.

Refactoring: Is the processes of improving the software so that the external behavior remain same but internally imporves the code readability and logic.

Question:
In the software development process, in which phase does this refactoring falls in. Does it is something that can be done for an on going project or refactoring is done on project that is in production.

Extream Programming: I guess this is like one of the software engineering process which defines different phases that goes into s/w development life cycle.

Question:
1. I am not sure what are the complete phases of this process. I just know some of them like. Planning, pair programming, continous integration, unit testing
This is where I get confused with Agile modelling. I read similar concepts in agile modelling too. I am not sure what is difference between both.

Agile Modelling: exactly don't know what it is? Confused with extream programming.

SCRUM: Is the one of the s/w development process.

Question:
I would like to what are all the phases of the SCRUM process. I just ead abt it and knew what it is and how it works. But like RUP where it has 4 different phases like inception, evaluation, contruction and transitions, I would like to know what are the phases and activities of SCRUM.

Finally I would like to know how all these concepts can be put together.

your input will be a great help to me

Thank you in advance
 
Ranch Hand
Posts: 94
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by s penumudi:
Hello All,

I am just in a state of confusion putting all these together.
This is just my understanding.

Refactoring: Is the processes of improving the software so that the external behavior remain same but internally imporves the code readability and logic.

Question:
In the software development process, in which phase does this refactoring falls in. Does it is something that can be done for an on going project or refactoring is done on project that is in production.


Refactoring is ongoing effort. the more you write code you take sometime to organize(refactor) it.


Extream Programming: I guess this is like one of the software engineering process which defines different phases that goes into s/w development life cycle.

Question:
1. I am not sure what are the complete phases of this process. I just know some of them like. Planning, pair programming, continous integration, unit testing
This is where I get confused with Agile modelling. I read similar concepts in agile modelling too. I am not sure what is difference between both.

Agile Modelling: exactly don't know what it is? Confused with extream programming.


See Scott Ambler's posts in RUP section


SCRUM: Is the one of the s/w development process.

Question:
I would like to what are all the phases of the SCRUM process. I just ead abt it and knew what it is and how it works. But like RUP where it has 4 different phases like inception, evaluation, contruction and transitions, I would like to know what are the phases and activities of SCRUM.

Finally I would like to know how all these concepts can be put together.

your input will be a great help to me

Thank you in advance



Scrum is a development process. part of extreme.
[ January 17, 2005: Message edited by: Udayan Patel ]
 
author
Posts: 11962
5
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by s penumudi:
Refactoring: Is the processes of improving the software so that the external behavior remain same but internally imporves the code readability and logic.

Question:
In the software development process, in which phase does this refactoring falls in. Does it is something that can be done for an on going project or refactoring is done on project that is in production.


Refactoring can be done every five minutes, every couple of hours, even every 3rd month. It's just that if you do it every 3rd month, you'll spend the whole month doing it. The recommendation is to consider refactoring as something you do all the time, in small steps.

Originally posted by s penumudi:
Extream Programming: I guess this is like one of the software engineering process which defines different phases that goes into s/w development life cycle.

Question:
1. I am not sure what are the complete phases of this process. I just know some of them like. Planning, pair programming, continous integration, unit testing
This is where I get confused with Agile modelling. I read similar concepts in agile modelling too. I am not sure what is difference between both.


XP promotes very short iterations (increments) of 1-3 weeks in which the team together with the customer basically go through all the phases of the traditional waterfall lifecycle. An iteration starts with a requirements engineering session which XP calls the Planning Game where the team estimates features and the customer prioritizes them. Once this is done, the rest of the iteration is spent on implementing those features, relying on the customer being available for clarifying what she wants from the features. Simultaneously with implementing the features, the team is writing acceptance tests (either automated or not) and when the iteration is finished, most of the acceptance tests should be passing. What hasn't been implemented is put back into the backlog. Then, the next iteration starts all over again from the Planning Game.

The point behind such iterative and incremental development is to fail fast rather than late, meaning that when each iteration is just a couple of weeks, the customer actually has control over what she's getting for her money and the organization doesn't end up scrapping the project as yet another $50M project that managed to put 0 lines of code to production.

That's really a rather simplifying description of what XP (or agile software development) is about so I'd really urge you to pick up a book if you're interested in the topic. Or, ask more questions
 
author & internet detective
Posts: 41656
883
Eclipse IDE VI Editor Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Refactoring is done during any phase of development. It is best to refactor as soon as possible so the code doesn't get too messy. This type of refactoring is done during the development phase. It is also done during the maintenance phase if you see that it would be easier to add a new feature after a refactoring. Refactoring may also be done for the first time after the code is in production. This is typically done when code someone else has written is dumped in you lap. Search this forum for "working effectively with legacy code" for more on this.

Scrum and Extreme Programming are different development processes. You would use one or the other, not both. There are differences in iteration length and other factors. Refactoring can and should be done regardless of development process.
 
Lasse Koskela
author
Posts: 11962
5
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Udayan Patel:
Scrum is a development process. part of extreme.


Actually, Scrum is a management process. Also, (and I'm not sure if you meant to imply this but...) Scrum is not part of Extreme Programming although they can be combined together rather nicely (XP provides the development process that Scrum is missing).
 
s penumudi
Ranch Hand
Posts: 113
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Thank you very much for all your responses.
I really appreciate them.

All these concepts seem to be very interesting to me. I would like to explore more on this.

I looked at the post which Uday was suggesting. Even I was not able to open the link which Scott Ambler has provided. I would appreciate if you could provide alternate link where I can read the article.

I am still not very clear on the concept "Agile modelling"
I would appreciate if you could give me some more details on this

Thank you very much..
I really appreciayte your replys
 
author
Posts: 14112
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
A nice short intro to XP can be found at http://www.xprogramming.com/xpmag/whatisxp.htm

The AM homepage is at http://www.agilemodeling.com/
 
(instanceof Sidekick)
Posts: 8791
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
A little more on the relationships of all these ... XP describes a minimal (given certain quality goals) process for generating software. SCRUM is more about management stuff. Since SCRUM doesn't really specify how to code, you can slip XP in as the coding part of SCRUM without too much folding and mutilating. With XP or SCRUM or any other method you may need to spend some time modeling. Agile Modeling has some great tips on how to do it well and how to do just enough without doing too much. My most lasting takeaway from Scott's AM work is to think about the cost and value of every model or document and see if it's really worth doing.
 
Udayan Patel
Ranch Hand
Posts: 94
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by s penumudi:
Thank you very much for all your responses.
I looked at the post which Uday was suggesting.



Make sure though, My last name is not Hussain.
 
s penumudi
Ranch Hand
Posts: 113
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I am sorry Udayan, I did not mean to change your name. It was a typo.

I am really gald to get responses from all you experts.

Thank you very much.
[ January 18, 2005: Message edited by: s penumudi ]
 
Udayan Patel
Ranch Hand
Posts: 94
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by s penumudi:
I am sorry Udayan, I did not mean to change your name. It was a typo.

I am really gald to get responses from all you experts.

Thank you very much.

[ January 18, 2005: Message edited by: s penumudi ]



Nothing serious man, I was just joking.
 
Ranch Hand
Posts: 2378
MySQL Database Spring Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Have a look at the following link -

http://groups.yahoo.com/group/JPGroup/message/667
 
author
Posts: 608
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Agile Modeling (AM) is a partial methodology which focuses on how to be effective at modeling and documentation. It's "partial" because the assumption is that you'll tailor it into another process such as XP or RUP to help improve your modeling and documentation efforts.

Agile Model Driven Development (AMDD) describes how to take an agile approach to modeling on a software development project.

- Scott
reply
    Bookmark Topic Watch Topic
  • New Topic