Greetings to all the readers of the Mentalstack blog.
How often do you hear such questions from a developer: “What should I do now?”, “When will we have the release/build?”. Also a QA can ask: “How should I test that?” or a client may wonder: “With whom can I discuss this?”, “How does my application work?”.
Such questions indicate that the work on a project is not entirely transparent. In order to get a high-quality product the team work should be well coordinated. This can be achieved in many ways. Perhaps, many of you heard about Agile, a flexible approach to the software development, about such methodologies as SCRUM, Kanban, etc. However, I guess, its not a secret to you, not so often they are used as described in the books.
Mentalstack decided to work out its own methodology for "transparent" project management which as we think provides unified project vision, simplifies understanding between everybody interested in the project, from client to QA. The idea is to make development process simple and easy to grasp so that even a newcomer can be engaged in any project with minimum effort. We tried to visualize development process and took Kanban principles as the basis: divide work into tasks, use marks to indicate task status during development, restrict operations that are executed simultaneously on each stage of the development.
We also divided work into time intervals called sprints, which are used in SCRUM. This process is implemented quite successfully in task managers, which use Kanban principle of boards and cards, which in its turn reduces number of tools that can be used for this approach. This equally enables to monitor smallest changes in the project in online mode thus allowing to make quick decisions and respond to these changes.
A sprint includes a group of tasks, upon the completion of which a functional step-up of a software product – release - is created. Usually a sprint lasts from 1 to 4 weeks. From my point of view the shorter the sprint is, the more flexible the development process becomes, releases are issued more often and we receive prompt feedback from a customer and thus don’t waste time working in the wrong course. The main procedure in working with sprints is basically the same as with tasks.
The source information is separate customer requirements that are analyzed to set tasks. In the end of a sprint all the tasks completed within it are tested. Along with that we also carry out a regression testing of the whole project to make sure that adding a new functionality didn’t influence the previous work. Project lifecycle as you already guess consists of sprints. The functionality is built up, tested and a client gets as a result the desired product – web, mobile or desktop application.
As we think all the above-listed methods provide complete understanding and use of a project for all its members. If you have any questions left, you are welcome to ask via email mailto:firstname.lastname@example.org or write me in Skype: igor.zorich.
The biggest dream of a customer is the approach Develop Once – Run Anywhere that means that you pay once for the development and get an application for three platforms at once: “Windows”, “Linux”, “Mac OS”.
Finding a web or mobile app development team is not that difficult, it is finding the right one for your business that can be tricky. The right partner can add value in more ways than just development, which will help you to maximize revenues for your app business. Furthermore, save you from some fuss later on, as a warranty comes with every single app they craft.
From the moment when micro service architecture appeared, people increasingly notice its similarity to service-oriented architecture (SOA). In fact SOA was ahead of time and at the height of its development wasn't so popular with software developers. What are the advantages of micro service architecture?