Project management is a crucial and often maligned discipline. In the software world, project management is mainly about coordinating the efforts of many people to achieve common goals. It has been likened to herding cats – a thankless undertaking that seems to engender little or no respect from the teams who are being managed. This eMag examines where and how project management fits in agile.
Estimation is often considered to be a black art practiced by magicians using strange rituals. It is one of the most controversial of activities in Agile projects – some maintain that even trying to estimate agile development is futile at best and dangerous at worst. We selected articles which present ways of coming up with estimates as well as some that argue for alternate approaches.
Once we start thinking about either of these issues, we inevitably start to think about breaking up our monolithic application into smaller components and we begin to see the phrase “Service Oriented Architecture” cropping up as the solution to all of our troubles, and who doesn’t like a silver bullet?
The Flux Architecture shows one effective way to achieve this. While in a React.js context, the pattern is essentially framework agnostic (and I'm sure that people have been doing this before Facebook).
Instead of a simple event bus, you implement something what Flux calls a Dispatcher.
A dispatcher is pretty much an event bus, but you can (optionally) enforce in what sequence the event is "dispatched" to its listeners.
Management can get the feeling of losing control when their enterprise adopts agile and starts deploying self-organizing teams. Procedures, review boards and consultation bodies can become superfluous when switching to an agile approach, but they may not realize that, says Marcel Heijmans. Trying to regain control with additional planning can make things worse, causing "death by planning".
Lyft, a ridesharing start-up, replaced Puppet with SaltStack as its infrastructure configuration management tool. Ansible was the other contender as Ryan Lane, a Lyft engineer, explained in his recent article. In the end, SaltStack came on top when Lyft considered each tool's ease of use, maturity, performance and the surrounding community.
Some great articles on this topic are already out there, including “Memorizing a Programming Language Using Spaced Repetition Software” by Derek Sivers and “Janki Method” by Jack Kinsella. Mattan Griffel shares best practices that he discovered from using spaced repetition to learn and master a programming language.
Jez Humble presents some observations on plant floor engineering and operations, deriving the behaviors, rituals and processes that are essential to fast flow in software development. (audio quality is degraded from the 26m mark for 14m)
We want faster websites, and browsers are helping us get there—searching for patterns, analyzing behaviors, and guessing where users might click next. But we know our sites and users best, and we can use that insight to proactively nudge browsers along. Predictive browsing queues up resources before users even ask for them, creating a faster, more seamless experience. Santiago Valdarrama looks at the benefits and costs of three prebrowsing techniques at our disposal.