Verified Document

Craft Software Term Paper

Crafting and Engineering Software: Contrast What it Might Mean to Engineer Software With What it Means to Craft Software

The software engineer Steve McConnell notes, "The dictionary definition of engineering is the application of scientific and mathematical principles toward practical ends." (McConnell, 1998) He believes that is what most software designers do, namely they apply scientifically developed and mathematically defined algorithms, functional design methods, quality-assurance practices, and other practices to develop software products and services. To engineer software thus is to view a set of real world problems and to ask one's self what works and what does not work, when meeting the needs of the product's potential range of services, according to professional guidelines.

But although this may be useful when engaging in the architectural design of the project, and determining the overall processes of the program, it may be equally useful to think of one's self as a craftsperson, with a hands-on, non-technical and more spontaneous and less professional approach. "During construction, I'm a craftsman," notes one engineer quoted by McConnell. In other words, after the engineer within the speaker troubleshoots the program's problems, and understands the full range of the program's requirements and specifications. Then he employs the practical tools and crafts of his trade to their best advantage in software construction.

While it is true that software engineers do not have an "absolutely stable core body of knowledge, and knowledge related to specific technologies will never be very stable," they "do have a body of knowledge that is stable enough to call software engineering. That core includes practices used in requirements development, functional design, code construction, integration, project estimation, cost -- benefit trade-off analysis, and quality assurance of all the rest." (McConnell, 1998) In essence, software engineering has the body of accepted troubleshooting procedures to give it the professionalism of engineering, while it still has the spontaneous 'what works for now with the tools I have,' approach that a craft often has, in a creative and interesting fashion.

Works Cited

McConnell, Steve. (January/February 1998) "The Art, Science, and Engineering of Software Development. Best Practices. IEEE Software, Vol. 15, No. 1. Retrieved 13 Jan 2005 at http://www.stevemcconnell.com/ieeesoftware/bp13.htm

Cite this Document:
Copy Bibliography Citation

Related Documents

Software Development Life Cycle
Words: 2835 Length: 10 Document Type: Essay

Software Development Life Cycle Agile Software Development Agile software development is a popular software development process or methodology that has gained a lot of popularity in the recent years due to its effectiveness and ease of use. Firstly, it encourages collaboration and teamwork throughout the life cycle of development and this makes it easy to plan and implement. Agile software development is all about breaking a task into small chunks that make it

Software Development Life Cycle SDLC
Words: 3695 Length: 12 Document Type: Essay

Software Development Life Cycle ( SDLC) Explain Requirement process ( in SDLC) in detail. Why is this exercise important? Requirements engineering is a fundamental activity in systems development and it is the process by which the requirements for software systems are identified, systematized and implemented and are followed through the complete lifecycle. Traditionally engineers focused on narrow functional requirements. Now it is being argued by Aurum and Wohlin (2005) that focusing only

Software Development Life Cycle
Words: 1559 Length: 5 Document Type: Essay

Software Development Life Cycle Social Media Software Implementation Project Social media is an important aspect of every business today because it gives companies a unique chance to understand the customers better and to interact with them at a more personal level. A wide range of social networking tools are used by companies to attract customers to the products and services offered by the company and this makes social media software implementation essential

Software Documentation Is an Integral Part of
Words: 828 Length: 3 Document Type: Essay

Software documentation is an integral part of the software development process. However, the process is often challenging because over the course of a software development project the scope can often change and evolve several times with updates and new builds. Despite the challenges that are presented in effectively documenting the development process, the documentation that is produced can serve as a valuable asset that can be used in future projects

Software Requirements Analysis: Implications for
Words: 780 Length: 3 Document Type: Article Critique

On this aspect of agent-based SDLC performance, both approaches are limited in terms of their applicability and scalability. The reliance on heuristics can only go so far with the embedding of business, technical and organizational elements into the overall structure of an SDLC methodology (Kumar, Goyal, 2011). The reliance on an agent-based model fits well with the development of modules that are designed to align with these innately unquantifiable

Software Application Process
Words: 1329 Length: 4 Document Type: Research Paper

Software Application Process for a Clinician Provider Order Entry (CPOE) system Software Application Process Clinician Provider Order Entry (CPOE) System The planning, customization, launch and continued use of a Clinician Provider Order Entry (CPOE) system in a local hospital forms the foundation of this analysis. The processes being used prior to the systems' planning and implementation are detailed to provide a basis of comparison of system contribution and performance. A timeline of the

Sign Up for Unlimited Study Help

Our semester plans gives you unlimited, unrestricted access to our entire library of resources —writing tools, guides, example essays, tutorials, class notes, and more.

Get Started Now