Adaptability in Software Development
Wednesday, May 04, 2005
Adaptability in the Software Development process and in Software itself is one of the main concerns of my research. From my readings about theories of organisations I gather that as time passes modern organisations look for more inventive ways to compete in the market. As this happens, the software that are being used in the organisations become outdated because the organisation needs are changing constantly. So my question is, what could we do to keep the software development machine aligned with the organisation's evolution? I think that an exploration of the concept of adaptation within the context of software development would be useful to find the answer. From my readings in forums I gathered the following ideas:
In relation to adaptability of developers and the development process:
1. The process of evolution in software development practices follows this pattern: Experience --> Reflection --> Adaptation
2. Iterative and incremental processes are designed to allow adaptation.
3. Involving clients/users in developers work helps the process of alignment.
4. There is no single methodology that works in every situation. Developers have to adapt known methods to the problem situation and their clients' working styles.
5. Developers need to change their "attitude" towards development. Accepting that change is inevitable and that requirements will change many times during a project may help developers to adapt easily.
6. If developers thought about software as a service provided by people and not as a product, it could be easier for them to think about adapting software (i.e. their service) to evolving organisations.
In relation to adaptability of business settings and clients/users:
1. Users can adapt better (to technology) when they have already experienced change. After one successful experience further changes are easier to take as people are more receptive to them.
2.The level of adaptability of users to software and of software to the business situation could be improved if users had the facility of maintaining/changing/adapting their software to their needs. (An utopian idea at the moment but may be possible in the future.)
3. Organisation's culture can allow or impede technology change. New, agile methods for developing software are more difficult to be adopted in companies with endure strict and heavy processes.
In relation to the adaptability of the software itself:
1. Software should not last forever.
2. Software adaptability depends on the level of dependence of the organisation on the software. If the software is a core part of the business processes then it is more likely that it will be evolve with the organisation. However if the software is just a support tool then it is less likely that it will be adapted to changes.
In relation to adaptability of developers and the development process:
1. The process of evolution in software development practices follows this pattern: Experience --> Reflection --> Adaptation
2. Iterative and incremental processes are designed to allow adaptation.
3. Involving clients/users in developers work helps the process of alignment.
4. There is no single methodology that works in every situation. Developers have to adapt known methods to the problem situation and their clients' working styles.
5. Developers need to change their "attitude" towards development. Accepting that change is inevitable and that requirements will change many times during a project may help developers to adapt easily.
6. If developers thought about software as a service provided by people and not as a product, it could be easier for them to think about adapting software (i.e. their service) to evolving organisations.
In relation to adaptability of business settings and clients/users:
1. Users can adapt better (to technology) when they have already experienced change. After one successful experience further changes are easier to take as people are more receptive to them.
2.The level of adaptability of users to software and of software to the business situation could be improved if users had the facility of maintaining/changing/adapting their software to their needs. (An utopian idea at the moment but may be possible in the future.)
3. Organisation's culture can allow or impede technology change. New, agile methods for developing software are more difficult to be adopted in companies with endure strict and heavy processes.
In relation to the adaptability of the software itself:
1. Software should not last forever.
2. Software adaptability depends on the level of dependence of the organisation on the software. If the software is a core part of the business processes then it is more likely that it will be evolve with the organisation. However if the software is just a support tool then it is less likely that it will be adapted to changes.
Labels:
research,
software development


This is a very comprehensive understanding of what happens in the software development fields. There are good ideas to think of, specially for developers. I wonder if they are aware of all these things that are being made to cope with complex situations...
Thanks.
This is only a recollection of ideas I've read on the web I'm trying to make sense of.
Good Stuff buddy
I thought the information above has given me great topics to think about. Thank you!
Best wishes,
Sofstware Development