Software projects are undertaken for many reasons. They could be for entering new markets, refreshing old technology, integrating diverse systems, reducing operational cost. Software projects can even arise out of organizational restructuring. Capital One’s CIO just had an interview where he describes his organizations transition from a finance to a software company. What ever the reason, the success of a project depends on project management.
There are many different Software Development Life Cycle (SDLC) methodologies. The key is that the right SDLC is chosen and the right people are assigned. A successful project involves processes and procedures. This requires management and oversight. Having the best software talent without the process and procedures in place is like having contractors at a construction site without a blueprint. At Merlion Solutions, we take software development seriously and don’t shortcut any of the critical steps that make a software project successful. We feel the key to our success is that we listen. Listening to customers requirements, understanding their environment, putting realistic expectations and collaborating closely with the client during the complete process is the key to success.
We look at a client engagement as a partnership that involves honest and open dialog. We want clients to feel we are transparent with the development life cycle and that it’s a joint effort. During these phases, we engage the client fully.
Below, we will dive into a basic SDLC overview that we utilize for many of our software projects. The implementation may vary between clients, but the core fundamentals always stay the same.
We meet with clients to understand the project goals and what the expectations of the client are. This phase allows us to obtain enough information to develop the proposal and understand the clients needs and resources. As we view projects as a joint effort, we like to understand our client’s resources and capacity as well.
After the proposal is accepted, we undergo the detail requirements gathering. This goes beyond the initial discovery and into the details of all the features, functions that the application will have. This phase requires a lot of dialog between us and the client and documents all the details. This is a critical phase of the project as it determines the, architecture and design selection.
This phase involves taking the requirements gathered and developing the detail design. It may includes items such as screen mockups, database design, architecture selection, business rules, etc. These are broken down into segments for assignment to the technical staff.
This phase involves taking the detail designs and doing the development work. Here is where the technical staff really digs in. Depending on the scope of the project, we select an iteration style for the development team. In most scenarios, our development team following an Agile development cycle using 2-3 week sprint iterations for fast development and feedback cycles.
This phase involves unit testing as well as system testing. The difference being that unit testing tests one function or feature being done, where system testing involves how the whole system inter-operates. The purpose being that a code release that introduces a new feature, may work fine independently, but once merged into the system may have unforeseen consequences. It’s not a choice of one way or the other for testing, you must do both.
Once the system is complete then deployment into production takes place. We take great care to ensure that our deployments are stable and quickly reversible. We do this by implementing DevOps methodologies such as configuration as code and infrastructure as code.
All the above steps are managed via the SDLC methodology used to assure that goals set are reached involving cost and timeframe (more on that in another blog).
When you select a software development firm, look not only into their technical skill sets but how well they manage projects and communicate with you.
Merlion Solutions is a full service Tampa, Florida based software development consulting firm. We tackle projects small and large, with industry experience in Real Estate, Finance, HR, Sales, Government, IoT, Law and more. If you have any questions about the post or want to get in contact about a potential project, feel free to reach out at any time using our live chat or contact form.