#Syndicode team
Explore tagged Tumblr posts
syndicode · 7 years ago
Text
Happy Independence Day of Ukraine!
Independence Day of Ukraine is a public holiday celebrated every year on August 24 in honor of the adoption of the Supreme Soviet of the Ukrainian SSR ‘Act of independence of Ukraine’. This date is considered to be the date of formation of the Ukrainian state in its present form. ...
1 note · View note
goodcore101 · 6 years ago
Text
Custom software development process stages
One by one, here I described all development stages for custom software we follow in Syndicode (the agency I work in). Custom software development process stages in details.
In my custom software development handbook, I talked about and shared different nuances to consider before someone hired a dedicated development team to work on a product. In addition to access to the core business data, signing an NDA, and many other non-functional but important issues, you have to understand custom software development process stages.
Custom software development is an iterative process that goes through defined process stages to implement all the required features and reach the desired result. Even if we aim to create a custom product specifically tailored for the specific group of users or an organization, the development process still heavily depends on software development methodology your software development partner follows. (For example, Syndicode follows Agile methodology). But the main iteration stages are pretty similar.
Сustom software development process
includes the next stages:
Analysis and Planning
— a collection of requirements,
— research,
— changes management,
— risk management,
— software architecture.
Design
Development
— backend development,
— frontend development.
Quality Assurance and testing
Intermediate deliveries
Documentation
Maintenance (software evolution)
Reporting
If you’re looking for details, here they are.
Analysis and Planning
Collection of requirements in custom software development is a cornerstone. At this stage, we understand the niche, business values and plans of our client. Whether the client wants to launch a web app for logistics or develop an IoT platform, together we need to go through a Discovery Session. This is a meeting (online or offline) between client’s and developer’s team the main purpose of which is to define a tech stack and product’s features to be implemented. Tech stack for custom software development might contain a bunch of different technologies like Ruby, PHP, NodeJS, GoLang, Python, Swift, Kotlin, Elixir and so on… They are defined according to a technical specification created by software architect or lead developer. Find out the other Discovery Session tasks, key participants, timeframe and results.
Software development research aimed to understand the current tech trends and main characteristics of the technologies meant to be used in this particular project. All the difficulties and best practices count. Apart from the tech side, project manager and business analyst do research about implementation and maintenance prospects. SWOT for current competitors should be prepared as well. After this research, we usually create a plan for the software development process and wait for the client’s approval.
Changes management helps us to prepare, equip for and adopt all the possible changes that might appear during the process of custom software development. Because we might face changes in tech, design, business needs and priorities from the client or even the end-user anytime. Changes management is connected with risk management in software engineering. Here, risk management stands for risk containment and mitigation. We should be ready to act when a risk arises, drawing upon the experience and knowledge of the entire team to minimize the impact to the project.
There are 5 types of risks you can face working in a software development company:
New technologies (that are not tested yet)
Functional requirements There is a risk that the change in elemental requirements will likely propagate throughout the entire project, and modifications to user requirements might not translate to functional requirements.
System architecture Wrong platform, component, or architecture can have disastrous consequences.
Performance Users’ and client’s expectations on performance should be met no matter the changes and failures occurred during the process of product development.
Organizational This risk heavily depends on reliability and professional skills of your software development partner.
Design
If you’re developing a web or mobile application, one of the major things you need to get right is the way your app looks and feels. For example, if your field is eCommerce, a poorly designed app will lose you many potential customers. That is why visual design, your brand identity and user experience of your digital product play one of the most significant roles. I devoted a whole page to describe the purpose of the great UI/UX design, the main terms, history, some examples and processes for design development — read a comprehensive UI/UX design guide.
Development
Backend development handles the functionality of web applications. You can’t see it on the screen but every interaction in the human-computer system is possible thanks to backend development. Backend development refers to the server side of development where you are primarily focused on how the site works. It is code that manages user connections, connects the web to a database, and powers the web application itself.
Here in Syndicode, we work with many different languages for backend development, but Ruby is our language of choice. Ruby on Rails (Ruby’s main framework) backend development helps the workload become easier for the architects and developers through the collection of pre-packaged codes that make the development of the backend seamless and fast. It makes the entire programming a lot speedier and more profitable. As far as most businesses now want to get a web application, I compiled the list of the reasons why Rails is ideal for web app development. And here you can explore the examples of the most famous web applications built with Ruby.
Talking about frontend development I mean everything you can see on the screen. Look, feel and design — that are the 3 main parts generated by code for your digital product in frontend development. Frontend development is focused on the client side of development and responsible for seamless user experience.
In Syndicode, we use JavaScript and its main frameworks like React and Angular (and explore Vue.js as we see a lot of potential use cases for it). Also, we work with CSS and HTML.
For custom mobile development we use Ruby on Rails for mobile backends and RESTful APIs. When there’s no need for heavy effects or computations we use React Native. This technology is beneficial for marketplaces and CRM, or projects where you need just to duplicate what you have on the web and add some geofencing, notifications, and other mobile features. For native development of iOS applications, we use Swift. The same story with Android SDK — we choose it in cases when features could be implemented only in native tech stack. Also, when it’s required in the project, we work with Python, Node.js, and PHP. Also, we are big fans of Flutter.
Of course, the tech stack for custom software development might have every possible configuration, depending on the client’s needs, and we are not bound to one technology just because we like it.
QA and testing
Quality assurance is a set of activities for ensuring quality in software engineering processes. This stage ensures that software meets and complies with the defined or standardized quality specifications. QA is a process that checks the developed software to ensure it meets the desired quality measures.
Software testing is the process of checking developed software for any mistakes or bugs. This helps to validate and eventually verify the product as to whether it is ready for the market.
What is the difference between QA and testing? Put is simply, QA enhances the quality via improvement of the development process and testing enhances it via finding bugs.
Intermediate deliveries
Intermediate deliveries great because they help to provide a fast feedback loop that immediately show developers the effects of their work. Mistakes are fixed quickly, while beneficial changes can be released and deployed to customers without having to wait for a distant future release date. Find the example of continuous integration and delivery with Github, Gitflow, and Jenkins.
Documentation
Development documentation stage encompasses all written documents and materials dealing with software product development. Except for pre-development documentation (where you should describe:
vision statement;
initial assessment document with stages of development;
roadmap;
technology stack;
software requirements specifications;
wireframes and UX roadmap),
you also should add documents created in course of the software engineering process. There are only two main types of them:
coding documentation;
testing documentation.
Also, software development agency must provide post-development documentation that includes:
support papers, and
users manual.
Maintenance
Software maintenance is a continuation of the collaboration with the client to improve, modify and update software product after delivery to correct faults and to improve performance. There are 4 categories of software maintenance:
Corrective — to rectify some bugs detected while the system is in use, or to improve the performance of the system.
Adaptive — to modify and update when the customer needs the product to run on new platforms/operating systems/hardware/software.
Perfective — to support the new features or to change functionalities according to the customer’s demands.
Preventive — to prevent future problems of the software. Some problems might be not significant at this moment but may cause serious issues in the future.
Reporting
Reporting helps us to inform our client about the current stage of development or issues found or solved during the software development process. This is a critical part of effective project communications and management strategy. As in the early stages of development so as in the middle and when the product is released, we prepare a project status report. Also, there is a project management report that includes:
general product info;
status Info;
milestone review;
project summary;
issues and risks;
projects metrics, and so on.
Reporting keeps the client updated to what is happening with the custom software during its development. And reporting generates trustful relationships between a software development company and the client which guarantees transparency and loyalty — the key factors of successful cooperation.
This part of the story was related to the process you’ll go through while developing your product. But there are also aspects a business owner should consider long before the development starts. Such aspects as innovations. To be successful you have to embrace new technologies and hacks available nowadays. Do you want to know what innovations can grow your business and save money?
Thanks for reading!
(Content Source: https://syndicode.com/2019/05/23/custom-software-development-process-stages/ )
0 notes
pedrodelanube · 6 years ago
Text
0 notes
syndicode · 6 years ago
Text
Syndicode at RaceNation!
Syndicode team is very sportive! Last time you could have seen us being prepared for this marathon… And now we did it! On May 11th Syndicode’s team took part in the annual Race Nation run! We ran 5 km with obstacles in mud, climbed high walls and crawled cold ground… Because we can! W...
0 notes
syndicode · 6 years ago
Text
Modern multicultural distributed teams communication
This is a summarized translation of the original material written by Aliona Sokolova on DOU. Here you will find out about peculiarities of the modern multicultural distributed teams communication. From Syndicode’s experience, that’s true! And only high-level of understanding cultural...
0 notes
syndicode · 6 years ago
Text
Watch Syndicode preparing for the May 11th Race Nation run!
Syndicode team claimed to be very sportive! Because health matters! Especially in the modern world with everything made to make a human not move. That’s why we decided to take part in the annual Race Nation run and have already tried what we can during the Training#1 Race Nation on March...
0 notes
syndicode · 6 years ago
Text
Photos of Syndicode team celebrating Christmas 2018
This year Syndicode was happy to meet all together, both Kyiv and Dnipro offices, to celebrate Christmas. We wish you merry and joyful winter holidays with your family and friends! Make the next year special. Enjoy the photos of Syndicode team celebrating Christmas 2018! Join us next year!  
0 notes
syndicode · 7 years ago
Text
Syndicode team playing paintball and riding ATVs!
If you work hard you deserve to have a good rest! Or great outdoor activities! This time our developers were praised by the awesome trip riding all-terrain vehicles and a motivating and teambuilding game – paintball! Watch some photos of Syndicode team playing paintball and riding ATVs!
0 notes
syndicode · 7 years ago
Text
Syndicode team playing paintball and riding ATVs!
If you work hard you deserve to have a good rest! Or great outdoor activities! This time our developers were praised by the awesome trip riding all-terrain vehicles and a motivating and teambuilding game – paintball! Watch some photos of Syndicode team playing paintball and riding ATVs!
0 notes
syndicode · 7 years ago
Text
Table football tournament in Syndicode
Last week Syndicode developers received a table football to start some sports activities in the office. This helps with team building and collaboration skills. But, what is important, we want our developers to feel comfortable and have fun even when they have a lot of work. Because a positive ...
0 notes
syndicode · 6 years ago
Text
Test Driven Development matters
As dedicated professionals, Syndicode team cares about the quality of the product we develop. If you have read 5 software development lessons from Stephen McLean you could like today’s’ topic. And if you didn’t, you will like it too. So, in both ways, it’s worth ...
1 note · View note
syndicode · 6 years ago
Text
thredUP among 6 resale sites that help you make some money
ThredUP is one of the most trusted fashion resale websites for consumers to buy and sell like-new clothing online. In 2017 Syndicode team helped to fill the engineering capacity gap in the thredUP R&D office in Ukraine. Business Insider picked 6 resale services that help you to clean your...
1 note · View note
syndicode · 7 years ago
Text
Syndicode Digest #71 – Digital Slytherin
It’s been a while since our last digest. But since that time we managed to complete several interesting projects, release Ruby guide and move our team of Syndicode Dnipro to the new office in the city center. The one thing remains changeless is our love for tech news and discoveries in...
2 notes · View notes
syndicode · 7 years ago
Text
Friday evening presentation. React.js for beginners
Here in Syndicode, we love to set up new traditions! Having many talented developers of the different stack in our team we support knowledge collaboration. Last Friday we gathered in Syndicode’s Kyiv office to listen to an intro to one of the main JS libraries for building user interfaces. ...
2 notes · View notes
syndicode · 6 years ago
Text
Syndicode's teambuilding in the Carpathian Mountains
The Carpathian Mountains is the perfect place to feel the energy of nature and remeet your colleagues and see their awesomeness! Thanks to Deinde Syndicode’s teambuilding in the Carpathian Mountains will be sung in legends! Watch some pictures from our trip! And join our team if you want t...
0 notes
syndicode · 7 years ago
Text
Where to find Ruby on Rails developers for your next startup?
These days the internet is booming with nice useful products, sites, and apps that largely simplify the human’s life. Starting from tools to boost your development workflow (like Trello or Slack) and online shops and ending with social networks (for business as well!) and media a...
0 notes