Existing software engineering practices outline a set of concepts, methods, and tools that must be taken into account when planning and developing top-of-the-line software.