Philosophy of the Agile Software Development Methodologies
The main philosophical underpining of the agile methodologies is to walk beside organisation's evolution. As modern organizations evolve and adapt to their environments rapidly so should software development.
Traditional development methodologies (waterfall lifecycle) were created upon the assumption that requirements never change. Software were created based on a snapshot of the organization's situation. Projects (price, time and design) were planned in advance and any deviation from them were considered a mistake which had to be corrected.
Agile methodologies are based on the assumption that organisations, users, and their requirements change. Agile methodologies are designed to adapt to changes: they are selfadaptive. To achieve that, users and developers work together and expect change all the time. Requirements, specs and code are reviewed constatly and changed when necessary. The aim is for a good quality software that meets the needs of the clients and not for meeting the deadlines and not running over the budget.
Today I've been reading blogs and forums about agile methodologies. So far this is what I've been able to gather:
1. Agile methodolgies prefer "Responding to custumer feedback" strategies reather than "Planning ahead" ones.
2. Agile methodologies are suitable for Incrementalists/realists kinds of developers. Incrementalists like to split software in bits and develop the most important bits first. They have an idea about what is achievable in real life in a certain period of time.
Traditional methodologies prefer Completionists or idealists because they can see the "big picture" (but fail at implementing because they have to account for every single detail in the design). In traditional methodologies every step has to be finished before attempting the next one.
3. Agile methodologies require more flexible customers capable of dealing with "uncertainty". Customers will receive the software in bits and will not have an idea about how the final will look like until the end of the project. They will give feedback to developers constantly and will work with them to decide on the course of actions.
On the other hand some developers say that agile methodologies are more "predictable". This is because it is more probable with agile that the final result will meet the customer needs. With waterfall one cannot predict if the final product will meet customer expectations, especially because the specifications are written so much in advance. One learns new and important things as one progresses in the programming.
4. Agile (XP), is not a cheaper alternative to waterfall. It was created to provide 100% customer satisfaction, that is, the customers gets what s/he wants. The final product is "good enough" to satisfy users.
5. Applications developed with agile approaches are more flexible and less resistant to change because of the constant additions and refactions during development time.
On the other hand because of constant change there is code in the applications that is no longer being used but rarely removed.
6. Agile works best in corporate solutions or business applications with big databases, where users can be consulted as opposed to shrinkwrap applications which can be more generic and where there are no users to talk to.
7. Agile are better fitted to ill-defined problems.
8. In agile methodologies design and coding are merged.
9. Most agile methodologies don't address maintenance which according to some (Boehm) is 80% of the SDLC.
10. There are two types of documentation, documentation for now (first development) and documentation for later (maintenance). IMO some agile methodologies like XP consider only the first type and neglet the other.
11. Most used techniques in agile methodologies -> pair programming, refactoring, test driven development, nunit testing... By the way, pair programming is the most mentioned by advocates and retractors. Some developers feel their productivity increases when they work in pairs, some others find it difficult to work with other people.
La vida de un asistente de catedra en Hull
Ya se que la audiencia de mi blog es 1 o 2 personas, pero aún asi decidi borrar la entrada anterior... no vaya a ser que en algunos años me haga famosa y alguien me lo saque en cara. :p
Me voy, creo que ya me esta entrando la inspiración.
DSS
I started my PhD thinking on Decision Support Systems (DSS). I’d been working on one in my previous job. Having found so many difficulties while gathering information (interviewing people and reading documentation), and designing the system, I thought that it was a good idea to investigate better development practices to do this. My initial work was on describing the kind of settings I had found during my years as a developer. To do this I first identified the problematic factors that made analysis and design so complex. This is what I found:
• There was a great variety of activities. Those varied from academic related issues, like module planning and student complaints to administrative issues such as budget preparation and marketing promotions. There were a number of people who combined their academic and administrative functions in an unclear fashion.
• Users performed similar processes in different ways among the university areas. The personal styles that dominated shaped the development of the processes.
• Processes changed through time specially when the authorities of the university were replaced.
• A decision making process may be initiated by any member of the administrative or academic staff in the university or by students.
• The nature of the problem and the working styles influenced the way people would carry out the decision making.
• Most of the processes involved flow of a huge variety of documentation like reports with information extracted from the databases (tables, charts) but also of documents containing unstructured information such as texts with decision makers’ opinions and decisions.
• Users worked alone, in groups or in multiple groups depending on the convenience and availability of the interested.
• The university board and other committees meetings were, in some cases, the last stage in the process. However, most of the hard work was performed before they met.
• There was a requirement of recording all the data resulting from the decision making processes that were carried out at the highest levels of the university, as it was specified in the university regulations. However, this need was also perceived in most of the medium level staff as they believed that this information may facilitate their work in the future.
• Information was required in most of the stages of a process.
well well well I got bored..... zzzzzzzzzzzzzz
To be continued…
Why this blog?
I’ve done software development most of my professional life. Now I am doing a PhD in the same topic. It is a challenge, but it is also rewarding. When I started I had no clue about how to develop an idea worthy for a PhD nor did I have a clue about how to investigate it. Thankfully, I found my way through it. I decided to study the social aspects of business organisations that affect the process of software development. To do this I designed a qualitative research. As I am very fond of internet and computers (and not so much of libraries, books and essays), I planned an online ethnography on software developers, where I could chat with peers about their problems at work. Now, I have finished my fieldwork and I am doing data analysis. I guess that it will take me two months or so to finish it. After that I will start to write my thesis.
I will use this blog to tell you about my life as a PhD student, to comment on my findings about complexities in software development and to share my experiences at doing online ethnography.
About Me
Blogs on Software and Social Software
-
Pre-Order “Data Are Made, Not Found”! - There’s something uniquely demoralizing about editing and editing and editing a book manuscript. The words all start to blur together and you start thinkin...4 weeks ago
-
On the Social Web Foundation… - About nine months ago, I ran into Evan Prodromou at an event at Meta. The social media giant was telling an audience of Fediverse and decentralized social ...1 year ago
-
Welcome, Prashanth! - Last March, I shared that we were starting to look for a new CEO for Stack Overflow. We were looking for that rare combination of someone who… Read more "W...6 years ago
-
The Path to Self-Sovereign Identity - Today I head out to a month-long series of events associated with identity: I’m starting with the 22st (!) Internet Identity Workshop next week; then I’m s...9 years ago
-
1 hour of research saves 10 hours of development time - I was recently talking to a developer who was building out a new stream view for a web app she was working on. She was in the middle of getting infinite ...10 years ago
-
Pulling Punches While Covering Print: A Reply to Ryan Chittum - Background: Yesterday, I wrote something about how nostalgia blunted skeptical coverage of Aaron Kushner’s dumb — and now failing — plans to build a newspa...11 years ago
-
ELIZA's grandchildren - Natural language processing has come a long way. One popular application is in chat bots. One of the first and most famous was text-based "computer therapi...14 years ago
Links
Conferences
- International Conference on Weblogs and Social Media.
- AMCIS 2012 : 18th Americas Conference on Information Systems
- WEBIST 2012 : 8th International Conference on Web Information Systems and Technologies (WEBIST)
- eLearning 2.0 Conference
- Social Networking in Cybermedia
- International Conference on Social Software
- SXSW Interactive
- Computers, Freedom, and Privacy in a Networked Society -- the 20th annual CFP conference
Friends
Tag Cloud
The Windows
I wander round and round
trying to find the windows.
It will be a great relief when a window opens.
But the windows aren't there to be found ---
or at least I can't find them. And perhaps
it's better if I don't find them.
Perhaps the light will prove another tyranny.
Who knows what new things will expose?
(Constantine Cavafy)
Fire and Ice
Some say in ice.
- From what I've tasted of desire
I hold with those who favor fire.
But if it had to perish twice,
I think I know enough of hate
To say that for destruction ice
Is also great
And would suffice.
(Robert Frost)

