Tag Archives: incremental

ANN: Agile Software Engineering Practices training by Isráfíl Consulting

Isráfíl Consulting is finally prepared for the first series of its Agile Software Engineering Practices training courses. This series is offered in partnership with Berteig Consulting who are graciously hosting the registration process. Their team has also helped greatly in shaping the presentation style and structure of the course. The initial run will be in Ottawa, Toronto (Markham), and Kitchener/Waterloo.   

Topics covered will include Test Driven Development (TDD), testability, supportive infrastructure such as build and continuous integration, team metrics, incremental design and evolutionary architecture, dependency injection, and so much more. (This course won’t present the planning side of XP, but covers many other aspects common to XP projects) It makes a great complement for training in Agile Processes such as XP, Scrum, or OpenAgile. The overview slide presentation is available for free download from the Isráfíl web site.

The courses are scheduled for:

The course is $1250 CAD per student, and participants receive a transferrable discount of $100 CAD for other training with Berteig Consulting as a part of our ongoing partnership. I initially prototyped this course in Ottawa this December, and am very excited to see this through in several locales. Class size is limited to 15, so we can keep the instruction style more involved. The above schedules are linked to Berteig Consulting’s course system and have registration links at the bottom of the description. Locations are TBD, but will be updated at the above links as soon as they’re finalized.

A further series is planned for several US cities in March, and we’ll be sure to announce them as well.


Affiliated Promotions:

Try our automated online Scrum coach: Scrum Insight - free scores and basic advice, upgrade to get in-depth insight for your team. It takes between 8 and 11 minutes for each team member to fill in the survey, and your results are available immediately. Try it in your next retrospective.

Please share!
Facebooktwittergoogle_plusredditpinterestlinkedinmailFacebooktwittergoogle_plusredditpinterestlinkedinmail

Dependecy Injection on J2ME/CLDC devices.

This post is a little geeky and technical and product-related for AgileAdvice, and is a shameless self-promotion. Nevertheless, since testability, test-driven-development, and incremental design are non-exclusive sub-topics of Agile, I though I’d report this here anyway.

Many developers use the Dependency Injection and Inversion of Control (IoC) patterns through such IoC containers as Spring, Hivemind, Picocontainer, and others. They have all sorts of benefits to testability, flexibility, etc. that I won’t repeat here, but can be read about here, here, and here. A great summary of the history of “IoC” can be found here. J2ME developers, however, especially those on limited devices that use the CLDC configuration of J2ME, cannot use the substantial number of IoC/DI containers out there, because they nearly all rely on reflection. These also often make use of APIs not present in the CLDC – APIs which could not easily be added. Lastly there’s a tendency among developers of “embedded software” to be very suspicious of complexity.

In working out some examples of DI as part of a testability workshop at one of my clients, I whipped up a quick DI container, and being the freak that I am, hardened it until it was suitable for production, because I hate half-finished products. So allow me to introduce the Israfil Micro Container. (That is, the Container from the Israfil Micro project). As I mention in the docs, “FemtoContainer” just was too ridiculous, and this container is smaller than pico-container. The project is BSD licensed, and hosted on googlecode, so source is freely available and there’s an issue/feature tracker, yadda yadda.

Essentially I believe that people working on cellphones and set-top boxes shouldn’t be constrained out of some basic software design approaches – you just have to bend the design approach to fit the environment. So hopefully this is of use to more than one of my clients. It currently supports an auto-wiring registration, delayed object creation (until first need), and forthcoming are some basic lifecycle support, and a few other nicities. It does not use reflection (you use a little adapter for object creation instead), and performs quicker than pico-container. Low, low overhead. It’s also less than 10 classes and interfaces (including the two classes in the util project). It’s built with Maven2, so you can use it in any Maven2-built project with ease, but of course you can always also just download the jar (and the required util jar too). Enjoy…

P.S. There are a few other bits on googlecode that I’m working on in the micro-zone. Some minimalist backports of some of java.lang.concurrency (just the locks), as well as some of the java.util.Collections stuff. Not finished, but also part of the googlecode project.


Affiliated Promotions:

Try our automated online Scrum coach: Scrum Insight - free scores and basic advice, upgrade to get in-depth insight for your team. It takes between 8 and 11 minutes for each team member to fill in the survey, and your results are available immediately. Try it in your next retrospective.

Please share!
Facebooktwittergoogle_plusredditpinterestlinkedinmailFacebooktwittergoogle_plusredditpinterestlinkedinmail

Agile is NOT a Silver Bullet

The recent growth in the popularity of agile methods such as Scrum is gratifying. However, I am constantly encountering people looking for the Silver Bullet of software development. In the paper written by Brooks, No Silver Bullet[pdf], he describes “accidental” and “essential” complexity. Agile in no way changes his arguments. What agile methods do is to help remove the accidental complexity associated with people and their interactions. This can lead to substantial increases in productivity, but it does not change the hardness of the underlying problem that is being solved by building a particular software system. In fact, doing a good job with agile methods, in particular Scrum, is extremely hard work due to the deep cultural shifts that must occur in order to get the full benefits.


Affiliated Promotions:

Try our automated online Scrum coach: Scrum Insight - free scores and basic advice, upgrade to get in-depth insight for your team. It takes between 8 and 11 minutes for each team member to fill in the survey, and your results are available immediately. Try it in your next retrospective.

Please share!
Facebooktwittergoogle_plusredditpinterestlinkedinmailFacebooktwittergoogle_plusredditpinterestlinkedinmail
Berteig
Upcoming Courses
View Full Course Schedule
Licensed Scrum Master Product Owner® (LSMPO) [Virtual Learning]
Online
C$1995.00
Jun 9
2020
Details
Webinar (WEBINAR) - Effective Tools for Remote Collaboration
Toronto
C$0.00
Jun 11
2020
Details
Professional Scrum Master® (PSM I) [Virtual Learning]
Online
C$1525.00
Jun 16
2020
Details
Certified Scrum Product Owner® (CSPO) [Virtual Learning]
Online
C$1795.00
Jun 16
2020
Details
Virtual Agile Coaching at [YOUR COMPANY NAME HERE]
ONLINE
C$2500.00
Jun 17
2020
Details
ICAgile® Certified Professional (ICP) [Virtual Learning]
Online
C$1350.00
Jun 18
2020
Details
Certified Scrum Professional - ScrumMaster® (CSP-SM)
Online
C$2199.00
Jun 20
2020
Details
Certified ScrumMaster® (CSM) [Virtual Learning]
Online from Toronto
C$1595.00
Jun 23
2020
Details
Real Agility Series Workshop: How Agility Helps Overcome Bias in the Workplace
Online
C$45.00
Jun 30
2020
Details
**NEW** Advanced Certified Scrum Product Owner® (A-CSPO)
Online
C$1599.00
Jul 3
2020
Details
Advanced Certified ScrumMaster® (A-CSM) [Guided Mentorship]
Online
C$1599.00
Jul 3
2020
Details
Certified Scrum Professional - ScrumMaster® (CSP-SM)
Online
C$2199.00
Jul 4
2020
Details
Team Kanban Practitioner® (TKP) [Virtual Learning]
Online
C$1015.75
Jul 7
2020
Details
Certified ScrumMaster® (CSM) [Virtual Learning]
Online
C$1355.75
Jul 7
2020
Details
Advanced Certified ScrumMaster® (A-CSM) [Guided Mentorship]
Online
C$1359.15
Jul 10
2020
Details
Advanced Certified ScrumMaster® (A-CSM) [1-Day Accelerated]
Online
C$1355.75
Jul 10
2020
Details
Certified Scrum Professional - ScrumMaster® (CSP-SM)
Online
C$1869.15
Jul 11
2020
Details
Kanban System Design® (KMP I) [Virtual Learning]
Online
C$1525.75
Jul 21
2020
Details
Certified ScrumMaster® (CSM) [Virtual Learning]
Online from Toronto
C$1355.75
Jul 21
2020
Details
Certified Scrum Product Owner® (CSPO) [Virtual Learning]
Online from Toronto
C$1525.75
Jul 23
2020
Details
ICAgile® Certified Professional (ICP) [Virtual Learning]
Online
C$1147.50
Jul 23
2020
Details
Certified Scrum Professional - ScrumMaster® (CSP-SM)
Online
C$1869.15
Jul 25
2020
Details
Team Kanban Practitioner® (TKP)
Online
C$1015.75
Jul 25
2020
Details
Kanban Systems Improvement® (KMP II) [Virtual Learning]
Online
C$1525.75
Jul 28
2020
Details
Professional Scrum Master® (PSM I) [Virtual Learning]
Online
C$1296.25
Jul 28
2020
Details
Real Agility Series Workshop: Cognitive Biases That Can Undermine Your Agile Transformation
Online
C$45.00
Jul 28
2020
Details
Advanced Certified ScrumMaster® (A-CSM) [1-Day Accelerated]
Online
C$1355.75
Jul 29
2020
Details
Team Kanban Practitioner® (TKP) [Virtual Learning]
Online
C$1015.75
Aug 11
2020
Details
Certified ScrumMaster® (CSM) [Virtual Learning]
Online
C$1355.75
Aug 11
2020
Details
Licensed Scrum Master Product Owner® (LSMPO) [Virtual Learning]
Online
C$1695.75
Aug 18
2020
Details
Certified Scrum Product Owner® (CSPO) [Virtual Learning]
Online
C$1525.75
Aug 18
2020
Details
Professional Scrum Master® (PSM I) [Virtual Learning]
Online
C$1296.25
Aug 25
2020
Details
Certified ScrumMaster® (CSM) [Virtual Learning]
Online
C$1355.75
Aug 25
2020
Details
Advanced Certified ScrumMaster® (A-CSM) [1-Day Accelerated]
Online
C$1595.00
Aug 27
2020
Details
Certified Scrum Professional - ScrumMaster® (CSP-SM)
Online
C$1869.15
Aug 29
2020
Details
Coach Skills for the Agile Workplace® (ICP-ACC)
Toronto
C$2020.00
Sep 2
2020
Details
Certified Scrum Professional - ScrumMaster® (CSP-SM)
Online
C$1869.15
Sep 12
2020
Details
Certified Scrum Professional - ScrumMaster® (CSP-SM)
Online
C$1869.15
Sep 26
2020
Details
Professional Scrum Master® (PSM I) [Virtual Learning]
Online
C$1296.25
Sep 29
2020
Details
Kanban System Design® (KMP I) [Virtual Learning]
Online
C$1525.75
Sep 30
2020
Details
Certified Scrum Professional - ScrumMaster® (CSP-SM)
Online
C$1869.15
Oct 3
2020
Details
Licensed Scrum Master Product Owner® (LSMPO) [Virtual Learning]
Online
C$1695.75
Oct 13
2020
Details
Coach Skills for the Agile Workplace® (ICP-ACC)
Toronto
C$2020.00
Nov 2
2020
Details
Certified Scrum Professional - ScrumMaster® (CSP-SM)
Online
C$1869.15
Nov 14
2020
Details
Kanban System Design® (KMPI) [Virtual Learning]
Online
C$1525.75
Nov 19
2020
Details
Kanban Systems Improvement® (KMPII) [Virtual Learning]
Online
C$1525.75
Nov 26
2020
Details
Certified Scrum Professional - ScrumMaster® (CSP-SM)
Online
C$1869.15
Nov 28
2020
Details