+
+

9 Steps to a Hassle Free and Effective Software Development Project

Embarking on the Initiative: Key Steps to Consider

With a comprehensive approach and a competent project manager in place to guide the new software development initiative, there is another important element your organization may find helpful as you embark on the project: establishing specific steps that can be followed to project completion that are based on proven industry experience in such a project environment.

Following are a set of practical guidelines to approach a software development project, established by two university professors and business consultants with specialized expertise in the computing, engineering, and general business environments.

Dr. Gordon Scott Gehrs is an adjunct instructor at the Illinois Institute of Technology (IIT) and a business consultant for the Jules F. Knapp Entrepreneurship Center at IIT. Dr. Dorota Huizinga is associate dean of the College of Engineering and Computer Science and a professor in the Computer Science Department at California State University, Fullerton, as well as a frequent business seminar speaker, a business consultant, and co-author of Automated Defect Prevention: Best Practices in Software Management.

Read on for nine key steps to consider as you embark on a software development project.

Step #1: Conduct Feasibility Analysis

According to Dr. Gehrs, a critical first step is to interview stakeholders in order to uncover whether a specific need exists, identify this exact need, and determine whether the proposed project can feasibly deliver the expected software development. “Many times, this is the point at which an ROI study will be carried out in order to determine project costs and benefits,” says Dr. Gehrs.

Step #2: Analyze and Determine Requirements

When it comes to the next step of determining requirements, Dr. Gehrs believes a proper analysis should consist of interviews with end users and others who will be associated with the new software system. In addition, a thorough review and a keen understanding of user documents, business rules, and processes are keys to determining appropriate and necessary features and functionality. This is a valuable and significant step in the development process and the point at which such deliverables as those documents outlining the scope of the project and those detailing the software product requirement will be produced.

Dr. Huizinga notes the importance of having the minimum technology infrastructure in place before beginning a software project, which include:

  1. Desktops for development with an advanced integrated development environment suite.
  2. A server with a configuration management system for document tracking and version control.
  3. A staging server for integration testing and a production server for deployment of the final product.
  4. A requirement/task/defect tracking tool.
  5. An automated build system.
  6. A regression testing tool.
  7. An automated reporting system.

“Investing in the proper infrastructure is essential and will pay back quickly,” asserts Dr. Huizinga. There are three key elements the proper infrastructure provides:

  1. Product and project visibility
  2. Automation of repetitive and mundane tasks
  3. Facilitation of collaboration

Step #3: Consider Industry Best Practices

When defining a software development process, consider proven industry best practices. Dr. Huizinga recommends a good, customized Agile process with emphasis on pictorial documentation both for requirements and technical documentation. It is important to follow a standard template and all activities should be traceable through a requirements/task/defect tool and shared document repository.

Step #4: Design

During the design phase, the software architect, programmer, and/or developer may put together a detailed design document outlining exactly how the software will meet the specified requirements. Dr. Gehrs recommends the use of mock-ups to accompany the design document as a way of illustrating user-interface elements.

In some cases, customization is required in order to meet specific, individual project needs. For example, Dr. Huizinga notes that this might include the use of specialized COTS (commercial off-the-shelf) hardware and software components. The wide spectrum of products from databases to game engines is dictated by the market shift to customization of existing commercial applications to fit project needs rather than in-house development of such systems. According to Dr. Huizinga, COTS can offer higher quality because they are developed by vendors who specialize in systems that provide the required functionality and are well-tested by many users.

     EmailEmail This Article      EmailPrint This Article
Page 2 of 3    <  1 2 3 >

+
+
+
+

Exclusive Invitation from ExecutiveBrief

Do you like this article? Sign up to receive more articles each month on similar topics. It's Easy and Free!

Join Us Now.
+
+
Subscribe to ExecutiveBrief Newsletter
+
+
Related Articles

Supercharging QA: The Power of Metrics

Learn how you can solidify your process improvement strategy by collecting vital data at each quality checkpoint. Study these best practices for implementing a program that will stand the test of time!

Read full story

Lean Six Sigma: What Makes it Tick?

Take advantage of this behind-the-scenes look at the challenges presented by Lean Six Sigma implementation. Capitalize on these lessons learned to avoid potential pitfalls!

Read full story

More Related Articles
+
+