Category Archives: Project Management

Fixed Budgets: A Missed Opportunity For Greatness

Working with fixed budgets, or by project, is a common practice in the IT world that I too endure as a consultant. However, from my point of view and experience, an R&D software project with a fixed project is a missed opportunity to create a great result with great value and, moreover, it can compromise quality. In this article, I’m going to explain why.

The Project Management Triangle is well known in software project management theory as a way to represent the constraints a project may have. On its corners, time, scope and budget (or schedule, scope and cost) shape the boundaries of the project, and quality is a by-product of the combination of these.

Continue reading Fixed Budgets: A Missed Opportunity For Greatness

Testing your web application in just 3 steps

It is generally known as a best practice to have automated tests for your web application, which not always is an easy nor cost-affordable task. I have recently used BugBuster, a SaaS testing platform that makes the task easy by providing a solution that does exploratory testing in a smart way.

BugBuster‘s heuristic will crawl around your web application reporting JavaScript errors, missing resources and HTTP error messages; besides, unlike regular crawlers, it will try random combinations whenever it finds an action point: clickable buttons or links, text fields to fill, areas to scroll, and so forth. It is even able to test signup and confirmation emails, and integrates with common CI systems and bug tracking applications.

Some of the most interesting features of BugBuster are:

  • Smart exploration: it discovers actions and walks through the application trying combinations that may lead to corner cases that weren’t covered by regular test cases.
  • Time-insensitive: BugBuster waits for stable states between actions, so that dealing with AJAX features is as easy as chaining events. Say goodbye to random waits in your test code.
  • Signup forms and validation emails: BugBuster can receive automated emails and check whether your signup or other email-based forms succeed or fail.
  • Nearly-zero setup effort: it is a SaaS platform, they put the infrastructure at your service; you only have to write the test cases.
  • And many others.

In this post I will show how easy it is to test a web application with BugBuster- whether in production, staging or development environments, it can also access your local and private environments thanks to a SSH tunnel. If you want to try it yourself, you can start by creating an account here if you haven’t already, and log in to the BugBuster application at To illustrate the example, I will test my own blog website.

Continue reading Testing your web application in just 3 steps

Engineering principles for web applications

Since I work as a web developer, I have noticed that basic engineering principles are not always being consistently applied to web applications design, architecture and development. I am talking about modularity, black-box design, documentation and quality assurance, among others.

Continue reading Engineering principles for web applications

Scrum / agile development

Some resources and useful information about this development technique:

Continue reading Scrum / agile development

Managing a web development project

There are many types of websites, as well as sizes and complexity. At the beginning, most of my creations were constructed ‘on the fly’, without much planning – in the end, a ‘news’ module is not scary enough to need a project.

But recently I’ve started working on more ambitious jobs (like, and feeling the need of a strongly defined method to apply to web applications design. Some tools are almost mandatory, like Use Case Diagrams which become really helpful in order to translate what every user can do into ACL‘s, methods, controllers, etc; or like modeling tools to graphically represent the application’s database.

But the best way – according to my experience – to successfully manage a web project is following a detailed planning. Determining what the steps are and what order should they be executed in, is a good starting point to know were exactly we are on each development stage.

Continue reading Managing a web development project