Consulting quality charter

Application development

Ordisoftware™ communicate to you proposals and recommendations that are obtained by experience and that are sustained by an assessment highlighting suitable or unsuitable elements and critical areas of studied systems.

Whatever the objectives to reach, the organizational and technological constraints, domains being considered, and activities being established.

Three directions of action are put into practice to ensure the control of the work:

  • Partnership with the business decision-making team.
  • Responsibility of the expertise of technical solutions.
  • Training and help of the user’s groups.

Steps to making software

Methodology

Agile methods are the result of the practice and the afterthought from the use of methods called «traditional» that they incorporate and expand based on the following notions :


  • Scenario : these methods of production are based on unitary specifications of the fonctionalities that are derided into tasks or steps.
  • Deliverable: a functional application is frequently and regularly builds to lead the advance of these methods, from the initial model until the last prototype that became the final software.

Agile methods rely on four basic values in order to master architectures:

  • Interaction: communication has priority over methods and tools.
  • Result: a program that works has priority over documentation.
  • Adaptability: regular participation has priority over negotiations.
  • Improvement: changing has priority over planning.

These values are detailed in twelve principles:

  • Satisfaction of the result : priority is to deliver useful software to the user.
  • Improvement: ability to change is a competitive advantage.
  • Feedback: action is based on the regular delivery and the user response.
  • Contribution: the different specialized contributors are regularly solicited.
  • Motivation: environment and support are essential to success.
  • Interaction: communication is the way of transmitting information.
  • Usability: software that works is the indicator of progress.
  • Efficiency: adopting a comfortable rhythm is the way to get the result.
  • Aptitude: expertise and quality are continuously evaluated.
  • Pragmatism: simplicity is even more essential that the project is complex.
  • Organization: sharing of activities provides the best software.
  • Adaptability: mutual and regularly introspection about the effectiveness adjusts the behavior of the team.

The project is usually approached from four considerations and five viewpoints:

  • Business & Use cases: actors and scenarios.
  • Information & Design: models and databases.
  • Application & Implementation: static and dynamic aspects.
  • Technology & Deployment and process: infrastructure and components.

Modeling

Whether thanked or represented, models precede, underlie, document and validate the production of software of quality.

The use of relational and object-oriented modeling brings simplicity, clarity and modularity in the conceptual representation of real things.

Ordisoftware™ usually uses the Entity–relationship model and the UML standard to specify and visualize structures, functions and interactions of systems.

To obtain the desired result, the modeling and the implementation are continuously set in correspondence.

The constant review of models and code, associated with the refactoring, are essential methods to success.

Management

As the mutation of the classical programming to object-oriented programming has taken time to mature, since the creation of punch cards, many Agile methods are developed based on the sensitivity of their creators and depending on industrial requirements.

  • Unified Process (1996)*: Based on use cases, focused on UML architectural views, driven by iterative and incremental methods.
  • Extreme Programming (1999)*: Based on the construction of the application, with very short delivery cycles, the privileged integration of the customer into the team, and the use of specific coding techniques (simplicity, refactoring, conventions, common vocabulary, unit testing, pair programming, shared code, continuous integration, respect of reality and constraints).
  • Kanban (2010)*:  Inspired by Lean for the process management, focused on the organization, the communication and the knowledge.
  • Feature Driven Development (1999): Similar to RAD, with priority to features that deliver value, and the use of five activities (develop overall model, build feature list, plan by feature, design by feature, build by feature).
  • Scrum (2001): Based on the goal and the complexity of the project goal according to the philosophy of rugby.
  • Lean Software Development (2003): Based on eliminating waste, learning, on quality, fast return of delivery, later decision making, power given to the team, and overall vision.

* Methods used preferentially by Ordisoftware™

More information