raul----------------------------------------------
viXardthis conference i´m about to give
viXardis about some failures i´ve detected during my study of extreme programming
viXardi´m going to talk about some techniques of this methodology
viXardllegó mi jefe :X
EMPERORgood you gave/late/nights to the ones that by aqui estais todavia estais on time to abandon the room... when be closed the door, already tendreis that to endure you to the end <@jmgv> well... I see that you quedais <@jmgv> this conference that I am going to present you to continuacion
> i will speack about the diferents technics that this metodology use, and i will justify why i think that generally it don't work.
> mainly in the corporative or real production enviropment
> Since our starting at computers technology always we was have the need of plannify for can finish our computer project in the time accordated.
> Since we start at university, we had dead lines for give our practices.
Aradorwhen the thing is only a practices' university, that in the worst case can occasionate that we suspend this assignature, we can allow us some luxuries and imprecisions at the time of planning.
Aradorwe can't afford certains luxes or impresitions at planification time
Arador or even in the quality of our projects. But the thing changes when a bad planning, or even a giving out of date of a project can carry an important money loss.
Aradorif we look an instant at the satisfaccion's fgrade of clients that entrust the informatic proyect development
Aradorwe can see in general lines unhappiness
jmgvanyone can ask in english
diegobut a lot of times, we realise that the planifications m we do aren't the best to for the real needs of developers, but the real needs of the client
Aradorwe try to fit the planifications of the client's requeriments
Aradorthese times, normally can't be done and so, if makes fustration in our client
Aradorwhat takes us to a generalized unsatisfaction
Aradorsome times this is due to other causes, like can be for example, comercials not reasy that sell things we don't have
Aradorand that needs quite mroe development's hours that the expected
Aradorthat doesn't mean tha the method we're using isn't valid
Aradori'd say that the method isn't well applied..all this we'll see during the lecture
Aradoryou can ask whenever you want
Aradordue to that this happens some times, often new metodologies are sold as the bes thing in the world, and it seems that are going to finish with our prblems
Aradora metodology that is being used a lot lately is the "extreme programming"
Aradorbut for me, the one thing beautiful is the name
Aradoral this can be seen as something subjective...isn't a technical lecture, is a concept one
Aradornut bow, we're going to argue why i believe that's in this way
Aradorin some books of extreme programming we can see a definition like the following
Aradorthe extreme programming isn't anything more that common sense appliet to the extremes
Aradorfor me.....that definition hasn't sense
Aradornow you'll se why
Aradorthe goy at 4 row, don't look the clock
AradorI decided to look at this metodology, and after seeing it, i saw that it isn't a metodology that adapts correctly to a productive enviroment, and that's because i decided to do this lecture
Aradori'll see the paradigms in whose this metodology is based to make you see through logic deductions that it isn't a metodology that can be used in this kind of entorns
Aradorto be fair, i'd have called this method with another name, that it'd adapt at what really does
Aradorfor example, improvised programming, or programming in the "way"
Aradorbecause the one thing it does is donig the things in a improvised way, without following a strict metodology, adjusting the code and the specifications while doing it
Aradordon't dude this king of programming is good pro very small proyects
Aradorwhre time doesn't matter
Aradorand whose objectives aren't the productivity
Aradornow, we're going to expone  the exigences in a real programming enviroment
Aradorwith a real case
AradorExigences in productive environments
Aradorwhen a enterprise is going to develop a software proyect, is indispensable  some rules
Aradorthe most important are: time and cost
Aradoryou can't start any proyect without looking that two rules, because even a entreprise isn't going to deveop a sotfwarre if he doesn't know that the client is going to be when it's finished
Aradoreven if he wants to buy it, because the time has exceeded or the costs are big for the client's expectatives
Aradorso this needing is patent
Aradorthe not carry out this kind of compromises, makes even paying indemnizations
Aradorto the client by the enterprise
Aradorpersonally i had this kind of contract
Aradorwe did a software, and we had a concrete date to give certain modules
Aradorif any of these modules weren't given, he annoted a fault
Aradorat the third fault, the client was given the rights of the software
Aradoreach day after, it was =- 6000 ¤ above the final price
Aradori've no make an error, each day was 6000 ¤ of indenmnization
Aradorusing extreme programming, now we'd be ruined :-)
Aradorafter, we'll see how the extremme programming doesn't allows us to take mesauser above that two numbers
Aradorcharacteristics of the EXtremme programming and why it doesnt't adapts to the a real productive environment
Aradorthese definitions are from the book
Arador"Extremme programming explained" by Kent Beck
Aradorthe planification game: determine quickly what the software wwill do in the following version mixing the client's priorities and technical requeriments
Aradorwhen reality doesn't carry out the paln, change the plan
Aradorbe serious! what's that of refreshing the planificatin when it doesn't carry out?
Aradorin this first practice, we delete any importance to a real planification about the total cost of the proyect
Aradorand practically it advises a first aproximation to adjust the planification to reality after
Aradorbut it happens that the planifications must be done first because is the one way to value the final cost of a proyect
Aradorand it's the one way you can compromise to a concrete period
Aradorwe'll see that there're other practices of this metodology that takes you to the same error
AradorA later planification or during a pryect, isn't a planification, it's a activity log
raul2) Small versions. Show faster posible as you can, a litle part of the project, and publish some litle versions faster than as you can.
raulThis will give problems to us
raulIf you publish small versions and update it constantlye the software at the customer side, it have some problems
raulBy one side a time inversion that cause a high price of the project because the instalation of irrelevant versions for the customer only can give troubles with the customer because you havo to upgrade their software every moment without be tested.
raulby this they are along a large period of time testing a software that are unstable until the end and that can ocasionate data lossing in the customer by undetected erros.
raulThis do that the customer be frustrated, at the same time that it is a lossing of time for the client, because the customer think that it's a laboratory rat, that we are using to test software.
raulUntil the software will be stable.
raulWe don't have to forget that the customer don't work for us, and by this we can't get they time for test our software.
raulc) Simple desing: The system have to be designed simple as it can be in each moment, and errase every complex code early as it are detected.
raulI think that the simplicity of code is good, but not with the simplicity of functionallity.
raulthat how it looks is that it sell.
raulTake this practice to the extreme will make that the modules that we will codify will being extremly simple and it will repercute in the we will codify will being extremly simple and it will repercute in the flexibility of the software builded.
raulBy this, we have to take care on where we simplify, because an excesive simplification of the code can make our live more hard in the moment of maintainng the software.
raulwe continueing...
rauld) Testing: the programes make small pieces that are tested by they self and by the customers for be sure that it acomplish all specification
raulThis point are a complement of the B point and it's consecuence of it, because it i'm going to stop here. But, witch independence of what kind of methodology is used all programes are always testing the new code.
raule) Programing in couples. All the code produced is writed with 2 programes at the same computer.
raulSincerely i don't know what advantages have this practice that the extreme programing thanks
raulit's a practice by this own nature less productive.
raulit's true that some times is needed that 2 or more programers will be sitted at the same monitor for discuse about a lines of code but it's a lossing of time and by it of money that we have two programers _all_ day programing in the same computer.
raulAnd it's bad for the less active programer that produces anxiety and frustration.
raulsome of the programers that are in this channel, will like work in place where some days will be all time watching how their college works?
raulall of this come us to a bad aprofiting of the resources
raulf) All is of all: every one can change every code in every place at every moment.
raullook...
raulimagine the programing of an OS and some people that have to programing the virtual memory management
rauland other few are working on the filesystem
rauldo you belive that each one inside the group of virtual mem can touch the code of the filesystem, without speack with they fist about what he/she want?
rauland that will be they who study the needs and make oportune modifications?
raulby this i think that this practice isn't good ant also very unproductive.+
raulWhen a project have some weight it's imposible control all the code of one aplication by each component of the team
raulby the fact some of they in projects biggers enough only know the comunication interface with the objects of the other module that is not from they.
Aradorg) client in home: It includes, in a real way at the client as a component inside the development's team. We're disposed the answer all questions in any moment
Aradorhere we make a big error thinking that  the client is going to be disposed to help us each time we call him.
Aradori believe that it's more than evident that who wrote the rule, hasn't treated a lot with real clientsthem, by general rule, don't want to know anything about us until the final installation of the aplication
Aradorthem, by general rule, don't want to know anything about us until the final installation of the aplication
Aradorand we can only concrete interviews with them randomly and pacting them before
Aradori commented before that the client doesn't work for us and he isn't going to give us more time that the necesary
Aradorthey are for their bussines, not for ours
Aradorother things that the extremme programming says
Aradorthe figure of prroyect thief or analist isn't there anymore
Aradordo you believe that the linux kernel could be programmed without liders that organize all the job?
Aradoreverybody wants their patch there..
Aradorfor that there're the chief of eahc proyect, module, branch.....to decide what's in and what isn't
Aradortalking between them at higher levels
Aradorso deleting these people isn't practic
Aradorin the test side, it's practic to make exahustive tests abourt funcionalities that it covers
Aradorbecause tests have to be mixed
Aradorand to be mixed, it's to be documented, and in the documentation the extreme programming isn't well seen
Aradorit's said that knowdeledge it's in people not in papers
Aradorthough you'll say what we do when one of the persons who know more goes out of the enterprise
Aradori repeat that i'm not friend of papers and burocracy, but documentation isn't that
Aradorin summary and to finish the lecture
Arador by this i think that this practice isn't good ant also very unproductive
AradorWhen a project have some weight it's imposible control all the code of one aplication by each component of the team
Arador- Discipline in every step of the software. With this i don't want say that we have to lose our time in burocracy and papers
AradorAn Initial meeting with the customer (will be more than one meeting along the time that will be the project)
Arador- Use the UML language for desing the aplication. And as project documentation.
raulIt don't give us nothing, don't help to planning, don't report benefit at "time of response" to the customer, don't help us to inprove the quality of the software, we don't have documentation
Arador<forget  the "by this i think.." and "When a project...." lines above>
raul- Discipline in every step of the software.
> With this i don't want say that we have to lose our time in burocracy and papers.
> Many people do a paralelism betwen this 2 things and it's not true.
raulby this, that i'm proposing for the developement of big projects in the cases that are a lot of people involucrated and strong links in the midle is the next:
viXard- Initial meeting with the client (there will be more through the entire project)
viXard- UML language use for application design and for documentation project
viXard- To use a version control system, like CVS or Bitkeeper
viXard- intensive use of CASE tools most important for data model designs.
viXard- Exhaustive description of issues that must be covered by our app
viXardand check with our client.
viXard- Detection of critical paralel tasks
viXard- Design interfaces and object to be used for their communication
viXard- Real planification having in mind the experience of programmers, the asgined tasks, the paralelism between them, and the time in critic tasks
viXard- The creation of control points to follow he project and to add new resources if is needed
viXard- To open a test period.
viXard- To open a tunning period.
viXardand finally - Release the application.
viXardDon´t be ammused by pretty cool names of some methodologies and get through the project using serius tools
viXardis very unusual the project that in released on time, but i dont think this is because of the methodology
viXardinstead, is an application of more traditional methods and that we get involved by "new" methods that we believe are there to save our ass, but instead make us being late
viXardis everything was so easy in extreme programming, why so many books of methods and metrics? are they all wrong?
viXardplease, don´t think my point of view is conservative and traditional
viXardi think this methodology i´ve talk about at the end, is very good, and can be applied to work environments like teleworking
viXardbut this is just MY point of view
> es el final ??
viXardif anybody is capable to convinceme otherwise....then...i´ll change
viXardIf yo have any question, i´ve done :-)
fernand0plas plas plas plas plas plas plas plas
netmanplas plas plas plas plas plas plas plas plas plas
> clap clap clap clap clap clap clap clap clap clap
Ocellplas plas!!!!!
> clap clap clap clap clap clap clap clap clap clap
> clap clap clap clap clap clap clap clap clap clap
> clap clap clap clap clap clap clap clap clap clap
> clap clap clap clap clap clap clap clap clap clap
> _____________ the end_____________
[

Generated by irclog2html.pl by Jeff Waugh - find it at freshmeat.net!