In the case of IT projects, Scope Creep (coming from the owner's site) and Gold Plating (coming from PM, Scrum Master or developers) are the popular threat. Uncontrolled changes in the project, adding new functionalities or introducing changes undoubtedly belong to threats that affect both efficiency and speed of projects. In the past we had an opportunity to cooperate with such startups and larger corporations as Livenation / Ticketmaster, Stroer or Agora (the largest media group in Europe). During this time, I coordinated many IT projects - especially those ones related to software development. This experience allowed me to understand that it does not matter if you work in a small or large company: if you want to succeed, you must be one step ahead of your competition.
I would like to share my insights on effective development of software development projects. As CCO at Codest, we implement projects every day for global companies around the world. The right approach to management is the first key stage that later influences the project's success. I distinguish four basic principles, maintaining which allowed us to develop a truly effective management model. Thanks to them, we avoid later problems - including those related to the creep and gold planting 'scope. Here they are:
1. Methodologist. Regardless of the project’s size or the level of its advancement, we always implement an appropriate methodology that will allow us to manage the project in a manner consistent with the Agile approach. In this case, the Scrum methodologist helps us. And due to that, we have all the stages of the project under control. Each member focuses on strictly defined tasks. In this way, we avoid unnecessary distractions and maintain maximum efficiency of work.
2. MVP. It can be called our main principle. If you want to create an application, do it, but in a very basic range. You will save time and avoid risks of budget burnout. The initial vision of the product is often verified and changed later. The client over time may change their mind concerning the required features of an application, which, in turn, generates unnecessary costs and extends work.
The MVP approach works pretty well. We create an application that has, for example, 20% of all functionalities, but is already capable of verifying its value on the market. In this way, the customer receives feedback from users and knows what features their product should have in order to be effective. Then we focus on the development of these elements. A great reflection of this process is the graphics attached below:
3. Testing. Testing of individual application functionalities is directly connected with MVP. In case it turns out that something does not work as it should, you’d better reject it and look for an alternative solution. At Codest, we have met customers who, from the very beginning, from imposed the final shape of an application and were sure that this is the only right vision. I would like not to elaborate on the further effects this approach took. That is why I see this as necessary to emphasize once again that simplicity is the key to success.
4. Development. The construction of the application should begin with UX, Design, Backend and Frontend. In short, everything starts with the simple "must have" tasks that make up the MVP product. After this development phase is reached, you can focus on the development of the functionality called "nice to have".
In my opinion, these are four basic principles that are great for managing software development projects. This approach reduces risks of unnecessary distractions, longer working hours and cost inefficiencies.
Finally, let me give you one more example. Some time ago we received a project specification from a customer. We immediately joined the team to evaluate it. The client expected us to create the product within twelve months. According to our approach, we proposed an MVP approach and a three-month development period. In the end, we managed to convince the client. After a few months, they were impressed with the solution. The customer received their working product in a relatively short time. In the case of several functionalities, they decided to change the project assumed at the very beginning.
The model that I described in this article is our way how to successfully implement software development projects. Believe me, this solution not only improves the work and makes it effective, but, as a result, helps to avoid the scope of creep and gold plating.