Development Architecture blog is designed for developers who have some troubles in their code.
This blog will be mainly on web development, though many of it's posts can be used also on software design.
I wish you nothing but the best,
Inevitability of Change in Complex Systems
University of Liverpool - Masters in Software Engineering
Discuss why change is inevitable in complex
systems and give examples of software process activities that help
predict changes and build software to be more resilient to change.
Complex systems are comprised of interconnected parts, which
as a whole exhibit one or more properties, not evident from the specific
properties of the individual parts (Rocha, 1999).However, as complex systems are studied by
quite an impressive number of fields, including ecology, cybernetics, business,
and economy, their definition is subject to the particular context in which
they are used (Collier, 2005).
Although the definition and interpretation of a complex
system is subject to many variables and to the field that is studying it, there
is one aspect regarding this matter which most experts tend to agree with; that
change is innate to any complex system. Complex systems are dynamic and thus,
they are prone to transformation from their very inception.
A complex system is subject to change for a number of
reasons. Firstly, these types of systems are installed in an environment which
instantly adapts to the complex system and starts generating new requirements
from the very moment it starts using it. These new requirements may occur
because only after a process of trial and error can one truly see what
functions with a system and what does not; and these things may not have been
evident before the installment of the complex system.
As a part of evolution, the user’s own requirements will
also change and, in a way, become more demanding. As business policies and
goals evolve and transform, new requirements will be generated for complex
systems as well. It is this evolution and demand that will prompt the changes
that also have to affect the complex system for it to match with what is being
asked and expected of it.
Change is essential for a complex system to preserve its
usefulness. As long as a system is in accordance with the definition of
“complex”, change will occur naturally and automatically in order to increase
efficiency and effectiveness (Kirshbaum,
2002). Although change is accepted as a natural occurrence in complex systems,
there are certain ways in which this change can be predicted.
activities that help predict change and that build software to be more
resilient to it include: design modeling that documents the software’s structure;
recording requirements rationale in order to know why a certain requirement is
present; tracing requirements to demonstrate the dependent relationship between
one requirement and another, and between requirements and the software’s
activity useful for the prediction of changes is requirements-driven impact
analysis or RIDA, for short. This analysis is used to pinpoint which software
entities need to be altered in order to be able to implement a certain
requirement (Lindvall, 1998). RIDA, which is conducted during the release
planning phase, takes two variables into consideration. Firstly, there is the
input, which refers to the existing complex system and the set of requirements.
Secondly, there is the output, which represents the specific software entities
that have to be changed to meet each requirement.
The main idea one has to understand is that change is not an
exception, but rather, the only constant in life (Brooks, 1975). To some
extent, changes in complex systems can be predicted and the system can be
altered in such a way that it becomes resilient to these transformations.
Nonetheless, change in complex systems has to be accepted as an invariable
constant and a natural component in evolution.
·Brooks, F (1995). The Mythical Man-Month:
Essays on Software Engineering. 2nd ed. US: Addison-Wesley Pub. Co. 15
File Linking, File Sharing and Shared Projects.
You know how it feels to have shared files on VSS? Gooood.
Actually it felt so good that my beloved CTO (who said something about promotion?) switched to TFS just 4-5 months ago. And ever since - I cry myself to sleep every night.
Instead of one file, shared between 5,6,7 or 10 projects, we now have a copied file for each project. This is due to Microsoft "Best Practice" which says - No Shared Files.
Finally, I have the fix we've all been waiting for, courtesy of VS 2010: "Add File As Link" How to Link Files to Different Projects:
Let’s say we have 2 completely different web sites.
One is 10Bet and the …
The term Web of Links refers to creating multiple sites, each connected to the other one, in order to promote a specific website.
This is exactly what a website owner would like, an hour work (and about 50$ investment) which will generate his website 25 links.
Web of Links is mainly for indexing purposes and less for getting a higher page rank (PR) in search engines (Google).
I'll start by explaining the benefits of the Web of Links method:
Let's say you just created a website.
You've made all the right things...
Listed your site in all the indexes websites, registered to Google Analytics and Google Web Master Tool and even wrote some content pages in order to attract visitors.
This is good, the only problem is that Google may have not indexed all you pages yet. If you're a small new website, this process can take awhile.
The Web of Links idea simply makes the linking process smoother.