This is the when the magic begins. The all-important planning has been completed, and the team can now start bringing the plans to fruition. That team includes you. If you want your application to succeed, you need to make the commitment and guide the team along the way, filling in any gaps where they might occur and making key decisions when they arise. With you involvement from the beginning, the project will be well on it’s way to a successful conclusion.
We work on various types of projects, namely building unique custom web applications, creating specialised e-commerce sites or enhancing existing open-source platforms, such as WordPress, Joomla, Drupal or Magento. No matter what type of system or application, we ensure that it is built properly by following Agile development principles. An Agile way of working allows you to maximize your budget and time by building only what is necessary for project success and doing so in small, manageable chunks. It forces the team to focus on the real business value that the system should deliver, and ignore the extraneous features that often cause scope creep.
We follow the best-practices of test-driven & behaviour-driven development, writing tests for the code BEFORE the code is even written and keeping ourselves in check by running through the tests regularly.
|Project||We are commissioned to work with the customer from scratch, or to build on what already exists to achieve a particular business result.|
|Project rescue||A development project has gone wrong due to over budgeted time, badly scoped requirements, defective code, and team disruptions or under capacity. We are brought in to bring the project back on track.|
|Products||We build web-based products (fully or through joint venture) and commercialize, market and sell them (ourselves or in partnership).|
The Agile Approach
Agile software development is a group of software development methodologies based on iterative and incremental development, where requirements and solutions evolve through collaboration between self-organizing, cross-functional teams.
We believe that software projects run in an “Agile” way yield far better business results. Working in an Agile way requires discipline and collaboration, and is fairly difficult for those who are new to the methodologies as some of them mean working in a way that may seem counter-intuitive at the outset.
The most marked immediate differences between Agile methodologies and Traditional/Waterfall methods are:
- Working in far smaller “chunks” or iterations at a time, with retrospectives after each including the stakeholders of the software (end users or representatives).
- Each iteration delivers working software, which may or may not get deployed to a live/production environment.
- Have far more discussions during the development process and being open to change.
- Putting the responsibility for project success on the entire team rather than on individuals.
There are a number of Agile methodologies that have been developed around the principles contained in the Agile Manifesto. Currently the methodology favoured and used by White Wall Web is called SCRUM
We feel that SCRUM presents the best balance between simplicity of implementation, sensible disciplines and proven results.
SCRUM projects consist of a series of “Sprints” (iterations) which are no shorter than 1 week and no longer than 4 weeks. Each Sprint begins with a “Sprint Planning Meeting” where items are taken off a “Product Backlog,” allocated to the “Sprint Backlog” and scheduled for development in that Sprint.
Items in the Product Backlog are ranked according to “Business Value”, “Complexity” and “Effort.” The items with the highest Business Value but lowest Complexity and Effort, are done first as these constitute “bigger win” items from a business perspective.
SCRUM Sprints always result in “shippable software.” The software is shipped (or published) when the business decides that it is a sensible time to do so. SCRUM Sprints cease when “enough is built for the meantime” and resume when more is required.