Manifesto for haute-couture development
Development is too serious to be left to developers. This manifesto
for haute-couture development is a call for businesses to appreciate
the need for fully-mastered, quality development. enioka
Haute Couture is a software development house that has taken on
the mission of supporting its customers in this process.
The digital transformation of companies is revolutionizing the way we
work in all industries, even those that are at first glance far from
IT. Most business processes are now computerized, or would not even
exist without computers. This has one consequence: the added value of
a company, that which differentiates it from its competitors, is
increasingly linked to an IT component. A retail company might have a
more efficient supply chain thanks to innovative replenishment
algorithms, a bank might be faster on low latency orders thanks to
dedicated processors, an aircraft manufacturer might be able to avoid
costly prototypes thanks to more advanced modeling…
Is it then reasonable to entrust the company's software, this critical
piece of the company's value, to a third party? This is the direction
that things have been taking since the 1990s, when software
developments were massively outsourced and offshored. As a result,
companies have lost a lot of knowledge about their own
software, including some of the most critical.
Our vision is that
an innovative company must control its software development
endeavors. To that end, it must develop, or redevelop, a certain number of
skills: technical, organizational, methodological, recruitment, etc.
Retaking control of development can be done gradually, starting with setting up the
organization, architecture, tools and
development teams with the necessary tools to create the solutions and
meet the demands of customers and users.
Software development has become
too important an issue for a company to be dependent on its
suppliers. This independence materializes both in the intellectual property
over the code and in the ability to develop and maintain source code.
It must therefore be delivered with proper documentation, all the
tools necessary to make it evolve (compilation chain, deployment
tools, test suite, project monitoring tools) along with the transfer
of necessary skills.
These elements must be considered as soon as a subcontracted
project is launched
to ensure the proper transfer of knowledge.
If this initial implementation is done by a third party team, it is
essential that it is
tailor-made to the objectives and constraints of the final team's
use. It is thus necessary, even more than usual, to insist on the
quality of the development and tools introduced, which will
facilitate their use, recovery and extension. The trajectory to ensure that all parties involved
(users, project
managers, operators, developers, architects, testers...) master their
(new) work tools is also essential.
Following these first steps, our teams share a vision of what a
well-managed IT project should be. We are convinced that modern IT
projects must be
carried out in direct contact with users, in fast release
cycles. We therefore bring in a pragmatic know-how on agile methods:
without treating them as sacred, we use them as toolboxes to pick and
choose elements according to the customer context. We see organization
and processes as elements of a trajectory towards a constantly
adjusted target, rather than a destination set too far in advance. We
must set short-term objectives, then continuously improve on them,
while ensuring that things continue to improve well after our teams
leave.
Initiating a virtuous cycle necessarily starts small:
an insourcing process must start with a modest goal, and has to
prove its worth, whether through a small hand-picked project or a prototype. We are
able to fully take charge of this bootstrap, either by fully
implementing it or by overseeing the existing teams.
The right thing in the right place. We are also confident that
there is no magic technology in any field. This myth
has done too much damage in the past. Languages, frameworks,
middleware... are only bricks whose adequacy to the context must be
systematically assessed.
We are also convinced that
significant improvements in the quality of development are within
the reach of any organization that gives itself the means to do
so. First through the permanent business contact mentioned above, which
ensures we operate as close as possible to the actual requirements.
Second through a suitable, efficient organization and good development
tools (automatic testing, code reviews…) that ensure the quality of
the product. Lastly, and above all,
thanks to competent developers who are empowered over
their roles in projects and in the company.
enioka Haute Couture was created to offer development in
accordance with these principles. This allows us to offer companies of all sizes and lines of
business to start working immediately as if they had insourced their
development, while progressing towards complete autonomy. All of this
being carried out by a team willing to share its vision and experience
of development, with the
aim of helping our customers to (re)take control of their
development.