We’re always told that, in order to be a great app development company, we should deliver a top quality product at or under budget. We’re advised to aspire to both meet and exceed what the customer expects of us. In a technology based agile environment, and with projects that require constant customer feedback, this is easier said than done when you are under budget. It is also easier when you have time with some wiggle room to iterate and adjust. On the other hand, it is difficult when you are over budget. It is also increasingly difficult when you are both over budget and don’t have extra time. How do you manage customer expectations under such constraints? Truth be told, there are multiple things you can do, and multiple ways to approach the situation. Here’s one such experiences at BKLYN.
We recently worked on a project that was meant as more of a proving ground for us and a favor to our charming client. This project was bargain bin priced with a very tight schedule. Instead of two week scrum based iterations we used one week iterations. We thought this would allow us to quickly meet and exceed the customer’s visions for the project. Our schedule was setup as follows:
- Week 1: Design and deliver design assets
- Week 2: Begin development of a backend portal and initial App design
- Week 3: Finalize backend portal and begin working on rest API. Additionally deliver a test version of the App t the client
- Week 4: Refine the App and test again with the client before delivering the App assets and submitting to App stores
Week 1 & 2
Week one went well. We iterated through design and communicated regularly with the client. At the end of week one we were supposed to deliver design assets. This didn’t happen and we found ourselves in week two of design. By mid-week we received word from the client that they did not like our design direction and rather wanted us to beautify their original designs. This was our first lesson: Learn, clarify and understand what your customer expects you to do and understand how involved in the process they will be.
Week three also started well enough. We were able to complete the database schema, backend portal and API. The client was happy with this progress, despite us being a week behind. During this time the client also requested additions and changes to the core app which were not previously discussed. Due to the tight deadline and current progress we had to politely explain to the client the original project scope, the current restraints and further clarify what they expected functionality wise. We were able to address this politely, with concessions for after delivery support of certain features. Second lesson: Expect scope creep and be ready to handle this in a polite, timely and professional manner.
Week four found us working hard to deliver a testable version of the App, as well as getting ready for App store submissions. Our first hurdle was understanding potential delays in the submission process. Did you know that it could take at least three weeks to get your app approved on the iTunes App store, and that’s if it doesn’t fail certain requirements? We did as well but needed to communicate this to the client. Our process here was to refine the App as much as we could while working on the submission process. Third lesson: Don’t underestimate factors outside of your control. Be prepared to adjust and work with the client on a proper solution.
The journey with this project still continues; however, some valuable lessons were learned and will be applied to future projects. In order to deliver top quality results we have to manage customer expectations by setting the right time frames and budget, staying within project scope, understanding the client role and involvement and compensating for factors outside of your control. We might actually take on some more one month projects in the future to test our flexibility and ability to work under pressure.