Obii kriationZ Web LLP has been at the forefront of thought leadership in software development. Our cross-functional team brings years of expertise in Software ideation, prototyping, development, quality, deployment and maintenance.
Principles of Design thinking drive our process - the core of our approach is empathy, the inherent urge to understand and empathise with the problem, defining our understanding and ideating on the possible solution, building a wireframe and then a prototype and finally, test and iterate.
Our Development Practice
We sit with our clients to discover the problem they address through web application development. We join them in researching more and arrive at a solid problem statement.
Once we have arrived at the problem statement, we put our thinking caps on. We ideate on various solution scenarios and how they might impact our clients’ business objectives.
Upon freezing the ‘out-of-the-box.’ solution, we wireframe it. These wireframes are sent to the client for consensus, and our experts in UX/UI take over and produce mock-ups. Once the mock-ups are agreed upon, a working prototype is built.
We build an enterprise-level application using agile principles, delivering value incrementally and iteratively. Each increment is rigorously smoke, regressive, stress and load tested. Through continuous integration and continuous deployment on staging servers, clients can A/B test at the end of each sprint.
Based on the inputs from the client, we set up a production environment and deploy the application on it. The production environment is structured based on the clients’ brief on the expected throughput, the expected requests per second (RPS) during peak traffic, the expected peak-response time (PRT), the expected average response time (ART) etc.
Post-deployment, we do a smoke test to make sure that the application is stable, monitor the application continuously for redundancy, inconsistency and stress.
Think like a client: By being a professional product-life-cycle-management firm, we visualise the product in its entirety instead of the briefs we receive from our client. We think like them, which gives our clients an additional team of product managers.
Excavate and Assimilate: Our clients can rely upon us to do market research, generate sizable insights into the product they intend to build; we scoop the market and provide insights.
User Persona Development: Our clients can rely upon us to develop user personas - the process of segmenting the target audience by likes, dislikes, behaviour and more - An essential aspect of application development.
Build for the audience: We build wireframes based on the user personas developed, iterate working closely with our client to create mock-ups and prototypes postured towards the target audience.
Agile Development Practice: We become product owners for our clients during the application development. We maintain product backlogs, prioritise and deliver value at the end of each sprint.
Bangalore as a Software Development Destination
Bengaluru (earlier known as Bangalore), India’s own silicon valley, has over 67000 registered IT companies. , India’s own silicon valley, has over 67000 registered IT companies. And every year this number is growing. One of the primary reasons for this is the ability to source talents. “If you want to build a product quickly, you need to be in a place where an engineering shortage isn’t going to hold you back” - Ben Legg once famously said on why companies prefer Bangalore over other Indian cities. The city is closer to southern Indian states and has been a cesspool for young, budding engineers.
Software development is a science, and over the decades, it has gotten finer and intuitive. The software has progressed from a standalone system to a service over the internet. Revolution in Integrated Chips (ICs) have triggered a massive digital exposure, and quite literally, there is a computer in everyone’s hands. Software development in 2022 is more about agility, scale and pace.
For a large part of Software Development history, developers relied upon the waterfall model. The model had several inherent issues - the model was too rigid to fit the uncertainties of a business, since working software is achieved only at the end of the development, business and developers remain unsure what the software does or does not, since nobody knows what the software can do until the end, the feedback loop is nonexistent.
On Feb 11 2001, the agile alliance was born at The Lodge at Snowbird ski resort. A group led by developers and thought leaders proposed a methodology that would forever change the software development landscape - AGILE. With Agile, the software industry scaled like never before.
The four agile values:
“Through this work, we have come to value: Individuals and interactions over processes and tools, Working software over comprehensive documentation, Customer collaboration over contract negotiation, Responding to change over following a plan.”
A modern approach to Software Development Life cycle:
Software Development life cycle refers to various stages of software development. From ideation to the usage, from analysing the business requirement to building features, testing and commissioning. Software companies across the globe use different models to design, develop and test high-quality software. The essential thumb-rule of any software development life cycle (SDLC) models are: meeting the client requirements at the agreed-upon cost and within the agreed-upon the time. The ISO (International Organization for Standardization) under ISO/IEC/IEEE 12207 defines the standards for software lifecycle processes.
Brief Introduction Into ISO/IEC/IEEE 12207
ISO/IEC/IEEE 12207, first published in 1995 (ISO/IEC/IEEE 12207:1995), was the first formal and primary standard defining all the processes required to develop and maintain software systems, including the outcomes and/or activities of each process.
ISO/IEC/IEEE 12207:1995 defined five primary processes (acquisition, supply, development, operation, and maintenance), with eight supporting and four organisational life cycle processes
ISO/IEC/IEEE 12207:2017 is the newest version published in 2017. IEEE Computer Society joined ISO. This version defines the following process Agreement processes, Organisational project-enabling processes, Technical management processes and Technical processes. The standard “does not prescribe a specific software life cycle model, development methodology, method, modelling approach, or technique.”
The agreement process defines the agreement process between the software acquirer and software supplier. The Acquiring organisation tasks the supplier organisation to build software. The agreement process facilitates this.
Organisational project-enabling processes
The core objective of the project enabling process is to create a strong business image and imply commercial and profit-making motives of the supplying organisation. The Organizational Project‐Enabling processes deal with providing the right resources to enable the project to meet the needs and expectations of the organisation’s stakeholders. In addition, the organisation establishes an environment in which the project will be conducted. This includes processes and life cycle models.
Technical Management processes:
The Technical management process deals with managing resources and assets allotted by the organisation to ensure that the agreement obligation between acquiring organisation and supplying organisation is met. It also outlines the technical effort involving the cost, timescales and achievements. These processes are used to establish and perform technical plans for the project, organise data across the technical team, assess technological progress against the goals for the
the software development.
The technical process deal with technical efforts throughout the development life cycle. This process transforms the needs of stakeholders into a product or a service.
Enjoy what you are reading? Reach out to us to know more from the best
Traditionally, there are six stages of software development:
Planning involves product owners, leaders, managers and analysts sitting with the customer and getting business insights into the problem statement.
Defining Requirements: Post planning, a high-level requirement specification is created as a hand-holding document for the development during the planning phase. This document specified business objectives, functional requirements, quality requirements and non-functional requirements.
Designing: Using the understanding generated from the previous stages, The development team designs a suitable architecture for the product. This is done keeping in mind the scale of the software.
Development: The software development team starts developing the software using programming language finalised during early stages. The software development process is built with the hand holding document created earlier. However, Modern software development methodology employs an iterative approach and has constant interaction with stakeholders.
Testing: Though development and testing are noted as separate stages in the classical approach, modern models have these stages intertwined. A piece of software is developed and tested continuously for consistency and performance.
Deployment: The last stage in the software development lifecycle in deployment. Quality and performance tested software is deployed in a suitably created environment for the business to consume.
Waterfall model: Waterfall model is also known as the linear-sequential life cycle model - one of the earliest SDLC models. As the name suggests, this model has a linear and sequential approach. Software development goes through each stage one by one. Each phase depends upon the completion of the previous phase and is separated from one another.
Agile Model: The agile model or modern software development is incremental and iterative. The approach was proposed in early 2001 and since then has practically revolutionised the software development industry. The product owner breaks software requirements into user stories and epics in this approach. Then, a cross-functional development team scrum master and product owner delivers tested and deployed software increments in a short time duration called sprints.