Tech Stack‎ > ‎

Software Development

The weakest guy in the team decides quality of software output and poor quality architecture, design and subsequently the code hurts for ever. It is expensive to build, expensive to manage, expensive to debug and near impossible to change.
 
We chose to change this vicious cycle of over dependence on developers and started developing a Model Driven Architecture (MDA) that allowed the designers and domain experts to build software. We have put to use the theories from varied domains such as Rete Rules, BPM, Meta Schema, RBD, Workflows, RAD, CASE and Usability Engineering to develop a unified develop environment that abstracts and externalizes everything to the designers rather than developers. You no longer need to code for screens, reports, workflows, rules, security, alerts, menus, workbenches, web services etc., instead given a MDA, the engine builds and binds these software artifacts into a homogeneous output at the run-time.
 
Today Humanitics’ Approach to software development can be summarized in two sentences
  •  Best way to code is not to code; instead write code to write code rather than write code
  • Spiral proto cycling modeled on Agile development methodology delivers results faster than conventional waterfall development methodology
 Humanitics thrives on cutting out time, cost and poor quality that is so prevalent in conventional software development.
  •  We get back the development power in the hands of designers by giving them MDA authoring tool
  • We reduce delivery risks by binding the application at run time rather than design time
  • We reduce costs by following Spiral development of successive proto cycles. At end of each proto cycle you have a concrete code rather than just a document
  • We improve code re usability to maximum possible extent
  • We improve code maintainability by exposing the model rather than the code for change
  • We improve quality by reducing or removing the amount of code written by coders
  • We reduce cost by avoiding unit testing as the unit code is written by an engine
  • We improve the code performance by enforcing enterprise libraries, architectural patterns and coding standard practices
 
Development of technology is a key initiative within Humanitics
 
  • Code generation engines: Ability to externalize the application logic and bind it at the run time
  • Meta data and meta schema: Modeling science for real world to application representation
  • Workflow: Machine-Human, Human-Human, Machine-Machine rule based process definition and execution
  • Rules engines:Decision tables, rete rules and ability to externalize rule writing to minimize the code change
  • Usability Engineering: Human-Computer interface and simplicity, use of metaphors and natural flows, use of information nearness and information needs
  • Semantic Modeling: ability to define language, grammar and syntax for real world systems, meanings and concepts for automation purpose