Give us a brief introduction about Archer Software
Archer Software is a professional service and custom software development consulting company that helps startups and enterprises digitalize healthcare, automotive and fin-tech domains.
We help our global high-tech clients deliver life-changing solutions providing business model validation, market analysis, technological consulting, product design, development, and staffing services. Since 2000, Archer has designed, built, and supported more than 500 B2B, B2C, and B2G products for 300+ clients.
We leverage the synergy of dozens of Product Design & Development methodologies and hundreds of technologies to help our global clients build, optimize and scale their IT systems, processes, performance and profits.
We provide end-to-end IT lifecycle management based on the best practices of RUP, Scrum, XP, and other Agile development approaches, complying with the requirements of ISO 9001:2015 and CMMI level 4. We focus on achieving business objectives, on-time delivery, and enduring value, that’s why our cost performance index (CPI) has been >99.6% during the last 5 years.
How do you approach a client and understand their perception about app development process for the first time?
We always tailor our methods to the specific client’s needs. First of all, we need to understand a business context, whether we work with the corporate client and running an integration and automation process, or helping entrepreneurs to launch a startup. Based on this we identify typical needs and pain points. Then we start exploring the business needs and goals specific to this client.
And only after all of the above can we switch the context and speak about a suggested solution. At this point, the client’s team and we are all on the same page knowing exactly what tasks we will be solving. So it’s much easier for us to define a development process that would be transparent and clear for the client.
There might be a case when the client already has an ongoing development, so we need to fit into the existing process first, which again requires careful and in-depth analysis of the existing processes preserving the valuable parts and optimizing the bottlenecks. Alternatively, if the project starts from scratch, we suggest the best project management approaches and tools that we consider suitable for a specific case. We don’t usually stick strictly to one approach, instead, we mix and match dozens of PM frameworks in order to reach the business goals in the most efficient manner.
How do you strategize your app development model for multiple projects to completely benefit the clients you serve?
We split the projects into portfolios based on a business domain. Our core domains are Automotive, Fin-tech and Healthcare. While the project managers and business analysts gain experience in business domains, the architects and developers improve their technical knowledge constantly. How easy/tough is it to help the clients understand the basic technicalities of the app platforms, OS, functionalities, and performance?
Clients are business people, they are smart guys even if they don’t speak technical language. We just need to use fewer technical words, speak the business language and use common sense.
When we need a client’s decision whether to use cloud hosting or buy a physical server, we need to explain the pros and cons that influence their business goals directly, so the client can make a justified decision.
It’s always a good idea to convert everything into money: cost of purchase, cost of support, cost of change, or the cost of not changing anything. Business knows how to work with numbers.How do you plan the project schedules and manage the project scope to reach the appropriate teams?
The recipe is quite simple. To choose the best methods for the specific case you need to know many of them and understand the differences.
Are we doing a support project? It means there won’t be a pre-planned scope and we need to focus on speed and quality. Each task is analyzed, estimated and prioritized once it appears in a backlog. Each task is delivered as soon as it’s ready. Kanban framework works really better for this type of project.
If we work with a startup, we have specific milestones defined and can prioritize the features: proof of concept, fancy-looking investors’ demo, and minimum viable product. Then we can work in a planned manner, and it’s more convenient for everyone. We’d typically use Scrum framework here, collecting all requirements in a common backlog and keeping the most important first. Then we take as many items to the next iteration as we can deliver. Ideally, this comes down to a rolling wave planning method when we know exactly what to do during the next iteration or two, we know what needs to be delivered during the next quarter but on a high level, and then we know strategic goals for the current year.
For most of the projects, we tend to use agile frameworks like Scrum or Kanban, but in some cases, predictive waterfall approaches work better. These are the projects, where a mistake might cost you an arm and a leg. Therefore, the planning and prototyping phase goes first, then we build a detailed scope and schedule for the entire project, draw Gannt charts and control the progress tightly. Every change requires rebuilding the rest of the project and takes significant time. Yet this is a common practice for industries like healthcare where one has to deal with sensitive data and strict security requirements.What do you think are the key factors to look into the product before delivering? How do you manage or deliver the project on time?
We’ve been the first software company in Ukraine to align all internal processes with ISO 9001 Quality Management System (QMS), which is internationally recognized as the world’s leading quality management standard. We’ve received ISO 9001:2008 in 2013 and ISO 9001:2015 certificate in 2017.
ISO processes standardization enables us to ensure cost-efficiency and on-time delivery of the project. The ISO requirements allow us as a team to work in an integrated environment, share the information freely, in a timely and foolproof manner. Of course, this boosts up productivity and satisfaction from the work done. Internal processes are transparent for the clients and they know what’s being done at any given point, what outcomes to expect and how the risks would be mitigated if they occur. This improves satisfaction and clients stay with us longer.
The average time on the job of our Project Managers is 11+ years building high-loaded web, mobile and embedded solutions from scratch for healthcare, automotive, fin-tech, and other domains. We base our approach to end-to-end IT lifecycle management on the best practices of PMBok, SAFe, Scrum, RUP, XP, Scaled Agile, Lean, Kanban, etc. Shared experience is a solid foundation for successful delivery management.
Tell us about the app testing methodologies that you prefer. Which do you think is the best approach for testing?
The industry standard is the testing automation. It looks like a pyramid.
You have a big basement of small atomic tests, each of them checks a small operation. This level is called Unit tests.
Then you build a second floor, which is smaller and checks how different parts of the program work together. These are integration tests.
And as the icing on the top, there are end-to-end tests, which run different scenarios the same way as would a real user do.
Each floor is smaller than the previous one and it cannot exist if the previous level doesn’t.
But at the same time, automated tests cannot fully replace manual testing. Especially for the new functionality, we need a human to explore the system and try to break it.
What are the major challenges that you face as a Project Manager throughout a project cycle?
Major challenges come from the definition of a project. Each project is something completely new, so no one can predict what goes wrong and what goes well. On a daily basis, a project manager deals with uncertainty and needs to respond when something happens. To do this in time, a project manager should already have some plan, how to respond to this or that emerging risk.
Risks come from various sources, like: business needs have changed and the project needs to be modified; something has been missed in the project scope and we need to add it quickly without schedule changes; developer faced a technical impediment so the work will last longer than expected, etc.How well are you prepared to manage any crisis that may arise during the development process?
We are well prepared for that. An inexperienced manager might turn gray during a crisis, so we choose the candidates with the already gray hair.
To be serious, crisis managers always use quite simple approaches to deal with crises, which contain the following steps:
Restore basic functionality so the client stops losing money. It means restoring a database on a new server if a database server failed for some reason.
Find a route cause of a problem. When the fire is over, we need to calm down and find a real reason that caused the crisis.
Then come up with the ultimate solution. No finger-pointing during the crises, no arguing. We need to remember that first of all we work towards a single goal.
Which is your forte of expertise in app development though you have to be a part of all the phases of mobile app development?
We focus on the two main aspects: making sure that the project solves a business case and delivering excellent technical implementation.
We’re sure that the project shouldn’t be started without a clear understanding of business goals. It doesn’t matter how fast you move or how technically excellent your moves are if you’ve chosen the wrong direction.Which type of mobile app do you think is special in terms of development and deployment?
The ones that interact with the hardware on a low level, it always leads to different behavior on different devices and requires huge efforts in testing and tailoring the apps.Which are your favorite mobile apps? Tell us at least 5 of those
Those are not professional ones for sure :)
Google Play Music