In: Computer Science
You are now the manager of a small team of software engineers. Some of them are fresh graduates, while some of them have a few years of working experience in the field. You are tasked with producing a small experimental FinTech (Financial Technology) mobile application. You will need to publish on both Android and iPhone platforms. You are adopting an Agile methodology, with emphasis on Test-Driven Development and extensive automated tests. The concept behind the application is very innovative, so design is constantly changing.
Your team consultant, William, believes the team should spend less time on planning and more time on producing first prototypes, and then revise our design based on further feedback. Do you agree with his approach? If yes, which practice in Agile methodology is in agreement with this approach?
Ans. Yes, I agree with William's approach based on Agile methodology of spending less time on planning and more time on producing first prototypes for FINTECH MOBILE APPLICATION as an Agile methodology has been introduced as an attempt to make software engineering more flexible and efficient. This methodology takes an iterative approach to software development. Unlike a straightforward linear waterfall model, agile projects consist of a number of smaller cycles known as sprints. Each one of them is a project in miniature as it has a backlog and consists of design, implementation, testing and deployment stages within the pre-defined scope of work.
At the end of each sprint, a potentially shippable product increment is delivered. Thus, with every iteration new features are added to the product, which results in gradual project growth. With the features being validated early in the development, the chances of delivering a potentially failed product are significantly lowered that's why this approach is most recently used in modern app development as we see in our day-to-day life many apps are getting launched on Playstore they take feedback from users and continuously work on app development and relaunch updated versions of these apps from time to time according to users' need.
Below diagram portrays working of agile software development methodology:
In a wide sense, Agile itself has a vast set of methodologies which contain various features for implementation according to the requirement as quoted below:
So, Lean methodology well defines William's objective as :
Lean allows companies to follow a minimum viable product (MVP) development technique. It includes a deployment of a product with a minimum, sufficient set of features to satisfy early users. The idea of the MVP strategy is to gather and analyze customer feedback to know if they like this product and want to buy it. Knowledge of customers’ habits, tastes, and needs is the key to producing commercially successful products. Developers use feedback to create a roadmap for future development.
Lean works well for small, short-term projects due to their short life cycles. This approach is also appropriate if the customer can participate in a project realization as Lean requires ongoing feedback. Another important condition to the adoption of Lean is the whole team should work in one office to enable communication.
For example, for FinTech app, freshers must give the ideas, collect information about the present trend and technology we have and what we can afford and other requirements. Experienced persons should understand their ideas and develop the app using their views too. Freshers should be involved in work and technical support, monitor feedbacks, tell experienced ones so that they should fix issues, add new features and relaunch it.