This is a really good podcast to gain a better understanding of unit testing.
http://hanselminutes.com/default.aspx?showID=187
Tuesday, July 28, 2009
Monday, December 15, 2008
Estimates are not accountability
The author is correct but does not address the challenge of setting customer expectations in this direction. Customers see estimates as contracts. I can't blame them because I expect a auto repair place to stick to their estimate. Why is SD any different?
Because it is!!! Auto repair is not software development. In auto repair you generally have clear requirements and the unknowns are limited. All 2000 Ford F150 are exactly the same. Even then, from year to year the F150 is not that different. When a redesign is done, once you have seen it, it does not change.
In SD, software changes, technology changes, people change, requirements change, designs change, hardware changes and ect. Nothing is consistent.
http://www.codesqueeze.com/estimation-is-not-for-accountability-its-for-visibility/
Because it is!!! Auto repair is not software development. In auto repair you generally have clear requirements and the unknowns are limited. All 2000 Ford F150 are exactly the same. Even then, from year to year the F150 is not that different. When a redesign is done, once you have seen it, it does not change.
In SD, software changes, technology changes, people change, requirements change, designs change, hardware changes and ect. Nothing is consistent.
http://www.codesqueeze.com/estimation-is-not-for-accountability-its-for-visibility/
Friday, November 7, 2008
White paper ideas on Iterations
This is a good white paper regarding developing in iterations on Agile teams. As you will notice, it does not mention Use Cases or requirements documents.
You could assume the requirements are reviewed in the iteration planning meetings or in a previous meeting. In that case, you would use the iteration planning meeting to ask questions, review the requirements and estimate the work for the iteration.
http://tig.cmptechnetwork.com/cgi-bin4/DM/y/nBNCe0Nsnos0YLp0GyYS0ED
Wednesday, November 5, 2008
Article on Dev and Testing schedules during an iteration
This is a good article addressing developing features and QA testing them during the same iteration. Chris offers a good example process. I like the comments that followed because you see different points of views regarding the topic. This brings to light some of the issues with Dev and QA cohesion.
I think the example Chris provides makes sense but I also sympathise with the QA person explaining the issues of retesting changing features. IMHO, I think QA has to catch up with development in "agile" thinking. Developers know code is going to change and it will change a lot. With CI, Unit Testing and refactoring, the features evolve over time. QA needs to follow the same pattern in Agile environments. They are not retesting features, they are testing. Features are not half complete, they are not done. (Done means a feature is developed, tested, and accepted) QA should work closer with developers and should us continuous testing (CT) throughout the iteration. Then, at the end of the iteration the whole team does internal acceptance testing.
One key issue with CT is team size. One QA person cannot do CT with 6 developers. I think an effective ratio should be created that can balance the output of dev to the input of QA.
I like the idea of developers writing the automated test that are identified by QA. This is a good checks and balance system.
http://edgehopper.com/qatesting-in-an-agile-environment/
I think the example Chris provides makes sense but I also sympathise with the QA person explaining the issues of retesting changing features. IMHO, I think QA has to catch up with development in "agile" thinking. Developers know code is going to change and it will change a lot. With CI, Unit Testing and refactoring, the features evolve over time. QA needs to follow the same pattern in Agile environments. They are not retesting features, they are testing. Features are not half complete, they are not done. (Done means a feature is developed, tested, and accepted) QA should work closer with developers and should us continuous testing (CT) throughout the iteration. Then, at the end of the iteration the whole team does internal acceptance testing.
One key issue with CT is team size. One QA person cannot do CT with 6 developers. I think an effective ratio should be created that can balance the output of dev to the input of QA.
I like the idea of developers writing the automated test that are identified by QA. This is a good checks and balance system.
http://edgehopper.com/qatesting-in-an-agile-environment/
Tuesday, November 4, 2008
Why is success measured by estimates?
http://blog.cutter.com/2008/11/04/software-estimation-a-tough-beast-to-control/
This article was posted under a quoted title "“a tough beast to control”. I agree with the title but 100% disagree with the survey. Meeting estimates IS all about "control." If you want to meet an estimate you have to give the customer exactly what you agreed and control (Deny) any changes they want.
Here is an analogy which is similar to one Robert Martin used. You go to your doctor and they say you have a tumor in your liver.(arbitrary organ). They schedule the surgery and open you up. While removing the tumor they find another one in your pancreas .(arbitrary organ).
Using estimates as a measure of success would encourage the doctor to sow you back up, let you heal and then say, we did not estimate the pancreas tumor so we could not remove it because we would exceeded our estimate by 10%. Also, I will not get my bonus if we do that and you might not pay for it.
The doctor is more successful by removing the additional tumor. It cost less to do it while the patient is already under and is open at the table. He is also more successful because he helped the patient more than originally planned.
I am not saying estimates are not important. They are important to create a schedule but success should be driven by the value to the customer not random numbers.
As leaders we must work to set customer expectations regarding success. I would like the survey to review how well the customer expectations were defined and managed.
This article was posted under a quoted title "“a tough beast to control”. I agree with the title but 100% disagree with the survey. Meeting estimates IS all about "control." If you want to meet an estimate you have to give the customer exactly what you agreed and control (Deny) any changes they want.
Here is an analogy which is similar to one Robert Martin used. You go to your doctor and they say you have a tumor in your liver.(arbitrary organ). They schedule the surgery and open you up. While removing the tumor they find another one in your pancreas .(arbitrary organ).
Using estimates as a measure of success would encourage the doctor to sow you back up, let you heal and then say, we did not estimate the pancreas tumor so we could not remove it because we would exceeded our estimate by 10%. Also, I will not get my bonus if we do that and you might not pay for it.
The doctor is more successful by removing the additional tumor. It cost less to do it while the patient is already under and is open at the table. He is also more successful because he helped the patient more than originally planned.
I am not saying estimates are not important. They are important to create a schedule but success should be driven by the value to the customer not random numbers.
As leaders we must work to set customer expectations regarding success. I would like the survey to review how well the customer expectations were defined and managed.
Wednesday, October 22, 2008
Comparing Waterfall and Agile Change
Chris provides a great real world example of how our methods of embracing change correlates to software development.
This is one of the best posts I have seen on understanding changes in software development. I see my self using this analogy in the future. Hopefully he does not mind. :)
When you use this analogy on your customers, be ready for the follow up question. "So how do we do GPS development?" The customer will need to see your confidence and understanding of Agile development before they buy into it.
http://feeds.feedburner.com/~r/ChrisSpagnuolosGeoscrum/~3/428653167/
This is one of the best posts I have seen on understanding changes in software development. I see my self using this analogy in the future. Hopefully he does not mind. :)
When you use this analogy on your customers, be ready for the follow up question. "So how do we do GPS development?" The customer will need to see your confidence and understanding of Agile development before they buy into it.
http://feeds.feedburner.com/~r/ChrisSpagnuolosGeoscrum/~3/428653167/
Monday, October 20, 2008
Technical Managers
Here is an excellent post from Managing Software Development. The article does not distinguish between managing and leading but that is OK because the indirect point is you need to be good at both.
I wonder if the amount of time he had to manage the team impacted his management style while the PM was out on vacation. If he had more time, would he had done more.
Does this mean people manage to the amount of time they have available? More than likely, Yes.
Does this mean that some PMs or technical managers have too much time? No. I think their time is just used in wrong activities.
When leading a development team you have to look at each role and make sure they are focusing on the core duties of the role and remove obstacles from their paths. If your PM can't tell you your budget and forecast at any moment in the project, they are probably doing other things that are not as important.
http://www.noop.nl/2008/05/how-to-select-a-fine-technical-manager.html?cid=135566419#comments
I wonder if the amount of time he had to manage the team impacted his management style while the PM was out on vacation. If he had more time, would he had done more.
Does this mean people manage to the amount of time they have available? More than likely, Yes.
Does this mean that some PMs or technical managers have too much time? No. I think their time is just used in wrong activities.
When leading a development team you have to look at each role and make sure they are focusing on the core duties of the role and remove obstacles from their paths. If your PM can't tell you your budget and forecast at any moment in the project, they are probably doing other things that are not as important.
http://www.noop.nl/2008/05/how-to-select-a-fine-technical-manager.html?cid=135566419#comments
Subscribe to:
Posts (Atom)