Agile Development and “Tool” Acquisition
While doing some reading on the topic of search and rescue (SAR) I found the focus on agility and tool acquisition to be very interesting and very similar to what has worked for me in the software development domain. The following text is a paraphrase of several paragraphs from the book, “Fundamentals of Search and Rescue”. I’ve modified the text to use software terminology.
Software development is an extremely diverse field that involves more art than science. Determining what will and will not work is often based upon the educated opinions of those involved, and these opinions may vary greatly. Because of this, software development is difficult to learn based on one source or the teachings of one instructor. It is important in software development, therefore, to gain knowledge from many sources, tempering everything with practicality and experience.
Software development education is a “tool” acquisition process. Specific knowledge and skills are tools to the developer, as are hammer and nails to a carpenter. A specific skill (tool) may be used, but situations will occasionally require tools beyond the content of one’s existing tool chest. In software development, the tools are collected from appropriate sources — through formal education and experience — and then used when necessary to meet an objective. Some tools work better than others in certain situations, but all may be of value at one time or another.Every student or practitioner of software development should acquire as many
“tools” as possible. The more tools you have, the better the chances that you will have what it takes to perform safely and effectively. Specialization may be necessary, but not to the exclusion of a broad base of knowledge and skill. As in most pursuits, a single tool should not be expected to work perfectly for every job. Users vary, and so do the ways in which the tools can be applied to attain a goal; what works for one may not work another. These tools may eventually serve as the only foundation on which to build a system that is expected to provide significant business value. As such, they must be well chosen and skillfully applied.Avoid anyone who claims to teach the only real truth in software development. Nothing is more dangerous in software development than an individual who lacks an open mind and thinks that he or she possesses the only true way. There are as many ways to develop software as there are opinions on which is best. Every program can be improved upon. Learning how such improvements can be made is the key to advancing beyond basic tool application.
Post a Comment