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)

Preface

This book is about ensuring project success for PHP teams. It explores technical as well as non technical aspects that matter when achieving project success. On the technical front, designing to divide complexity to conquer complex problems, keeping things simple in the design, choosing the right process, and monitoring and improving the process are important aspects. On the non technical front, making sure that they collaborate effectively, the team should be open to changes. The team should be open to user feedback. Having the right mindset about quality and other aspects related to project success are discussed.

What this book covers

Chapter 1, Software is Complex, explains the complexities that we face while working with today's software projects. PHP projects, some years ago, used to be small projects involving one or two people. However, today, we need teams of people for PHP projects. This chapter explores the need for teams for PHP projects. It also discusses how software engineering principles help with PHP projects. There is an increasing need to use a process for PHP projects. The complexity of having a team is figuring out how to divide the project's problem among team members and solve it. This chapter discusses how to divide and conquer projects. We will discuss how patterns help the PHP project to cope with complexity. Finally, we will explore how to use tools to manage the development and collaboration within the PHP team.

Chapter 2, MVC and Software Teams, discusses the MVC pattern in depth and how MVC can help in a PHP project. It also explores how to use the MVC pattern as the guiding principle to break down the complexity of a project, and how to implement MVC with a team. It also discusses the integration challenges that are faced in putting together all the pieces of MVC that are developed by different team members.

Chapter 3, Dealing with Complexity, discusses in depth how we can make use of software design patterns to cope with complexities in a software project. We will also discuss how PHP MVC frameworks simplify the complexity of a project. When using a PHP framework, there are a bunch of expectations; we will explore what to expect and what to look for in a PHP framework. The mere use of a PHP framework would not guarantee project success. Hence, we will discuss how to achieve team success with PHP frameworks in this chapter. We will also look at some leading PHP frameworks. Moreover, we will also learn how to make things simple while using a PHP framework.

Chapter 4, The Process Matters, explains the relationship between the process and the product. We will discuss, in depth, the consequences of ignoring the process and why the process must be respected. We will learn how to move from no process to having a process. We will explore the motivation that is required for a process, how a process helps, and does not hinder a PHP project. We will also study a simple process model that can be used for PHP projects.

Chapter 5, Agile Works Best, will introduce agile philosophy, including agile values and agile principles. We will discuss common problems and fears that developers face when developing a product, and see how agility can help to overcome them. We will discuss extreme programming principles, and also learn the advantages of agile process models. Finally, we will explore how we can achieve team agility.

Chapter 6, Ways of Collaboration, discusses the challenges faced while working with teams, and we explore the implications of assumptions made by team members. Then we will learn collaboration techniques for ensuring seamless integration of the various components and layers developed by the team members. We will dig into the details of source control, bug control, and configuration management, and learn how those relate to effective team collaboration. Moreover, we will discuss some tools that we can use for communication and collaboration.

Chapter 7, Continuous Improvement, will explain how to deal with change in PHP applications. In order to make sure the software that we develop is useful, we have to make sure that we are willing to embrace change and also be ready to evolve the system, as we move along. We also have to ensue that the process being used is effective. We will discuss how we can evolve the PHP application and also measure the effectiveness of our process. People development is also another important aspect of continuous improvement when ensuring success with teams. We will learn the team management and people development aspect in this chapter.

What you need for this book

This book does not assume any prerequisites. If you have worked with a project team on a PHP application, it will make it easier to relate to your experiences. However, if you are a beginner, and want to learn what it takes to work with a team and be successful, this book will provide a wealth of knowledge.

Who this book is for

This book is for PHP developers who work in complex PHP projects. Those who want to know the secrets of success for PHP projects that meet the complex demands of today's enterprise can benefit from this book.

This book can also be useful for project managers who are looking to be successful with PHP projects.

Those who are acting as stakeholders of PHP projects, such as clients, or those who want to sponsor PHP projects, can also learn what to expect and how to deal with PHP project team with this book.

Conventions

In this book, you will find a number of styles of text that distinguish between different kinds of information. Here are some examples of these styles, and an explanation of their meaning.

New terms and important words are shown in bold. Words that you see on the screen, in menus or dialog boxes for example, appear in the text like this: "Once a developer starts working on the issue, the issue will transit to In-progress state".

Note

Warnings or important notes appear in a box like this.

Tip

Tips and tricks appear like this.

Reader feedback

Feedback from our readers is always welcome. Let us know what you think about this book—what you liked or may have disliked. Reader feedback is important for us to develop titles that you really get the most out of.

To send us general feedback, simply send an email to , and mention the book title via the subject of your message.

If there is a book that you need and would like to see us publish, please send us a note in the SUGGEST A TITLE form on www.packtpub.com or email .

If there is a topic that you have expertise in and you are interested in either writing or contributing to a book on, see our author guide on www.packtpub.com/authors.

Customer support

Now that you are the proud owner of a Packt book, we have a number of things to help you to get the most from your purchase.

Tip

Downloading the example code for the book

Visit http://www.packtpub.com/files/code/7542_Code.zip to directly download the example code.

The downloadable files contain instructions on how to use them.

Errata

Although we have taken every care to ensure the accuracy of our content, mistakes do happen. If you find a mistake in one of our books—maybe a mistake in the text or the code—we would be grateful if you would report this to us. By doing so, you can save other readers from frustration, and help us to improve subsequent versions of this book. If you find any errata, please report them by visiting http://www.packtpub.com/support, selecting your book, clicking on the let us know link, and entering the details of your errata. Once your errata are verified, your submission will be accepted and the errata added to any list of existing errata. Any existing errata can be viewed by selecting your title from http://www.packtpub.com/support.

Piracy

Piracy of copyright material on the Internet is an ongoing problem across all media. At Packt, we take the protection of our copyright and licenses very seriously. If you come across any illegal copies of our works, in any form, on the Internet, please provide us with the location address or web site name immediately so that we can pursue a remedy.

Please contact us at with a link to the suspected pirated material.

We appreciate your help in protecting our authors, and our ability to bring you valuable content.

Questions

You can contact us at if you are having a problem with any aspect of the book, and we will do our best to address it.