Project Smart ~ Exploring trends and developments in project management today

Calendar iconNot recorded
Adobe PDF icon

9 Steps to a Hassle Free and Effective Software Development Project

~ By ExecutiveBrief

Programmer looking at lines of code on a screen

Following these nine steps may be the ultimate secret weapon to winning business and successfully delivering new easy-to-use software that meets and exceeds expectations.

Has your company developed entirely new software or added to software already in use throughout the organisation and found the process cumbersome, frustrating, and sometimes not living up to expectations or meeting organisational goals? If so, the solution to a smooth and effective development programme 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 organised 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 organisation 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 specialised 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: Analyse 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, customised 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, customisation is required in order to meet specific, individual project needs. For example, Dr. Huizinga notes that this might include the use of specialised 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 customisation 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 specialise 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 recognised 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 organisation. 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 organisational 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 organisation can't lose.


ExecutiveBrief, the technology management resource for business leaders, offers proven tips, techniques, and action plans that companies can use to better manage people, processes and tools - the keys to improving their business performance. To learn more, please visit: SoftServe United Blog

© ExecutiveBrief 2008


Comments

Be the first to comment on this article.

Add a comment



(never displayed)



 
1500
Enter the last letter of the word satellite.
Notify me of new comments via email.
Remember my form inputs on this computer.

Top Three Causes of Project Failure

Businessman in a black suit holding up a white sign reading failed

The top three causes of project failure, which if addressed will greatly increase the chances of project success.

The Mythical 50% Resource

Red blocks with the percent sign on a white background

Most managers of software development projects have had an encounter with a resource who is committed to their project some percentage of the time.

What is PRINCE2?

PRINCE2 logo

PRINCE2 is one of the most widely used project management methodologies available. If you're looking to run successful projects, then PRINCE2 is an excellent choice.

Top 10 Steps to Successful Goals

Businessman sprinter winning a track race

Help avoid the great 'Rinse and Repeat Trap' by following these 10 steps to setting successful goals. You may have to work for it, however!

PROJECT SMART is the project management resource that helps managers at all levels improve their performance. We provide an important knowledge base for those involved in managing projects of all kinds. With weekly exclusive updates, we keep you in touch with the latest project management thinking.

WE ARE CONNECTED ~ Follow us on social media to get regular updates and opinion on what's happening in the world of project management.


Latest Comments

Duncan commented on…
10 Rules of Highly Successful Project Management
- Mon 26 September 7:50am

John Corbett commented on…
10 Rules of Highly Successful Project Management
- Mon 19 September 1:36pm

London Management Centre commented on…
Get Maximum Benefits of Merging Top-down and Bottom-up Project Management
- Mon 19 September 11:29am

Latest tweets

General Project Management • Re: Best/cheapest online PRINCE2 Foundation course with exam included https://t.co/vQdMJc0ZS8 #pm #projectsmart about 1 hour ago

General Project Management • Re: Software Product Delivery Plan for an Agile project https://t.co/qlwUTdDgAa #pm #projectsmart about 1 day ago

General Project Management • Re: Best/cheapest online PRINCE2 Foundation course with exam included https://t.co/qRvyY1ZXVj #pm #projectsmart about 1 day ago