process
The NCD Software Development Process
Overview text goes here.
Origin
Project Origin
- Free Initial Consultation
- Your initial consultation is free.
- We listen to you explain your needs, and ask many questions, so NCD can determine the best way to serve them.
- Additional consultation may be necessary to correctly assess the project.
Analysis
Analysis
- Requirements Documentation
- We believe NCD is unique in the industry in taking a great deal of care in interviewing key stakeholders and employees at length to uncover the needs of your organization.
- We spend time when clarification and broad decisions are fast and easy to change to find out the return on investment that YOU are seeking, and the exact details of the system that YOU need built.
- We ask all important stakeholders and representative users what their business and usage requirements are, so down the road, no one's interests in the project are assumed or ignored.
- We list our assumptions about the project so you have a chance to correct our assumptions before we ever start building your system
- This is worded in language that YOU understand; YOU help us draft it. This is not a small document, but it is readable, understandable, and free of arcane technical language.
- It is comprehensive; we help you define for us exactly what you need your system to do and what you don't need it to do. This document actually is not simply the prelude to the project, it is a crucial and integral part of the project itself.
- This results, not in some hazy impression of what we want to start building for you, but rather in a comprehensive and exact physical document that we both understand and agree to, that will be constantly referenced, of what the project will be like.
- How is this different than others? Some developers like to just get coding, and will periodically bring builds to you for review. They spend a lot of time building stuff that you don't need, going down rabbit trails, etc., on your dime. Even worse, extremely important business requirements and stakeholder expectations are simply assumed or ignored, so that even if the programming work is good, once it is finished the project is only partially successful. We take the time and care to truly understand your business's needs, understanding the balance between all of the major stakeholders' interests. We document our assumptions before we build.
- Design Documentation
- NCD does not begin to design your system until we have turned every stone in discovering your requirements. That way we do not waste a single minute even thinking about building something that your organization doesn't need.
- Design includes database structure, graphic interface, programming environments, API's and data interchange protocols, naming conventions, etc. We save time by thinking through the smartest way to build your system instead of inventing half-baked schemes for managing unplanned for complexities in the middle of the project.
- We design screens and interfaces based on your requirements for your review before we build them, so you can be assured that the design of your system meets your requirements before we construct the system. It is easy and cheap to change a drawing or simple prototype, but it is expensive to change a a wrongly working system.
- You will receive a clear and understandable design document that is detailed enough for you to intelligently approve, and technical enough for us to construct. You can rest assured that we can move forward in building the system you really need in the most efficient manner.
Construction
Project Construction
- Prototypes
- Where possible, NCD works from prebuilt time-proven prototype software, to begin to construct the project.
- Construction is Streamlined
- With such thorough requirements and design work, construction of you your system is focused, fast, and straightforward. This leads to a minimum of QA issues and no unpleasant surprises for your organization at deployment.
Go-Live
Project Go-Live
- Legacy Data Import
- NCD plans from the start, if it is required, for the complex task of importing the client's old data into the new system.
- Go Live!
- By the time your system goes live, it has been so thoroughly analyzed and tested that you can expect almost no problems at deployment.
- Every project requires some minor stabilization after an install. NCD remains available as needs arise.
- NCD strives to remain available and responsive to requests for upgrades and changes as new needs emerge in the long term.
Requirements
User Requirements Gathering
- NCD spends a great deal of effort discovering precisely what it is your business needs.
- Many potential users of the system are interviewed and observed working, to determine their work flow.
- This helps to insure that you receive the system your people need to excel at their work, tailored to your real-world business requirements.
- The system is also designed to capture important reporting information, so that meaningful ad-hoc reports can be generated by executives.
Design
System Design
- Only when user requirements have thoroughly documented and verified, is the system designed.
- System design means, documents are produced describing the technologies, data structures, and graphic interfaces which will meet the user's requirements.
- NCD strives to use tested, proven, stable technologies. Any new or less tested technologies which the requirements demand will be constructed and tested first.
- NCD strives for feature stinginess: we strive to give you the simplest, most intuitive interfaces to quickly and beautifully fulfill your requirements. Good design means using creativity and genius to achieve simplicity.
Programming
Programming
- Once there is a clear idea of the users' requirements, and of the system's design, it can be constructed.
- Many development firms skip straight to this step, and produce buggy systems that do not meet the client's true business needs.
Project Cycle
Type of Work