Book Image

PHP Team Development

By : Samisa Abeysinghe
Book Image

PHP Team Development

By: Samisa Abeysinghe

Overview of this book

Given the nature of the business environment today, organizations that want to build value-added enterprise PHP applications need a team of PHP people rather than an individual. You've got a team! What next? Customizing such applications to meet with organizational objectives and maintaining these applications over time can be quite a tedious task for your team with so many people involved. In this book, you will explore how you can break up complex PHP projects into simple sub-parts that multiple team members can work on. The book highlights the use of the MVC pattern for separating concerns in the application and agile principles to deliver code that works. You will learn to blend the simplicity and power of PHP with evolving software engineering principles and tools to easily develop code that is easy to maintain. With this book in hand, you know how to avoid getting muddled up while working in a team and achieve success on your project with effective team work. Organizations choose PHP as the preferred language for complex web applications because it is battle tested, hardened over time, and proven to work. Thus, chances of the software project you are involved with being PHP-based, are very high. Soon, you will need to explore the technical as well as non-technical aspects that are important to achieve success in PHP team projects of this kind. This book starts by explaining the need for teams working on complex software projects. You learn how you can divide the complexity of PHP projects with the help of the MVC pattern and the use of frameworks. It then discusses the need for a process and how you can choose the right process. It teaches you how to use agile principles to deliver working software for customers, and how to make sure that the team collaborates effectively. Towards the end, the book emphasizes continuous improvement in process and product as well as the people involved. You learn how to ensure that your team is open to change and user feedback, and has the right mindset about quality and other project-related aspects.
Table of Contents (13 chapters)

Need for teams


We need the help of a team of people to successfully implement a solution to a complex problem. When we are trying to implement a solution for some problem, one of the obvious questions would be whether to implement the solution on our own or to look for ready made solutions which are available out there. There are many hosted solutions that can be found on the Internet for individual use these days. For example, you could go to a web hosting site and deploy your web site based on WordPress. You can also use one of many blogging tools and make it your home page. So if the task is simple, there is no point having a team of PHP developers to do the job. If the problem that we are looking to solve is complex, and if there are no readymade solutions available out there, we need to form a team to help solve the problem. Sometimes, we'll be able to find open source projects that solve the problem that we have been looking to solve. However, most of the open source projects are looking to solve generic problems. Most of the enterprises would have unique business problems to be solved. Hence, we might need a team of developers to implement that custom solution for the enterprise.

Implementing a more customized, value added, enterprise applications requires a team of developers. This is required, especially, given today's competitive marketplace, and given that almost all organizations make use of information technology. It is not the mere existence of a software application that matters most today. Rather, the application should meet the expectations of the enterprise, by being agile, flexible, and designed to deal with the ever changing business environment. For example, take a developer portal; you can easily use a content management system such as Drupal or Joomla! for hosting it. However, to customize it to meet the organizational objectives and maintain it over time, you might need more than one PHP developer—and that is a team.

If you look into a more complex enterprise scenario, such as online trading or social networking, your team could consist of around 10 to 100 people, or even more. Many PHP-based dynamic web sites could be managed effectively with about two good PHP developers. However, the number of members that you need in a team is very much dependant on the nature of the PHP project at hand. Apart from the design and coding activities, we need to take into account the testing and documentation effort in a project. We might also need to take into account the effort required to maintain the software, providing bug fixes, and facilitating change requests.

So it is obvious that you need a team, and you might already be part of a team. Perhaps this is the reason why you are reading this book, or you might want to join on organization where there are teams.