PHP UK Conference 2013

Pair Programming, TDD y otras cosas poco prácticas

Marcello Duarte  · 
TDD

Presentación

Vídeo

Transcripción

Extracto de la transcripción automática del vídeo realizada por YouTube.

I'm very excited to talk about pet programming in TDD I don't get to do that every day I'm lying they asked me to talk about object oriented programming I'm gonna talk about TDD to ask me to talk about project minute I'm gonna talk about

today I talked about this thing of us every day I'm a coach so I get to you know give you impractical things and go away sorry I coach to go there and urge you to do things and prompt you to do things and then pledge it with the trouble so I hope I'm

going you know instigating you the desire to do some of this stuff and you're gonna have problems you're on your own now you can you can calm you can you know send me an email or find me on IRC oh I'm always glad to help some of you who know me

you'll see that I'm glad to help you with this thing I'm not just gonna drop the bowmen and go to Korea so software is about people some of this lies is gonna resonate with our all-stock for some weird reason I have had some of the ideas that he

is very much what I'm trying to say I believe software is about people it's more about you know less about zero and once then it is x and y's chromosomes female male is people working together there's what I believe software is all about why

cuz it's people who use the software the end it's people who is going to develop it right you guys it's people who is gonna pay for it hopefully it's people who is going to sign it off so you need to get into the psychology of people when you

do software there's no way around it right so coding is hard but not as hard as collaborating all right this is the trick if you figure out how to collaborate with other people then you get half of the job more than half of the job done now at the scent

of the job done you should know how to talk to people and if you know how to interact with people you know you're gonna be a good developer seriously of course you need to write code as well I need to learn how to write your code but but you do need you

do need a there's a big deal here collaborating you need to learn how to collaborate alright so the practical thing number one you have to listen to your customer vada okay so I'm going to suggest that you listen to your customer that's very impractical

right it's impractical because people say the customers don't know what they want I'll argue about that but our customer changed their mind all the time you had that experience many of you sometimes customer are too busy to get involved yes or

if I listen bank all of the new requirements start cracking from everywhere and there is this and there is that and there is that and there is that and as well customer wants everything right and I keep adding and removing most hats you know you have you done

that must have been you had to miss you must remove and some must have now is the most remove you have now I don't want it anymore it was a must-have last month what happened to it all of these things impractical impractical listen to the customers in

practical right what I want is just write my code I wanna sit down and write I don't want to listen to customs I want to go to my desk and just write my code no but you can't unfortunately you have to listen to your customer otherwise you're gonna

be going up the ladder and at the end is not going to find anything right you know that analogy if you say if you don't begin with the end in mind you can do very well the idea of efficiency right you can keep your boat very clean and then you you know

you're not going to Brazil you go into Australia right but the boat is really clean so efficient everything is doing at code every day Wow at the beginning of the project you have that feeling all the projects going so well right you ask someone starting

a project how's the going at the price is going great right you had that feeling and it is going great we writing code committing so many lines every day while I was doing like paint commits each person every day is like going great and towards the end

of the project how is the project going not so well we have some problems okay now the custom doesn't accept what we're doing they said is something else we didn't know that we had to add that thing and in South complicating we had to change everything

that we did before right familiar with that and then suddenly you don't get elephants at the ends you get like an empty stuff right the thing is the customer does not want your code they don't they don't want your code they don't want to they

don't want the estimation they don't want your estimation they don't want your contract they don't want that in the end what they want they want to value of the software right they will work working software that is actually delivering some

value back to them that's what they want all of the cold other things that you're doing you have to if you focus on the value then you get the customer happy so you do need to listen to them right because nobody wants a washing machine this is do you

remember from the morning washing machine I swear to God I had the slides before this morning sweat swear to God and to prove it to prove it I have to have the guy who actually said that that you know they could cut this you see that this is the guy who actually

said that I gotta collect and I have I have the link here for the if you want to ask me afterwards where I get that from nobody wants a washing machine what you want to washing machine for you don't want a washing machine you want the clothes clean right

say anything customer delay they don't want they don't want code they don't want estimation they want numbers to what value right simple idea so okay I have to listen I'm convinced that I have to listen how do we do that right to just listen

all the time yes you listen all the time continuously but then feedback can get very oh you know I have idea of feedback noise you have to filter feedback right advice feedback and can get really loud so you have to learn how to filter feedback you have to

create some stages on your project where you can accept feedback create the space for your customer to come in and give feedback for him okay feedback is much better as a as a pool system as it is of a push system okay have you tried to convince your boss

of something and you're very passionate about something and you go to him first time he says ah okay and in second time is like good idea think about it third time is like can you stop already right push feedback doesn't work right so you have to create

a space where you can meet together and the other person is actually anxious and how do you call it really willing to get what you have to say right so you create a space for that secret to spread there on the project so the first thing you need to do will

first start a project you need to get a project mission right when you start the Charter if you are traditional it had the chart of the project that authorizes the project to start something so the beginning you have to get the clear what is the mission of

a project and then you have the Sprint planning Sprint vision sign-off so you have this place as it do in the middle of your project where you can get feedback from your customer right so say your beginning of your project you get the business goals you get

the business goes right so do not do not run projects based on scope run projects based on business goes okay it's not it's not straightforward I've been doing I've been trying to do that for five years now it's not straight fault but is

the way to go I'm convinced now is the way to go okay so you already had to get is the business goals not the scope right where's your contract babe is your relationship to whoever building software to own business goals here's a link if you're

interested in PAC mapping I'm gonna show you a one slide this is from Goa cottage right the idea of impact mapping is that you start with the reason what are the motivations of this projects okay why do you want to do this I want to do this because I need

to be very compliant by the end of the February I want to do this because I need to get to 2,000 users otherwise I'll have to drop my project so get the motivation get the people who cares about something and they can decide about it so that's the

why and then who who are the people who can help me realize those goals how they can help me realize those goals and how you as a developer organization as a partner can help them so this is going to give you what this is what he is going to give you the features

minimum minimum active features that you're after you're going to convert them into a product backlog I'm not gonna tell you how today because I don't have time for you convert them into a product backlog and then you go into the sprint vision

you break that into different sprints so you have your sprint vision for your sprints and you're gonna you're gonna create acceptance criteria for those items that's gonna fall into your Sprint's and you do that just before your sprint planning

[ ... ]

Nota: se han omitido las otras 4.528 palabras de la transcripción completa para cumplir con las normas de «uso razonable» de YouTube.