Agile in the Software Engineering Evolution
Computer
scientist
Programmer
Developer is
also the user
Developing
for 1, 2, 3 …
users
Frequent collaboration; Face-to-face
communication between the
programmer and user(s); Many iterations
Programmer(s)
Development of larger
multi-users systems
Booming IT 
Lots of neophytes
Problem:
Old way of working
doesn’t work anymore
Needs
• Scalability
• Analysis
• Manageability
• Job Specialisation
Business
Stakeholders take
over the direction
of IT projects
• Wrong application of methodologies and methods (“by the book”)
• Micromanagement
• Excessive control and administration
• “Throw-it-over-the wall” – culture
• Lack of collaboration between analysts and developers in early stages.
• Impoverishment of developer’s job
• Little regard for needed work conditions (environment, information, time,
disturbances, … )
Using methodologies and methods
in defined & structured projects
Blame the methodologies
(and not on the people).
Dump them.
AGILE: “Developer develops the wanted and
demanded software for the end-user”
Solution
• Structured approaches/methodologies (= scalable by nature)
• Job specialisation: Analyst
Later, further specialisation of the role of analyst (BA, BPA, FA, …)
Programming software goodies for end-users ≠ conceiving and developing larger systems
Still expecting the business stakeholders to communicate what they want and assuming that delivering
that will solve the problem and satisfy them.
Ignored strengths of traditional software development methods.
Forgot lessons learned by traditional software development methods.
Worshipping technologies.
Knowing and applying methods as the
are described suffice to do the job.
“You ask, We deliver”
Very superficial training in Systems
Analysis and Software Engineering
(loss of knowledge)
Cut all the overload.
Back to the core idea &
start from a blank slate.
Analyst
Need for scalability
Need for better analysis
Need for better systems
Ugly systems & lot of rework
START

Agile in the Software Engineering Evolution

  • 1.
    Agile in theSoftware Engineering Evolution Computer scientist Programmer Developer is also the user Developing for 1, 2, 3 … users Frequent collaboration; Face-to-face communication between the programmer and user(s); Many iterations Programmer(s) Development of larger multi-users systems Booming IT  Lots of neophytes Problem: Old way of working doesn’t work anymore Needs • Scalability • Analysis • Manageability • Job Specialisation Business Stakeholders take over the direction of IT projects • Wrong application of methodologies and methods (“by the book”) • Micromanagement • Excessive control and administration • “Throw-it-over-the wall” – culture • Lack of collaboration between analysts and developers in early stages. • Impoverishment of developer’s job • Little regard for needed work conditions (environment, information, time, disturbances, … ) Using methodologies and methods in defined & structured projects Blame the methodologies (and not on the people). Dump them. AGILE: “Developer develops the wanted and demanded software for the end-user” Solution • Structured approaches/methodologies (= scalable by nature) • Job specialisation: Analyst Later, further specialisation of the role of analyst (BA, BPA, FA, …) Programming software goodies for end-users ≠ conceiving and developing larger systems Still expecting the business stakeholders to communicate what they want and assuming that delivering that will solve the problem and satisfy them. Ignored strengths of traditional software development methods. Forgot lessons learned by traditional software development methods. Worshipping technologies. Knowing and applying methods as the are described suffice to do the job. “You ask, We deliver” Very superficial training in Systems Analysis and Software Engineering (loss of knowledge) Cut all the overload. Back to the core idea & start from a blank slate. Analyst Need for scalability Need for better analysis Need for better systems Ugly systems & lot of rework START