News Feed
Jobs Feed
Sections




News Archive
feed this:

Looking for more information on how to do PHP the right way? Check out PHP: The Right Way

The PHP.cc Blog:
Disintegration Testing
March 20, 2014 @ 10:20:25

In this new post on thePHP.cc blog today Sebastian Bergmann relates the unfortunate disintegration of the Mars Climate Orbiter (back in 1999) back to a lesson on software testing and errors.

One of the most important tasks in software testing is to find the smallest scope in which a test case can be implemented. The smaller the scope in which a test is run, the faster it can be executed and the more precise its result. Unit Tests exercise one unit of code in isolation from all collaborators. Integration Tests verify the interaction of two or more collaborators in isolation from the rest of the system. Edge-to-Edge Tests run the software as end-to-end as possible in a single process (and without using a web browser or a web server). End-to-End Tests, or System Tests, look at the whole system and in the case of a web application send a HTTP request from a web browser to a web server running the software to inspect the HTTP response that is sent back.

He talks some about the difference between unit tests and acceptance tests and how "easy and seductive" functional tests can be over unit testing. He points out how fragile (and sometimes slow) this can be though, and how their failure only shows a problem and not where it is.

The promise of being able to develop both the business model as well as the software that implements it in an agile fashion should be reason enough for enterprises to invest in a modern, highly decoupled software architecture. And when the members of the software development team communicate well, both among themselves and with the other stakeholders, then there is not much that can really impede the success of the project.
0 comments voice your opinion now!
unittest functionaltest testing software nasa orbiter

Link: http://thephp.cc/viewpoints/blog/2014/03/disintegration-testing

Jonathan Hill:
How much does it cost to be a web developer?
March 14, 2014 @ 11:17:48

Jonathan Hill has taken an interesting perspective in his recent post looking more at some of the average financial costs around being a web developer.

With Software Development topping 2014′s top jobs list, I thought I would share how much it cost me to become a web developer, and what my monthly expenses look like nowadays.

He breaks it down into a few different categories, listing an average price for each:

  • Initial (start-up) costs for hardware and software
  • Training costs
  • Recurring costs

Obviously, not all of the software and tools he lists are needed for every software developer, but it does give some perspective. Thankfully, he also links to some free alternatives to the tools he mentions that can reduce these costs as well.

0 comments voice your opinion now!
cost developer average hardware software service

Link: http://jonathonhill.net/2014-02-19/how-much-does-it-cost-to-be-a-web-developer/

Coding the Architecture:
Five things every developer should know about software architecture
March 05, 2014 @ 11:57:58

While not specific to PHP, this new article on the Coding the Architecture blog gives some good insights on what developers should know about software architecture.

Now I may be biased, but a quick look at my calendar hints to me that there's a renewed and growing interest in software architecture. Although I really like much of the improvement the agile movement has provided to the software development industry, I still can't help feeling that there are a large number of teams out there who struggle with a lack of process.

[...] Put very simply, software architecture plays a pivotal role in the delivery of successful software yet it's frustratingly neglected by many teams. Whether performed by one person or shared amongst the team, the architecture role exists on even the most agile of teams yet the balance of up front and evolutionary thinking often reflects aspiration rather than reality. The big problem is that software architecture has fallen out of favour over the past decade or so. Here are five things that every software developer should know about it.

Each of the five things comes with a paragraph of explanation (and some links to additional resources):

  • Software architecture isn't about big design up front
  • Every software team needs to consider software architecture
  • The software architecture role is about coding, coaching and collaboration
  • You don't need to use UML
  • A good software architecture enables agility
0 comments voice your opinion now!
software developer tips top5 architecture

Link: http://www.codingthearchitecture.com/2014/03/05/five_things_every_developer_should_know_about_software_architecture.html

Cal Evans:
Let's be honest...
January 28, 2014 @ 10:50:17

Cal Evans has posted a sort of "call to arms" for the developers out there, asking them to be more honest with software estimates and think realistically about the project and its complexities.

As developers, we see projects not as a job that must be done, but as art that can be created, as a project that needs to be crafted. It's not a spreadsheet of numbers to us, it's a sketch on a napkin of something we want to build. As such, we see the big picture, but miss the details. So when we tell a customer/client/family member "Yeah, I can build that this weekend". In our mind, we mean it. We honestly think the project is simple enough to be built in a weekend. It rarely is though.

He goes on to talk about some of his own experience with the "just a weekend" claims and the over-promising that comes easily to devs. He suggests a few things to link about as you're estimating your next project - can you actually do it (not a "learn on" project) and thinking about when it will be done based on availability, not just desire and work in isolation.

0 comments voice your opinion now!
honesty software development estimate opinion

Link: http://blog.calevans.com/2014/01/27/lets-be-honest/

SitePoint PHP Blog:
Continuous Deployment Revisited
September 19, 2013 @ 12:52:50

On the SitePoint PHP blog today David Shirley has a new tutorial looking at continuous deployment with a bit more detail than his previous post.

In an earlier article I talked about what Continuous Deployment was and how it fits into the modern programming process. We took a small swipe at how it works, but some people (okay, one person) felt that I could have gone into more detail and they were right. [...] The essence of Continuous Deployment is that you use automated tools to do a lot of the heavy lifting. This means there may or may not be a bit of a learning curve when you first get started. A number of software elements are brought into play, and if you already know how to use those, great. If you don't, just remember that this is a learning curve, not a barrier.

He's broken down the rest of the tutorial into sections relating to the different pieces needed to effectively set up a continuous deployment (CD) system:

  • Effective use of version control
  • Commitment to automated testing
  • Setup and use of automated build software
0 comments voice your opinion now!
continuous deployment series detail versioncontrol testing build software

Link: http://www.sitepoint.com/continuous-deployment-revisited

Anna Filina:
Full Test Coverage is Impractical
May 23, 2013 @ 12:06:34

In her latest post Anna Filina proposes that full test coverage is an impractical way to measure the quality of your software. It can provide a false sense of security, even if the tests are poorly written.

Many developers claim that to achieve high quality software, developers must create automated tests that ensure that all possible execution routes have been covered. This is also known as full path coverage. I will argue that different types of software require different testing approaches and that full path coverage is impractical in almost every case. Too many tests simply create clutter.

She looks at how it's impractical to expect that all tests will be written efficiently or even correctly. Even simple tests are enough to show up on code coverage reports but may only be painting part of the picture. She also notes that not all software can be tested the same way - things like APIs require different testing skills/methods than something like consumer software.

In the end, there are no exact rules on how much to test. The most important thing to keep in mind is that writing tests for the sake writing tests is futile and costly. [...] Focus on building great software. Tests are a tool to make it better. Just don't overdo it.
0 comments voice your opinion now!
full testing codecoverage quality software impractical opinion

Link: http://annafilina.com/blog/full-test-impractical

iBuildings Blog:
Verifying out software with OWASP ASVS
April 02, 2013 @ 12:20:19

On the iBuildings blog today there's a post from Boy Baukema about the use of the OWASP ASVS to help provide a framework of questions to ask about your application to help find any application security "pain points."

When a customer commissions Ibuildings for a new application, he usually has plenty of functional demands. [...] And maybe some thoughts have been given to performance metrics, but security? Well… it "needs to be secure". [...] It is said, conveniently enough mostly by software engineers, that building software is perhaps the most complex activity humans have ever undertaken.

He notes that "security is not a checkbox, it's a dropdown" and should be continuously considered continuously through out development. The OWASP ASVS provides a structure that a development group can follow to test the security of their application. It defines 4 types of testing/validation and fourteen other topics to consider.

While ASVS is a wonderful addition, it has it's issues: verification and reporting can take a significant amount of time and validation rules are not specific enough to use the tools and techniques.
0 comments voice your opinion now!
owasp verify software asvs standard questions security application


thePHP.cc:
Software Development Fluxx
February 15, 2013 @ 09:06:57

If you've ever played the card game "Fluxx" (or are familiar with the ever changing rules behind software development) you can release to this new article from Sebastian Bergmann. He makes a link between the "Star Fluxx" card game and how OOP and encapsulation help make changing things easier.

Star Fluxx is a science-fiction-themed version of Fluxx, "a card game [that] is different from most other card games, in that the rules and the conditions for winning are altered throughout the game, via cards played by the players." (Wikipedia) When I heard the description of the game on the aforementioned episode of TableTop it reminded me of software development projects. Changing business rules and requirements (rules and the conditions for winning), probably sounds familiar to you, too.

He talks about how the game could be implemented effectively in OOP classes and interfaces - and how this structure would make it easier to make changes. A largely procedural codebase, however, would make the task much more challenging. The analogy breaks down a bit when it gets to the competitive nature of the game and how software development should be collaborative instead, but it's still effective.

0 comments voice your opinion now!
fluxx software development game testing oop encapsulation


Reddit.com:
Building software from scratch vs learning a framework, before applying to jobs
February 13, 2013 @ 12:17:32

On Reddit.com a user has asked a question about frameworks versus writing things from scratch - which would provide them with more advantages in the future?

When applying for PHP jobs would it be more advantageous to have made your own software without the use of a framework? I'm starting a portfolio of projects and I'm unsure whether to stick to one framework and learn it well, use a variety of them, or also try building software from scratch. Which would look better to a prospective employer? or does it not matter too much? (considering I'm talking junior roles)

Recommendations from the comments including things like:

  • "Making your own software is always a better qualification. Because doing your own frameworks means that you understood the general concept of frameworks. But it doesn't hurt to be familiar with the big ones"
  • "It doesn't matter. Show that you know how to write good quality code."
  • "Frameworks change, the language doesn't. With a good understanding of the language itself, you should be able to pick up any framework fairly quickly."
  • "I think you need to know enough of the underlying language to understand what the framework is doing for you. Typically that comes from folks rolling their own framework for awhile"

Read the rest of the comments (or make your own contribution) on the full post.

0 comments voice your opinion now!
reddit opinion framework software learn


Eran Galperin:
The Real Cost Of Software Development
February 01, 2013 @ 10:40:39

Eran Galperin has a new post to his site today talking about the real cost of software development, how it's more than just time spent hands-to-keyboard.

If you are a first-time entrepreneur and likely someone with little experience with software development, the chances of you successfully directing the development of a product on your own, are slim. [...] In software development, too often vision holders hand off a "vision document", i.e. "The Specifications", to a developer and expect him to translate it to the finished product they have in their mind. Most software developers or graphic designers are simply not fit for that role - they do not have the experience, skills or vested interest in transforming your vision to an actual product.

His examples revolve around the idea of outsourcing the development to another group, but a lot of the concepts still apply to in-house development too. He talks some about the idea of "you get what you pay for" when it comes to quality and how much you're willing to pay. He then gets into one of the hardest questions when dealing with development - how to find good developers. He mentions several things that need to be a part of that relationship like trust and good communication.

0 comments voice your opinion now!
cost software development opinion outsource developer quality



Community Events











Don't see your event here?
Let us know!


overview podcast facebook introduction application security symfony2 package hack unittest language series opinion release component framework install composer hhvm dependency

All content copyright, 2014 PHPDeveloper.org :: info@phpdeveloper.org - Powered by the Solar PHP Framework