We always listen to our customers till we start thinking like them. We identify customer’s current & expected future process to provide fruitful solutions. We use different types of requirements gathering techniques based on the scenario at hand.
We use Brainstorming to gather as many ideas as possible from customers. We also use this to identify possible solutions to problems and clarify details of opportunities.
We review documents of an existing system to create AS–IS process. This help us in driving gap analysis for scoping of migration projects. If requires our team review any pre-existing code which needs to be understood, organised and pieced together.
We conduct Interviews of stakeholders and users to understand the goals and expectations of the users and stakeholders. We also have to recognize the perspective of each interviewee, so that, we can properly weigh and address their inputs. Listening is the key skill of our analyst to get more value from an interview.
When a migration project does not have access to sufficient documentation of the existing system, we also perform reverse engineering to identify what the system does now.
Our team also uses design thinking to tackle ill-defined/unknown problems (aka wicked problems) because they can reframe these in human-centric ways and focus on what’s most important for users. Design Thinking is a design methodology that provides a solution-based approach to solving problems. It’s extremely useful in tackling complex problems that are ill-defined or unknown, by understanding the human needs involved, by re-framing the problem in human-centric ways, by creating many ideas in brainstorming sessions, and by adopting a hands-on approach in prototyping and testing.
We prepare a solution proposal to underpin customers expected future business processes. Our system designers organise the program modules in such a way that are easy to develop and manage. Our structured design techniques help to deal with the size and complexity of programs. Our resources create instructions about how code should be written and how pieces of code should fit together to form a program.
Our resources divide targeted end solution into several subsystems and components. Each of the subsystem is further divided into set of subsystems and components. The design is started initially by defining the system as a whole and then keeps on adding definitions of the subsystems and components. When all the definitions are combined together, it turns out to be a complete solution.
We propose solution based on customers’ enterprise architecture strategy. For example, for integration layer we design and develop SOAP based web services using traditional Service Bus, if customer is already using a Service Bus (Oracle Service Bus, mule esb etc). On the other hand, we design and develop nodejs/java based microservices (Rest interfaces) if customer has already embraced devops culture. Businesses that have embraced microservices have realized significant benefits, and organizations that ignore this fact may be left behind. But while microservices looks promising, not every business can capitalize on the architecture. We propose our solution based on customer need & expectations.
Design & plan phase will produce delivery milestones as well.
Efficient communication is critical on every level. We make sure that all the team members have good contact with the customer and understand the common goal. We establish efficient communication inside the project team.