How can you ensure you will achieve a successful outcome quickly with good value for money? Futurice has performed Bayesian statistical analysis of project success factors using modern mobile and web technologies and our own Agile working methods.
Our recommendations for you, as a customer participating in the development project, are summarized below. These are grouped by how you can influence different aspects of the outcome.
Key Success Factors
As a customer, you are more likely to be happy with the outcome when
- You work with the team to make them really understand your service
- The schedule is not overly optimistic
- New technologies were not adapted into the project
The project will go as expected when
- There are no external partners, factors or unknowns that can change the project midstream
- You and the team have work together to share your expectations on the outcome
- The project has a clear focus and scope
The resulting product or service will be good when
- You define very clear goals for the project before we start
- You have worked with technical product or service development before
- You work hands-on with some aspects of the project along with our team
The project will be completed in budget when
- The project schedule is relaxed
- You have worked with technical product development before
- The project does not have unknowns and external dependencies
- The project is arranged as one larger project run continuously rather than a series of smaller projects which stop and start
Practical Steps For Getting It Right
The statistics can help us predict which projects will succeed in which areas. Additionally, we have developed own working best practice recommendations. When possible, these should be in place at the start of the project to create the preconditions for success.
- If the product to be developed is based on an existing product, provide the complete working model to the team. Take an inventory of any areas that are missing or not yet working and carefully schedule when the associated unknowns or external factors will be cleared and ready.
- If you are providing the user interface, have a nearly final design ready as 1 or 2 documents before work begins. Delays and changes in external designs are a common cause for delays and poor project satisfaction.
- If you, Futurice or a 3rd party is providing a server which is not yet complete or has recently changed, have the server team create a single web page where every server function can be individually tested at any time by the server team, you and Futurice. Incomplete features should also be listed here, clearly indicating what is working at this moment and what is still to come. This high transparency for all parties about the current state of the server clarifies communication and focuses any parallel development toward fixing critical path dependencies.
- Meet the team to kick off development with high spirits and shared expectations. Schedule weekly or more frequent updates in advance, and provide prompt feedback or necessary support to keep things moving smoothly and in the right direction.
- Plan for and provide the team with your best guess of the product lifecycle, including future updates and additional uses.
- Do not try to achieve everything with the first release of a product or service. Do first things first, keep it as simple as you possibly can, and once it is in use immediately continue to the next release based on what you have learned.
- Relax and enjoy the process! As a team we should have fun together along the way, with clear and open communication and a bit of humor to lighten each day.
We hope these help you achieve success with future software development projects. If you have any feedback or suggestions for our approach, your thoughts are very much appreciated.
Head of Mobile Development