‘A the developers in building quality software. The



Software Engineering lacks strong foundational understanding and it is merely
adapting the practices from other disciplines of engineering leading to
disastrous results. So, it is high time that today’s software engineering has
to be built by taking the experiences from software craftsmen who will put down
their understanding as a foundation which will be helpful to instill knowledge
for the newcomers in Software development projects.” SEMAT” (Software
Engineering Method and Theory) is an international initiative to develop the
Software Engineering that includes both methods and strong theoretical
foundation. The author explains how the Kernel framework and Agile methodology put
together helps in laying a good foundation for the Software development


Importance of Agility in Software Development: The Agility in
Software Development is the best example for Software Craftsmanship. In Agile methodology,
the projects are developed in short iterations. At the end of each iteration the
user can see the workable version of software. In short, the software is
produced in small increments and by obtaining the feedback for every iteration,
the agile team continuously addresses the issues if there are any. It is
already known that in every project the requirements tend to change. Agile methodology
holds these changes and uses them to progress. Agile methodology supports the
developers in building quality software. The agility can be applied in the software
engineering methods. Methods are a combination of number of practices. The software
development teams can pull in all the best practices necessary for their
development tasks and they can also go ahead and replace old practices with new


The KERNEL for
Software Engineering: The KERNEL acts as
a basic foundation for Software engineering. The Kernel consists of elements
which are common for all software development projects. It is a framework which
captures all the things that needs to be worked and are called as alphas. The alphas
are helpful for measuring the progress and health of software development tasks.
Each alpha has states which helps to guide the software development team. The
Kernel also help in classifying the activities required for progressing of a
software endeavor. It also has the set of capabilities required to carry out
the activities. With the help of a Kernel, the software developer can easily
understand whether the proposed method has any gaps in its practices and how to
resolve them. It also helps to come up with new ideas, help the teams to
improve their method of working either by adding or removing the practices. In
short, the Kernel can be classified as the strong basis of foundation in
software engineering.


Conclusion: According to the authors, the Kernel based
approach in Software Engineering is a true paradigm shift in this field. This
helped the Traditional Software engineering to think about the true engineering
instead of just adapting the practices from other engineering disciplines. However,
the real shift truly happens only when the development teams truly understand
the benefits of Kernel and try to incorporate them in their daily set of


Reference information:

Authors: Ivar Jacobson,
Ed Seidewitz




I'm Mary!

Would you like to get a custom essay? How about receiving a customized one?

Check it out