Digital service / system development and managing changes in
complex software-based systems requires creativity, agility, and enabling
tools. Without preparation for appropriate technology and tools, change is
costly and risky.
Agile development is ultimately driven by the suitable state
of the art tools and technologies to ensure the holistic objective is met by
simply aligning with the Organization structure, goal and process. To ensure
effective agile development, choice of right tools based on purpose of the
overall product / solution architecture of the business objective plays a
critical role.
The discussion revolves around most suitable technology for agile
technology and general agreement comes to a point based on wider usages and
acceptance globally and at the same time prioritization of competitive
non-functional requirement of business goal. In different cases non-functional
requirement such as reliability, security, performance, flexibility, operating
cost, development cost, customer SLA, customer engagement etc. takes priority
among themselves and finally decision is drawn.
In digital world REST architecture and RESTful development is
considered to have edges other conventional technology such as Soap / WSDL considering
few non-functional requirements to have higher priority over others and there
is whole gamut of standards, guidelines and best practices are evolving to make
use of REST / JSON web services. On the database layer SQL vs NoSQL is also
being discussed to take care of unstructured and structured data together. On the middleware similar options available on
hub / spoke, publish / subscribe, workflow, ESB concept supporting multiple
technologies.
Once the technology is finalized based on complete end to
end requirement of the project, the decision on selecting tools becomes
critical to bring agility on the ground. The situation here requires thorough
understanding on pain point for sponsors to effectively benefit from agile
development and it should not lead to achieving one or two objectives like
reducing timeline at higher cost and lesser satisfaction by employees or
customers. There are many commercial and
freeware tools available to help capture requirement through model to help
Model driven development and testing, but with many limitations. Some of the critical
requirements of technology and tools are mentioned here for your review and
feedback.
1.
Technology should have
a.
Well defined roadmap.
b.
Easy to understand and implement
c.
Adhered to best practices, standards and
guidelines of established SDOs.
2.
Tools should be able to
a.
Capture all functional and non-functional
requirements
b.
Provide version control to facilitate change
management
c.
Create specification and document
d.
Test the system from all aspects such as unit
testing, integration testing, system testing and acceptance / functional
testing.
e.
Report on progress to meet project requirement
f.
Make presentation on issues, challenges and
risks
There are many more points which can be added based on your
feedback.
Agile
development can be beneficial when everything done for the development of
products, services, and solutions is done with most optimized way and at the
same time when users of the developed product bring agility in the society.
No comments:
Post a Comment