ExecutiveBrief, the technology management resource for business leaders, offers articles loaded with proven tips, techniques, and action plans that companies can use to better manage people, processes and tools – the keys to improving their business performance. For more information visit us at: http://www.executivebrief.com.
By ExecutiveBrief Staff
Has your company developed entirely new software or added to software already in use throughout the organization and found the process cumbersome, frustrating, and sometimes not living up to expectations or meeting organizational goals? If so, the solution to a smooth and effective development program may be as easy as staffing a well-qualified project manager and adopting a proven development process.
For any software development or other project initiative your company may be considering, it is critical to have in place and practice a set of effective and proven guidelines to ensure project success and delivery of the expected results: taking into consideration the role and responsibilities of a well-qualified project manager, knowledge of important business and financial aspects, and a step-by-step process that all contribute to the solid foundation and implementation of an effective project plan.
Developing a Practical Approach: The Role of the Project Manager
When undertaking a software development project, the first element to consider is the establishment of a comprehensive yet practical approach to the initiative that ultimately will lead to a successful end result.
The in-house project manager has a key role in ensuring each phase of the project is carried out as planned. The project manager is responsible for considering the potential risks involved with the project and how to avoid and resolve them, establishing and maintaining momentum throughout the project, ensuring individual project team member tasks are assigned appropriately and carried out according to specifications, and successfully addressing and resolving any conflicts that may arise during the length of the development project.
A well-qualified project manager is able to address what may seem to be an overwhelmingly complex process by developing an organized approach where the process is broken down into manageable individual tasks and understanding how to keep those involved in the project dedicated to the ultimate goal of meeting and even exceeding the expected end result.
If the project manager dedicates the necessary time, effort, and resources to the preparation of an efficient, comprehensive, and practical approach, then the project team may progress with ease and confidence as they deliver on their individual tasks, having a solid foundation and strategic framework at the outset. Far too often, however, failures with such projects are the result of not only a poorly executed plan, but one that ultimately lacked the fundamental elements of a well-though-out approach rooted in adequate preparation and commitment from the project manager and project team.
Designing a strategic plan means taking into consideration all aspects that can contribute to success or potential failure.
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:
• Desktops for development with an advanced integrated development environment suite.
• A server with a configuration management system for document tracking and version control.
• A staging server for integration testing and a production server for deployment of the final product.
• A requirement/task/defect tracking tool.
• An automated build system.
• A regression testing tool.
• 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:
• Product and project visibility
• Automation of repetitive and mundane tasks
• 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.
Step #5: Measuring and Tracking Progress
Without the proper technology infrastructure in place, it is difficult to collect and measure key project data. “Consequently, the software projects cannot be managed effectively,” says Dr. Huizinga. Project indicators can help to ensure the prompt identification of potential or existing problems, therefore allowing them to be recognized and remedied in a timely manner. When observed over an extended period, notes Dr. Huizinga, these indicators can be used to determine product quality and deployment readiness.
Step #6: Development
At the development phase, the design document is translated into a real piece of software. When prior careful planning has been executed, the software will match the requirements of the business driver that initiated the need for the project. Dr. Gehrs points out that development cycles may produce several versions of the software:
• Alpha: preliminary feature/functionality only
• Beta: used for internal testing or usability testing
• Release Candidates: usually a very stable build that may need minor tweaks
• Production Build or Gold Master: ready for release.
Project managers need feedback on the user’s navigational experience, task-completion times, ease of use, and other information related to the user interface and user-centric elements.
Step #7: Addressing Automation
Another key step is to ensure the automation of repetitive tasks:
• Code builds;
• Static code analysis scans;
• Regression tests;
• Collection of project- and product-related measures.
Dr. Huizinga believes that taking such measures reduces the error-prone human influence when the software is implemented. It also facilitates the use of best practices and collection of project-related data. “All repetitive and mundane tasks should be automated whenever possible in any portion of the software life cycle,” she adds.
Step #8: Testing
As the project continues on through each phase and on to testing, a general progression of action is as follows: software features are laid out in some sort of list, scripts are written for each task the user might perform, and those features are tested to ensure they function properly. Dr. Gehrs points out that testing also may vary quite widely depending on the individual testing procedures adopted by the organization. Testing can consist of several sub-stages as well, such as quality assurance and staging.
Once the software is in general use, any bugs found at this point are addressed based on a criticality scale: urgent fixes are scheduled to be carried out as soon as possible. In addition, feature enhancements/changes may be slated for future upgrade versions.
Step #9: Gradual Implementation Practices
“Incremental implementation of the above practices is critical to success. The approach of gradually introducing change group by group and practice by practice is essential to achieving the desired organizational culture change, as change is unsettling, and there will always be some degree of resistance,” points out Dr. Huizinga. Because of the complex nature of software projects and the technology involved, new software development warrants this systematic approach.
Understanding the role of the project leader and importance of having well-thought-out development processes in place may be a company’s only real competitive advantage in an increasingly competitive marketplace. It is the ultimate secret weapon to winning business and successfully delivering new easy-to-use software.
With workable and disciplined software project guidelines and well-qualified project managers, your organization can’t lose.
- Related Videos
- Related Articles
- Ask / Related Q&A
- Credit Repair Tips
- Time-saving Tips
- Real Estate Investing Software: Features To Compare
- Computer Tips
- Computer Tips
- E-Mail Marketing Software: What Does it Do?
- Advice on Growing a Human Resource Software Business Partner Channel
- Small Business Bookkeeping Software -- 7 Easy Steps to Get the Best Solution




Get Free Norton Anti Virus and Internet Security 2010 with license key
By: Bilal Ahmad | 04/12/2009Here you can Get Free Norton Internet Security and Anti Virus with free license key
Max Registry Cleaner
By: Zitolas Philp | 04/12/2009Max Registry Cleaner is an extremely popular registry repair tool these days. But is it the best registry cleaner around, and how does it stack up against other registry cleanup tools?
Top 3 Easy Steps to Windows Registry Recovery
By: Zitolas Philp | 04/12/2009It is possible to recover your registry no matter how little computer experience you possess. There are many reasons why it may be necessary to recover or clean the registry, and all users have experienced registry problems at one time or another. Freezing, slowing down, frequent error messages, and very slow web page loading are all signs that the registry of the system may need to be recovered or cleaned.
Best Registry Fix Software
By: Zitolas Philp | 04/12/2009Does your computer crash frequently? Do you have a slow and sluggish computer? Well, it is nothing unnatural. It all happens simply because of problems with the Windows registry. Do you know that more than 95% of computer users worldwide suffer because of corrupt Windows registry?
Repair Your Registry with Registry Power Cleaner
By: Zitolas Philp | 04/12/2009Is your PC slowing down? Seeing the blue screen of death? Or even your computer crashing or freezing and you don’t know why? Then you need a Registry Cleaner.
How to Fix Hal.DLL Errors
By: Zitolas Philp | 04/12/2009So you are trying to find ways to fix DLL error and it is not easy to get the best solution. In this article you will find proven solutions to troubleshoot and fix DLL error. There are many causes of DLL error. This guide has been carefully put in order for each case.
Do I Need a Registry Cleaner?
By: Zitolas Philp | 04/12/2009So what is the best registry cleaner that one can download off the web today? This is a difficult question to answer given the wide range which are currently available on the internet. When making a decision it really comes to a bit of trial and error to see which one performs better on your windows system and provides you with a notable increase in speed and functionality.
Registry Clean Expert
By: Zitolas Philp | 04/12/2009Windows registry issues can cause system crashes, slow performance and error messages. By using a registry cleaner program regularly, you can fix registry errors, thus making your system more stable and improving performance without expensive hardware upgrades.
7 Things You Need to Know About Development Project Estimations
By: ExecutiveBrief Staff | 30/11/2009 | SoftwareWhether you are a project manager planning for a smooth implementation of a plan or a project sponsor on whose decisions a project depends, you cannot escape from the fact that project estimation is essential to its success. In the first place, there are three basic requirements that a project must satisfy: schedule, budget, and quality. The need to work within these essential project boundaries poses a huge challenge to everyone in the central management team.
Top 5 Ways to Incorporate CMMI with Agile Methods
By: ExecutiveBrief Staff | 31/07/2009 | SoftwareThere is a common misconception that CMMI and Agile are polar opposites. One relies on institutionalization and documentation of processes and methodologies, while the other emphasizes interaction among workers and “working software over comprehensive documentation” (Agile Manifesto).
Managing Hidden Project Costs for Better ROI
By: ExecutiveBrief Staff | 28/04/2009 | Project ManagementA project manager can assign numbers to productive hours, headcounts, and quality, but how does one factor in hidden costs, such as trainings, project changes, and communication, among others?
Evaluating CMMI: When is it a Good Fit?
By: ExecutiveBrief Staff | 23/03/2009 | SoftwareWhat's the best way to identify and implement process improvement for your business? Gain the knowledge you need to determine if CMMI will fit the bill.
How Pie Charts, Mr. Spock and the Big Picture Can Optimize Your Projects
By: ExecutiveBrief Staff | 19/03/2009 | Project ManagementWhat’s the best way to allocate resources across projects? How can you ensure you stay on budget and meet established deadlines? Read up on the latest tools designed to make your job easier!