After what seams like a zillion years spent in development you pick up guiding principals to develop by. One of these principals is to only spend time on efforts that either directly part of the development of the product and at most 1 step removed from the actual product. Anything more that 1 step removed from the actual product development should be looked at with suspicion as to it's benefit.
By benefit to the product I mean, if that process was removed could the development more or less still continue with the product will being completed? Yeah, it's all subjective, as you will find developers always thinking that they must have this or that, or that the product would be "better" if their own testing framework was developed for their "special" needs. Hummm, yeah right.
Each step incurs it's own cost in design, coding, resources and more importantly on the timetable. Time taken away from the direct product is time not getting the product done. Add a number of this "supporting" steps and it may be fuzzy as to what the product really is.
Direct Steps: Specifications, design, coding, testing and interacting with the customer are all examples of direct steps in developing the product.
1-off Steps: The build system, documentation of the System requirements, design and time keeping are all 1-off steps of the product, but directly impact the product in the way of understanding and management.
x-off Steps: Building unique anything that is not directly incorporated into the product is suspect. Build systems, testing frameworks, prototyping tools, data mocking tools, issue tracking software and the like examples custom development that may not provide benefit to the product and even place the product at risk. There is always some custom support projects that may be needed, but having too many is a red flag that the focus may be on development and not in delivering a product. Developers love to develop but success is getting a quality finished product delivered to your customers. We get paid to deliver, not to develop and they are not the same thing.
By benefit to the product I mean, if that process was removed could the development more or less still continue with the product will being completed? Yeah, it's all subjective, as you will find developers always thinking that they must have this or that, or that the product would be "better" if their own testing framework was developed for their "special" needs. Hummm, yeah right.
Each step incurs it's own cost in design, coding, resources and more importantly on the timetable. Time taken away from the direct product is time not getting the product done. Add a number of this "supporting" steps and it may be fuzzy as to what the product really is.
Direct Steps: Specifications, design, coding, testing and interacting with the customer are all examples of direct steps in developing the product.
1-off Steps: The build system, documentation of the System requirements, design and time keeping are all 1-off steps of the product, but directly impact the product in the way of understanding and management.
x-off Steps: Building unique anything that is not directly incorporated into the product is suspect. Build systems, testing frameworks, prototyping tools, data mocking tools, issue tracking software and the like examples custom development that may not provide benefit to the product and even place the product at risk. There is always some custom support projects that may be needed, but having too many is a red flag that the focus may be on development and not in delivering a product. Developers love to develop but success is getting a quality finished product delivered to your customers. We get paid to deliver, not to develop and they are not the same thing.
Comments
Post a Comment