It is no more a fad that PHP plays a pivotal role in running the world’s largest web infrastructures; a glaring example is the PHP-powered Facebook system itself. In other words, you cannot argue any more of the truth that PHP caters for a solid software architecture. That said, the concerns are now centered on business goals, which change so fast due to the rapid evolving nature of the Internet’s ecosystem. This constant change triggers a crucial question mark: how relevant are business goals in software development?
To this end, two key people in the IT world of MayFlower, Periklis Tsirakidis and Johann-Peter Hartmann, have conducted a survey. You can read the complete, indepth analysis of the survey by downloading their PDF file (they ask for a registration before actually downloading the file).
It was an interesting read and I have tried to highlight some important parts below, but this is only part of the big picture elaborated in the pdf file which I recommend downloading.
Aim Of The Survey
To determine the Relevance of Business Goals in Software Architectures for the PHP Community, taking into account the characteristics of PHP being the MOST used Programming Language for Web-based Systems and its ability to cater for fast evolving requirements.
Objectives Of The Survey
- Relevance of business goals in Software Architectures
- Similarities and differences existing between PHP Experts and the PHP Community
- Inform IT leaders about the Capabilities of PHP Software developers and Software Integrators (SI) in the field of Business Goal Management with respect to Software Architectures
Role Of Software Architectures
- To fulfill the aligment of Enterprise objectives in the software development process
It’s obvious that software architectures represent a main bridge between Business Goals and building the Software System itself.
Categorization Of Business Goals In Software Architecture
This categorization was researched in 2005 by the effort of Rick Kazman and Len Bass of Carnegie Mellon University.
- Reduce total cost of ownership (TCO)
- Improve capability and quantity of the software system
- Improve market position
- Support improved business processes
- Improve confidence in the software system + improve perception of the software system
Architectural Methods Support in Projects
- Design Patterns
- Aspect Oriented Programming
- Model Driven Architecture
- Domain Driven Architecture
Architecture Types Development
- Object-Oriented (OO)
Top 5 Trends Of Functional and Non-Functional Requirements In Architecture Creation
- Written down in the requirements catalogue by the customer
- Implicit from the requirements catalogue
- General customer requirements
- Our own company standards/frameworks/products
- There are no documented architecture requirements
Relevant Tools In Architecture Creation
- Tool Support in Architectural Decisions
- Pencil & Paper
- Unified Modelling Language (UML)
- Business Processes Modelling Notation (BPMN)
- Architectural Spikes
Noted Observations From The Survey
- Design patterns seem to be a De Facto standard for both PHP Experts and the PHP Community
- Model Driven Architecture and Domain Driven Architecture are the new-to-be trend for architecture creation methods
- The most used architecture styles are dominated by Object-Oriented Programming (OOP), Model View Controller (MVC) architectures and partially Service Oriented ones
- Use of whiteboard, pencil and paper are the seemingly major tools in the default tool set of PHP software architects though UML is used mainly during collaboration
My Last Words.. Lets Get A Bit Biased
This survey also stressed on some limitations, but I guess I will leave that to your PDF read 😉
I would like to say that I think the survey should have at least named or made it clear as to what were those ‘PHP experts’ who actually took part in the survey, idem for the ‘PHP community’ – why?
Because what might appear as experts for a group, might not be sufficiently acknowledged by another; just ‘many years’ of experience not necessarily tags them as experts.
As for the Community, it is vast – if you contribute or you develop in PHP, that makes you part of it too, so who were those people considered as being The PHP Community? Was it the actual body behind the progress of PHP, was it the Zend team, was it just some day-to-day PHP developers/contributers ?
Feel free to voice your views below..