This article provides formal guidelines for small web application and website development companies seeking success in their development activities. It’s written in a clear and concise format. For suggestions or clarifications, please contact the author at [email protected].

The Development of Desktop Software for Single Users or Small Groups is Waning

The development of software for personal computers for single users or small groups is becoming less prevalent. In today’s interconnected world, web-based applications offer significant advantages. These applications can be accessed from anywhere with an internet connection, not just from a user’s office PC. This flexibility allows users to access their applications even while on vacation.

Web Applications: Key to Success

Many web application development projects struggle to meet user needs or stay within budget. However, this article will explore some key success factors that can ensure projects are delivered to a high standard and achieve significant success.

Defining the Scope

Before commencing development on a web application project, the development team must thoroughly understand and document the application’s scope. This includes identifying the target users, assessing their internet access at home, and clearly outlining the advantages users will gain from a web-based application.

Analyzing Existing Applications

Before beginning application design, review as many comparable applications as possible, noting their features and drawbacks. This analysis can provide valuable insights into best practices and potential pitfalls, helping your application outperform competitors. Furthermore, it can inspire ideas for additional features. For example, If a competitor’s application offers basic reporting features, you could provide more advanced analytics dashboards with customizable reports, data visualization tools, and the ability to export data in various formats. This would appeal to users who need in-depth data analysis.

Realistic Planning is Essential

Accurate estimation (not guesswork) of development time and providing developers with a realistic plan is crucial for project success. Always estimate development time in man-hours, not in man-days or man-months. To achieve accurate hourly estimations, thoroughly document the application’s micro-components and all associated complexities. This approach fosters a stress-free work environment for your team and reduces the likelihood of bugs in the application.

Verifying Module Completion

Before finalizing each module, a verification process should ensure that all agreed-upon features from the planning meetings and commitments made to the customer are implemented. For example, if the application requires load balancing, the necessary load-balancing mechanisms must be in place.

Avoiding Unnecessary Schedule Changes

Unless there is a compelling reason, avoid accelerating the development schedule. Altering the schedule for marketing purposes can introduce numerous bugs, potentially incurring costs exceeding the initial estimates. Pressuring programmers to complete modules ahead of schedule is unlikely to contribute to a successful application. As a project manager, adhere to the original estimated timeline and development plan, rather than succumbing to perceived urgency.

Managing Configurations

In web and software application development, changes are inevitable. Therefore, effective control over these changes is essential. Configuration management encompasses a set of activities designed to manage change by identifying work products susceptible to change, establishing relationships between them, defining mechanisms for managing different versions, controlling implemented changes, and auditing and reporting on completed changes. If your team works with shared source code, establishing a robust configuration management system (such as Git or Subversion) is crucial for maintaining control over modifications.

Formal Milestone Reviews

Conduct milestone reviews to assess the progress of your web application development. A milestone review is a formal evaluation of a project’s management and technical progress. These reviews provide accurate insights into the project’s current status.

Regular Team Meetings

Even if you don’t adhere to Extreme programming standards, implementing daily standup meetings can be beneficial. These short meetings allow the team to quickly share updates and address immediate concerns. They facilitate efficient communication and improve team coordination by ensuring everyone understands each other’s current tasks.

Prioritizing Testing

Thorough testing is paramount for delivering a high-quality web application. Allocate at least 25% of the development time to this crucial phase. Utilize appropriate testing methodologies and tools to ensure comprehensive coverage. This investment in testing minimizes bugs, improves user satisfaction, and ultimately contributes to a more successful product.

Achieving Quality

Quality control extends beyond testing. Establish a quality control procedure list tailored to your company’s current resources and setup. All team members should be familiar with the company’s established standards and procedures. Regularly review and refine these processes. For small companies, establishing standards and quality control measures early on is advantageous, as it’s easier to implement and improve them at that stage. Without a strong emphasis on quality within the team, delivering high-quality web applications is challenging.

References:

  • C. Jones, “Patterns of Large Software Systems: Failure and Success,” IEEE Software, Vol. 12, No. 2, Mar. 1995, pp. 86–87.
  • Books such as Tom Gilb’s Principles of Software Engineering Management (Addison Wesley).
  • Standup meeting at Extreme Programming – http://www.extremeprogramming.org/rules/standupmeeting.html
  • Internal Quality Assurance Guidelines from the State of Texas: Department of Information Resources.
  • Software Engineering – A Practitioners’ Approach by Roger Pressman.
  • About the author: Benny Alexander is a web developer, having more than 25 years of web development and web marketing experience, worked for various web development companies. He is basically a Visual Basic, ASP, MS SQL server programmer, and also a freelance writer, writing technical articles and other content for Fortune 500 company intranets and extranets. (Updated on Dec 2024).