The specialists of the FlexCoders team have been developing web based applications for their clients since before 2000. From structural procedural programming and waterfall designs in the early days to using Scrum and Agile development methods and the latest in PHP frameworks.
Working with us
Working with us starts with an intake. We like to see what your business is about, and what drives it. We like to understand the business processes that the application has to support. This allows us to put ourselfs in your shoes while we design your application, avoiding costly rework later on in the project.
We work using the process of iterative development. We have developed our own methodology, based on elements of the Agile Development methodology Scrum. We have adapted the different parts into our project management and development process because we believe they are the best way to deliver an application that actually meets (or even exceeds) your specification.In a nutshell, Scrum works as follows:
- A product owner (the client, so that is you!) creates a prioritized wish list of tasks called a product backlog.
- During sprint planning, the development team pulls a small chunk from the top of that wish list, a sprint backlog, and decides how to implement those pieces.
- The team has a certain amount of time — a sprint (usually two to four weeks) — to complete its work, but it meets each day to assess its progress (daily Scrum).
- Along the way, the ScrumMaster (the project manager) keeps the team focused on its goal.
- At the end of the sprint, the work should be potentially shippable: ready to hand to you, put on a store shelf, or show to a stakeholder.
- The sprint ends with a sprint review and retrospective.
- As the next sprint begins, the team chooses another chunk of the product backlog and begins working again.
You, the client, are in constant control of the product backlog, you are in full control of the project, its milestones, and its cost. At all times.
To open with a tough one: we don't do fixed-price projects.
The reason behind this is very simple, in the nearly 30 years we've been involved in application development, we still have to see the first project that is scoped perfectly from the outset, with all the requirements known and documented, all the technical challenges sorted out, and without a single change while the application is being developed. In reality the opposite is true. Usually, a development project starts with the simple statement "I need an application that does this and that". After some discussion the basic requirements are known and development begins. After that requirements change, new requirements are added, priorities shift, and technical challenges that weren't there in the beginning emerge. Our development process is fine-tuned to capture all these changes as they happen, and gives you full control over prioritizing these new requirements.
So, what then?
Simple. We will bill you at the end of each sprint, after delivery of the results of that sprint. We work and bill you on an hourly rate. Rates depend on the skill level of the people working on the project, which we will communicate with you before the project starts.