© 2014 National University of Singapore. All Rights Reserved.
ATA/TUS-Agile/Agile Engineering Practices V1.0
SWARNALATHA A...
© 2014 National University of Singapore. All Rights Reserved.
ATA/TUS-Agile/Agile Engineering Practices V1.0
 Agile Softw...
© 2014 National University of Singapore. All Rights Reserved.
ATA/TUS-Agile/Agile Engineering Practices V1.0
THE AGILE PHI...
© 2014 National University of Singapore. All Rights Reserved.
ATA/TUS-Agile/Agile Engineering Practices V1.0
AGILE MIND SE...
© 2014 National University of Singapore. All Rights Reserved.
ATA/TUS-Agile/Agile Engineering Practices V1.0
MANIFESTO FOR...
© 2014 National University of Singapore. All Rights Reserved.
ATA/TUS-Agile/Agile Engineering Practices V1.0
MANIFESTO FOR...
© 2014 National University of Singapore. All Rights Reserved.
ATA/TUS-Agile/Agile Engineering Practices V1.0
ESSENTIAL AGI...
© 2014 National University of Singapore. All Rights Reserved.
ATA/TUS-Agile/Agile Engineering Practices V1.0
AGILE SOFTWAR...
© 2014 National University of Singapore. All Rights Reserved.
ATA/TUS-Agile/Agile Engineering Practices V1.0
AGILE ARCHITE...
© 2014 National University of Singapore. All Rights Reserved.
ATA/TUS-Agile/Agile Engineering Practices V1.0
REFACTORING T...
© 2014 National University of Singapore. All Rights Reserved.
ATA/TUS-Agile/Agile Engineering Practices V1.0
TEST DRIVEN D...
© 2014 National University of Singapore. All Rights Reserved.
ATA/TUS-Agile/Agile Engineering Practices V1.0
PAIR PROGRAMM...
© 2014 National University of Singapore. All Rights Reserved.
ATA/TUS-Agile/Agile Engineering Practices V1.0
PAIR PROGRAMM...
© 2014 National University of Singapore. All Rights Reserved.
ATA/TUS-Agile/Agile Engineering Practices V1.0
CONTINUOUS IN...
© 2014 National University of Singapore. All Rights Reserved.
ATA/TUS-Agile/Agile Engineering Practices V1.0
CONTINUOUS IN...
© 2014 National University of Singapore. All Rights Reserved.
ATA/TUS-Agile/Agile Engineering Practices V1.0
CONTINUOUS DE...
© 2014 National University of Singapore. All Rights Reserved.
ATA/TUS-Agile/Agile Engineering Practices V1.0
CONTINUOUS DE...
© 2014 National University of Singapore. All Rights Reserved.
ATA/TUS-Agile/Agile Engineering Practices V1.0
CONCLUSION
18...
© 2014 National University of Singapore. All Rights Reserved.
ATA/TUS-Agile/Agile Engineering Practices V1.0
CONCLUSION
19...
© 2014 National University of Singapore. All Rights Reserved.
ATA/TUS-Agile/Agile Engineering Practices V1.0
20
NUS-ISS AG...
© 2014 National University of Singapore. All Rights Reserved.
ATA/TUS-Agile/Agile Engineering Practices V1.0
THANK YOU
21
Upcoming SlideShare
Loading in...5
×

Software Craftmanship - The Agile Way

419

Published on

Presented by Ms Swarnalatha Ashok, Chief, Advanced Software Design & Development of NUS-ISS at ISS Seminar - Agile Software Development: Swift and the Shift on 18 July 2014.

Published in: Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
419
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
39
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Software Craftmanship - The Agile Way

  1. 1. © 2014 National University of Singapore. All Rights Reserved. ATA/TUS-Agile/Agile Engineering Practices V1.0 SWARNALATHA ASHOK (swarna@nus.edu.sg) Institute of Systems Science National University of Singapore 1 SOFTWARE CRAFTMANSHIP – THE AGILE WAY Total number of slides = 21 © 2014 NUS. The contents of this document may not be reproduced in any form or by any means, without the written permission of ISS, other than for the purpose for which it has been supplied.
  2. 2. © 2014 National University of Singapore. All Rights Reserved. ATA/TUS-Agile/Agile Engineering Practices V1.0  Agile Software Engineering practices  Agile Software Architecture & Design Patterns  Pair Programming  Test Driven Development & Refactoring Techniques  Continuous Integration & Delivery 2 TOPICS
  3. 3. © 2014 National University of Singapore. All Rights Reserved. ATA/TUS-Agile/Agile Engineering Practices V1.0 THE AGILE PHILOSOPHY Response to unclear and changing requirements  Frequent customer interaction and collaboration  Frequent delivery of quality products  Iterative application of supporting processes Customer Satisfaction is the focus! 3
  4. 4. © 2014 National University of Singapore. All Rights Reserved. ATA/TUS-Agile/Agile Engineering Practices V1.0 AGILE MIND SET VS SCHNEIDER’S CULTURE MODEL 4 Collaboration Control Cultivation Competence Personal                                                                          Impersonal  Reality Possibility Are we neglecting this?
  5. 5. © 2014 National University of Singapore. All Rights Reserved. ATA/TUS-Agile/Agile Engineering Practices V1.0 MANIFESTO FOR SOFTWARE CRAFTSMANSHIP Raising the bar As aspiring Software Craftsmen we are raising the bar of professional software development by practicing it and helping others learn the craft. 5
  6. 6. © 2014 National University of Singapore. All Rights Reserved. ATA/TUS-Agile/Agile Engineering Practices V1.0 MANIFESTO FOR SOFTWARE CRAFTSMANSHIP RAISING THE BAR Source:http://manifesto.softwarecraftsmanship.org 6 well-crafted software well-crafted software working software working software but alsoNot only steadily adding value steadily adding value responding to change responding to change but alsoNot only a community of professionals a community of professionals individuals and interactions individuals and interactions but alsoNot only productive partnerships productive partnerships customer collaboration customer collaboration but alsoNot only That is, in pursuit of the items on the left we have found the items on the right to be indispensable.
  7. 7. © 2014 National University of Singapore. All Rights Reserved. ATA/TUS-Agile/Agile Engineering Practices V1.0 ESSENTIAL AGILE ENGINEERING PRACTICES  Essential Agile Software Engineering (SE) practices  Agile Software Architecture & Design Patterns  Pair Programming  Test Driven Development & Refactoring Techniques  Continuous Integration & Delivery 7 Organisation culture with quality sense Stakeholders’ support Well disciplined team with sound Agile SE knowledge
  8. 8. © 2014 National University of Singapore. All Rights Reserved. ATA/TUS-Agile/Agile Engineering Practices V1.0 AGILE SOFTWARE ARCHITECTURE An Architecture that supports change, end-user interaction, discovery, and ease of comprehension (of functionality) - Jeff Sutherland 8 Leverage on Architectural and design patterns Complete reference models and frameworks Iterations dedicated to architecture are useful Document only what is needed (diagrams, metaphors etc.)
  9. 9. © 2014 National University of Singapore. All Rights Reserved. ATA/TUS-Agile/Agile Engineering Practices V1.0 AGILE ARCHITECTURE 9 Develop Initial Software Architecture Communicate with Stake Holders Work with Developers Refine the Architecture Incremental Evolution of Software Architecture Keep it Simple Models Feedback Loop Source: Scott W Amber If required, dedicate a short iteration to prototype the architecture Principle: Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.
  10. 10. © 2014 National University of Singapore. All Rights Reserved. ATA/TUS-Agile/Agile Engineering Practices V1.0 REFACTORING TECHNIQUES 10 Improve the design and code Clean up the mess in the code Find defects and reduce debugging time Prevent “design decay” caused by extension and maintenance Dedicate a small duration every day/beginning of an iteration Principle: Continuous attention to technical excellence and good design enhances agility.
  11. 11. © 2014 National University of Singapore. All Rights Reserved. ATA/TUS-Agile/Agile Engineering Practices V1.0 TEST DRIVEN DEVELOPMENT 11 Principle: Continuous attention to technical excellence and good design enhances agility.
  12. 12. © 2014 National University of Singapore. All Rights Reserved. ATA/TUS-Agile/Agile Engineering Practices V1.0 PAIR PROGRAMMING 12 Ensures higher quality of code Facilitates knowledge transfer Eliminate the ‘truck factor’
  13. 13. © 2014 National University of Singapore. All Rights Reserved. ATA/TUS-Agile/Agile Engineering Practices V1.0 PAIR PROGRAMMING  Mistakes get caught upfront  shorter time-to-repair  End defect content is statistically lower (~15-50% gains)  Work in pairs for critical modules  Challenges:  Personalities of the developers  Off-track discussions  Support from managers 13
  14. 14. © 2014 National University of Singapore. All Rights Reserved. ATA/TUS-Agile/Agile Engineering Practices V1.0 CONTINUOUS INTEGRATION  Integration proves it works, why not do it every time some change is made? 14 Your software is broken until someone proves it works, usually at the integration stage. IntegrateIntegrate IntegrateIntegrate Integrate Integrate Integrate Integrate Goal: To produce working software
  15. 15. © 2014 National University of Singapore. All Rights Reserved. ATA/TUS-Agile/Agile Engineering Practices V1.0 CONTINUOUS INTEGRATION 15 Version Control Automated Build Team Agreement & Commitment Frequent check-ins to Version Control system Including source code, test scripts etc. Automate TDD (include regression test cases) Automate Build
  16. 16. © 2014 National University of Singapore. All Rights Reserved. ATA/TUS-Agile/Agile Engineering Practices V1.0 CONTINUOUS DELIVERY Plan DeployReleaseTestDevelop Build Auto Build and Version Control Continuous Integration Continuous Delivery Principle: Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
  17. 17. © 2014 National University of Singapore. All Rights Reserved. ATA/TUS-Agile/Agile Engineering Practices V1.0 CONTINUOUS DELIVERY Software is always production-ready Releases tied to business needs, not operational constraints Uncovers deployment issues early Improved software quality Requires automated tools
  18. 18. © 2014 National University of Singapore. All Rights Reserved. ATA/TUS-Agile/Agile Engineering Practices V1.0 CONCLUSION 18 Agile MethodsAgile Methods Individuals and interactions Individuals and interactions  Agile SE practicesAgile SE practices Responding to change Responding to change  Agile SE practicesAgile SE practicesWorking softwareWorking software  Agile MethodsAgile Methods Customer collaboration Customer collaboration  Agile Mindset
  19. 19. © 2014 National University of Singapore. All Rights Reserved. ATA/TUS-Agile/Agile Engineering Practices V1.0 CONCLUSION 19 Agile Mindset Agile Methods Agile SE Practices Happy Customer Quality software
  20. 20. © 2014 National University of Singapore. All Rights Reserved. ATA/TUS-Agile/Agile Engineering Practices V1.0 20 NUS-ISS AGILE TRAINING ROADMAP Project Management Software Engineering Foundation Intermediate Advanced PMI Agile Certified Practitioner (PMI-ACP)® Preparatory Course (3 days) NICF – Essential Practices for Agile Teams (Certified Scrum Developer) (3 days) NICF – Business Analysis for Agile Practitioners (2 days) NICF – Object Oriented Design Patterns (4 days) NICF – Agile Continuous Delivery (3 days) NICF – Certified ScrumMaster (3 days) NICF – Architecting Software Solutions (5 days) NICF – Software Testing (3 days) NICF – Object Oriented Analysis & Design (5 days)
  21. 21. © 2014 National University of Singapore. All Rights Reserved. ATA/TUS-Agile/Agile Engineering Practices V1.0 THANK YOU 21
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×