
PHP Team Development
Description
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
- Develop code that is much easier to maintain with source control, agile principles, and project tracking
- Apply techniques related to process models, collaboration among team members, and continuous long-term improvement
- A precise guide with examples to illustrate practical benefits
Book DescriptionGiven 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.What you will learn - Reduce your development time by using MVC to break down complexity in PHP projects
- Effectively use PHP frameworks to achieve project success
- Master the concepts of effective collaboration, choosing the right process, and continuous long-term process improvement
- Apply agile methodologies and pick up the practices that best suit your project
- Catch and eliminate bugs early using source control and bug tracking tools
Who this book is forThis book is for PHP developers who work in teams on complex PHP projects. With this book in hand, it is easy to discover the secrets of successful PHP projects that meet today's complex enterprise demands. This book can also be useful for project managers who are looking to be successful with PHP projects. Those who are stakeholders in PHP projects, such as clients, or those who want to sponsor PHP projects, can also learn what to expect and how to deal with a PHP project team with this book.
All prices
More details
Other editions
Additional editions

Person
Samisa Abeysinghe is Director, Engineering at WSO2. Samisa pioneered the Apache Axis2/C effort and architected the core of the Apache Axis2/C Web services engine. He continues to be an active contributor in the Apache Axis2/C project. His involvement in open-source projects began in 2004 when he started working with the Apache Axis C/C++ project. Prior to his current role, Samisa played the project lead role for the WSO2 Web services Framework for PHP project, which provides comprehensive support for building both SOAP and REST services and clients.
Content
- Intro
- PHP Team Development
- Table of Contents
- PHP Team Development
- Credits
- About the Author
- About the Reviewers
- Preface
- What this book covers
- What you need for this book
- Who this book is for
- Conventions
- Reader feedback
- Customer support
- Errata
- Piracy
- Questions
- 1. Software is Complex
- Need for teams
- Software engineering principles to help
- Use a process
- Divide and conquer
- Guarantee reuse
- Guarantee integration
- Prevent regression
- Vertical versus horizontal division
- Continuous integration
- Patterns as solutions
- Process for success
- Tools
- Source code control
- Continuous builds
- Issue tracking
- Communication
- Summary
- 2. MVC and Software Teams
- Software design patterns
- MVC pattern
- Intent
- Motivation
- Solution
- Model
- View
- Controller
- How MVC can help
- MVC helps with change
- Implementing MVC with a team
- Aspects of the presentation layer (view)
- The overall team distribution
- Integration challenges
- Summary
- 3. Dealing with Complexity
- Frameworks to simplify complexity
- How can frameworks help?
- Expectations from frameworks
- Simplicity
- Size of the framework
- Performance
- Security
- Separate HTML from PHP
- AJAX support
- No restrictions
- Object-oriented versus functional
- Code quality of the project
- Enforce best practices
- Configuration needs
- Internationalization
- Documentation
- Community
- Commercial support
- License
- Vendor locking
- Availability with hosting
- Some more points to ponder
- Team success with frameworks
- Technical feasibility study of the framework
- PHP Frameworks
- Limb
- phpDrone
- ZNF
- ATK
- Akelos
- CakePHP
- CodeIgniter
- Zend Framework
- PHP Work
- Symfony
- KISS-beyond frameworks
- Beyond frameworks
- People are complex
- Avoid NIH
- Innovation
- Embrace change
- Simplicity is a mindset
- Summary
- 4. The Process Matters
- Process and product
- Ignoring the process
- Process must be respected
- From no process to some process
- Process helps not hinder
- Simple process for PHP projects
- User requirements
- Modeling what the users want
- Data modeling
- Business modeling
- User activity analysis
- Designs and implementing the data layer
- Designs and implementing the business layer
- Design and implementation of the user interface
- Summary
- 5. Agile Works Best
- Introducing agile philosophy
- Agile values
- Agile principles
- Individuals and interactions
- Working software over comprehensive documentation
- Customer collaboration
- Responding to change
- Customizing agile to our needs
- Common fears for developers
- Producing the wrong product
- Product of inferior quality
- Getting late to complete the project
- Too much work in too little time
- Traits of agile team members
- Competence
- Common focus
- Collaboration
- Decision-making ability
- Fuzzy-problem solving ability
- Mutual trust and respect
- What is agility
- Characteristics of an agile process
- Principles of agility
- Extreme Programming (XP)
- XP planning
- XP design
- XP coding
- XP testing
- Advantages of agile development process
- Team agility
- Agile process models
- Adaptive Software Development
- Dynamic Systems Development Method
- Dynamic Systems Development Method's life cycle
- Scrum
- Backlog
- Sprints
- Scrum meetings
- Demos
- Feature Driven Development
- Agile Modeling
- Agile for the PHP team
- Pair programming
- Sustainable working style
- Information-driven workspace
- Fixing the process
- Sitting together
- Ubiquitous language
- Stand-up meetings
- Demonstrate the iteration outcome
- Summary
- 6. Ways of Collaboration
- Team work is challenging
- Team members make assumptions
- Making integration possible
- Source control
- Bug control
- Configuration management
- Tools for communication and collaboration
- Tracking tools
- Summary
- 7. Continuous Improvement
- Dealing with change in PHP applications
- Ensuring process effectiveness
- Ensure you are improving
- Evolving PHP applications
- People development
- Teams and success
- Managing the team
- Leadership
- Quality focus
- Constant monitoring
- The team is human
- Summary
- Index
System requirements
File format: ePUB
Copy protection: Adobe-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Install the free reader Adobe Digital Editions prior to download (see eBook Help).
- Tablet/smartphone (Android; iOS): Install the free app Adobe Digital Editions or the app PocketBook before downloading (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (not Kindle).
The file format ePub works well for novels and non-fiction books – i.e., „flowing” text without complex layout. On an e-reader or smartphone, line and page breaks automatically adjust to fit the small displays.
This eBook uses Adobe-DRM, a „hard” copy protection. If the necessary requirements are not met, unfortunately you will not be able to open the eBook. You will therefore need to prepare your reading hardware before downloading.
Please note: We strongly recommend that you authorise using your personal Adobe ID after installation of any reading software.
For more information, see our ebook Help page.
File format: PDF
Copy-Protection: Adobe-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Install the free reader Adobe Digital Editions prior to download (see eBook Help).
- Tablet/smartphone (Android; iOS): Install the free app Adobe Digital Editions or the app PocketBook before downloading (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (only limited: Kindle).
The file format PDF always displays a book page identically on any hardware. This makes PDF suitable for complex layouts such as those used in textbooks and reference books (images, tables, columns, footnotes). Unfortunately, on the small screens of e-readers or smartphones, PDFs are rather annoying, requiring too much scrolling.
This eBook uses Adobe-DRM, a „hard” copy protection. If the necessary requirements are not met, unfortunately you will not be able to open the eBook. You will therefore need to prepare your reading hardware before downloading.
Please note: We strongly recommend that you authorise using your personal Adobe ID after installation of any reading software.
For more information, see our eBook Help page.