Tuesday, August 17. 2010Scalable Systems, Part 2: ProcessesThis blog series discusses scalability from three distinct perspectives: people, processes and technology. If you haven't read the first part yet, we recommend you read it first before continuing with this post. Processes are critical to scale. They cover and assist all the different stages of software development, from the early phases (planning, design), to implementation, to putting the software into production and maintaining it. Any activity is ultimately risky, and being able to understand the potential risks and gains is essential when growing your business. When the user load is growing and adding more resources to the existing system is no longer enough, the first step usually consists of redesigning the system. As in every journey, it's good to know both the start and the destination first. So before starting any architecture or software redesign, you need to understand what the current state is. Calculating the headroom of your current system is a process that involves determining the current usage and the free capacity of each component, and measuring it against the expected growth. This will give you a better idea of the time remaining before service degradation or outages, as well as help identify the real bottlenecks of the current architecture. Continue reading "Scalable Systems, Part 2: Processes" Wednesday, May 26. 2010Valuing AgileIt's not too hard to sell someone on agile, whether internally or between organisations. Almost every objection from a traditional project perspective can be countered by the flexible change process, and the potential for better results, and ultimately lower costs. However, at best this creates passive acceptance, which is just about enough for someone not directly involved in a project, but can cause a project to become massively unstuck if that person is a dependency. It is also a fragile acceptance - if a project goes awry, then the merely accepting person is likely to start pushing back towards traditional methods, to the detriment of the project. The eventual failure then reinforces any existing reservations towards agile. What agile needs to succeed in is understanding and support, and that requires a difficult mental shift - viewing work in terms of business value. Even experienced agile practitioners can get bogged down in implementation, and forget the why of what they are doing. This is because our experience teaches us to think in terms of problems and solutions, and to prefer the better known to the unfamiliar. We get so focused on building software we don't stop to think whether it does what we really need. Ryan Shriver describes this as not knowing the difference between "delivering things right, and delivering the right thing". Continue reading "Valuing Agile"
Posted by Ian Barber
at
10:28
| Comments (0)
| Trackback (1)
Defined tags for this entry: agile, agile development, business, development, enterprise, methodologies, methodology, project, project management
Tuesday, May 11. 2010New White Paper: 8 Tips for Avoiding Vendor Lock-inVendor lock-in makes companies unable to switch suppliers without substantial costs or inconvenience. While standards bodies and an increased focus on interoperability have helped reduce the threat of application lock-in, website and web application development can still be a minefield. Often, site owners only realise the dangers of lock-in once they are trapped with rising support and maintenance costs, slow and expensive change processes, and the prospect of prohibitive costs to develop an equivalent solution from scratch. In this white paper, Ian Barber, one of the technical consultants in Ibuildings' Professional Services delivery unit, looks at eight ideas that can help companies avoid vendor lock-in:
Following these guidelines, it is possible to realise the benefits of working with external suppliers without fear of lock-in. Download a PDF copy now (free, but we ask you to leave your contact details)
Posted by Soila Patajoki
at
11:43
| Comments (0)
| Trackbacks (0)
Defined tags for this entry: development, outsourcing, technology choice, vendor lock-in, white paper
Friday, April 9. 2010Migrating a dev team to an OO team (Part 2)
It's been nearly six months after my initial post on converting procedural teams to Object Oriented teams. After reading all the insightful comments on that post I've compiled a list with 10 steps to migrate your development team to an OO development team successfully.
With these 10 steps you are able to successfully migrate your team from a procedural team to an effective OO team. Read on for a detailed explanation of each step. Continue reading "Migrating a dev team to an OO team (Part 2)" Tuesday, March 16. 2010New white paper: Continuous Integration
The main concept behind Continuous Integration, as described by Martin Fowler, is simple: "Every developer checks in their code, every day." Adopting this policy allows teams to improve the quality of the software they deliver, as well as increases the ROI of the team by reducing the cost of developing internal software.
This new white paper discusses the policies and systems that together make up Continuous Integration. It explains how Continuous Integration can allow your teams to build projects faster and cheaper, and also covers several best of breed tools for PHP-based companies to use to implement such a system. Download a PDF copy now (free, but we ask you to leave your contact details) Thursday, August 14. 2008Is PHP an Agile Programming Language?In raising the question about whether a specific programming language is agile I want to avoid exploring what makes a language agile, or comparing PHP with other languages. The intention here is not to associate PHP to agile as a natural relationship, as much as to try and understand if we can find the ingredients in the PHP world, for creating an agile environment. Continue reading "Is PHP an Agile Programming Language?" Tuesday, August 12. 2008The definition of evil
Recently a colleague stated that in theory, caching could be considered 'evil'.
Now 'evil' is a very broad term which is used a lot in the IT community, but what does it really mean when we're talking about technical solutions? I asked around, but couldn't find a clear cut definition, so I went searching... Continue reading "The definition of evil"
Posted by Boy Baukema
at
16:11
| Comment (1)
| Trackbacks (0)
Defined tags for this entry: best practices, browser, caching, development, evil, optimization, performance, scalability
Thursday, May 15. 2008Intimate PHP Seminar
So we decided that in order to get to see all the people who are interested in PHP leadership topics, we should run an intimate seminar and invite our contacts along. If there is demand, we could run these every month. Here is the invitation that went out:
Free Seminar: Enterprise PHP and Zend Title: Enterprise PHP and Zend Date: 10th June 2008 Time: 9:00 - 13:00 Location: King's College London (Hodgkin Building, Guy's Campus Speaker: Ivo Jansch, CTO of Ibuildings and leading PHP expert Continue reading "Intimate PHP Seminar" Friday, May 2. 2008The Power of Refactoring"Code refactoring is any change to a computer program's code that improves its readability or simplifies its structure without changing its results." - Wikipedia I've met quite a bunch of developers that felt refactoring was a waste of time. "Why would you write code only to change the code at a later point? Why not just write the code perfectly in the first place?" or "You're writing code for the same functionality over and over again, isn't that a waste of time?" I hope to prove to you that there is much power in refactoring, but with power comes responsibility. Continue reading "The Power of Refactoring" Saturday, March 15. 2008ATK's hidden gems, part 2
ATK contains lots of hidden gems. Most of them are hidden because they are undocumented or because they are only documented in the API docs (which nobody seems to read...). In the past few years we've tried to improve the documentation for ATK. We've created a Wiki with lots of how-to's, the "Pizza Guides", a demo application and improved the API documentation. However there are still some features of ATK nobody seems to know about.
In this second iteration of the "ATK's hidden gems" series we will look at a largely unknown feature of ATK's record actions. Continue reading "ATK's hidden gems, part 2"
(Page 1 of 3, totaling 26 entries)
» next page
|
Blog
